Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
第24章 ネットワークからのインストールの準備
インストールサーバーを使ったネットワークインストールでは、ネットワークブート サーバーを使って複数のシステムに Red Hat Enterprise Linux をインストールすることができます。この方法では、PXE インストール設定されたシステムはすべてこのサーバーによって提供されるイメージを使用して起動し、インストールプログラムを自動的に開始します。
注記
Red Hat Satellite では、PXE サーバーの設定を自動化する機能があります。詳細は、 Red Hat Satellite のドキュメント を参照してください。
ネットワークからのインストールには、少なくとも以下の 2 つのシステムが必要になります。
- サーバー: DHCP サーバー、起動ファイルを提供する TFTP サーバー、およびインストールイメージを格納している HTTP、FTP もしくは NFS サーバーを稼働するシステム。理論的には、これら各サーバーは別個のシステム上で稼働することが可能です。本セクションの手順では便宜上、単一のシステムがこれらすべてのサーバーを稼働していることとします。
- クライアント: Red Hat Enterprise Linux のインストール先となるシステム。インストールが開始されると、クライアントは DHCP サーバーにクエリを行い、TFTP サーバーから起動ファイルを取得し、HTTP、FTP または NFS サーバーからインストールイメージをダウンロードします。
他のインストール方法とは異なり、インストールを開始するためにクライアント (インストール先のシステム) に物理的な起動用メディアを挿入する必要はありません。本章では、ネットワークからのインストールの準備に必要となるステップを説明します。
ネットワークインストールの準備として次の手順を実行してください。
- インストールツリーまたはインストール ISO イメージをエクスポートするためのネットワークサーバー (
NFS
、HTTPS
、HTTP
、またはFTP
) を設定します。設定の手順については、「インストールソース - ネットワーク」を参照してください。 - tftp サーバー上のファイルでネットワーク起動に必要な設定を行い、
DHCP
を設定してから PXE サーバー上でtftp
サービスを開始します。詳細は、「ネットワークブートサービスの設定」を参照してください。重要
GRUB2 ブートローダーは、tftp サーバーからのネットワークブートとは別に、HTTP
もサポートしています。ただし、このプロトコルによる起動ファイル (カーネルおよびインストーラー用初期 RAM ディスク) の取得は時間がかかり、タイムアウトになるリスクがあります。起動ファイルの取得には tftp サーバーを使用することが推奨されます。この注意点が適用されるのは、カーネルと初期 RAM ディスク (vmlinuz
およびinitrd
) のみです。インストールソース をHTTP
サーバーから取得する際には、このリスクはありません。 - クライアント (Red Hat Enterprise Linux をインストールするシステム) を起動し、インストールを開始します。
注記
本章の手順では、Red Hat Enterprise Linux 7 上にネットワーク起動サーバーを設定する方法を説明しています。以前の Red Hat Enterprise Linux リリースでネットワークからの起動を設定する方法については、各リリースの『インストールガイド』を参照してください。
24.1. ネットワークブートサービスの設定
インストールで使用するパッケージリポジトリーが収納されたネットワークサーバーの設定が完了したら、次は PXE サーバー自体を設定します。このサーバーには、Red Hat Enterprise Linux の起動とインストールの開始に必要なファイルが含まれます。さらに
DHCP
サーバーの設定も必要になります。また、必要なサービスをすべて有効化して開始する必要があります。
注記
Red Hat Enterprise Linux をインストールする AMD64 システムまたは Intel 64 システムが BIOS と UEFI のどちらを使用しているかによって、ネットワーク起動の設定手順が異なります。ご使用のシステムがどちらを使用しているかを製造元が提供する説明書でご確認の上、該当する手順に従ってください。
GRUB2 ブートローダーを使ってネットワークの場所から IBM Power Systems を起動する場合は、別途記載の手順に従ってください。詳細は、「GRUB2 を使用した IBM Power Systems 向けネットワーク起動の設定」を参照してください。
ヘッドレスシステム (ディスプレイ、キーボード、マウスが直接接続されていないシステム) で使用するためのネットワークブートサーバーの設定に関する詳細情報は、「26章ヘッドレスシステム」を参照してください。
24.1.1. BIOS ベースの AMD64 と Intel 64 クライアント向け TFTP サーバーの設定
以下の手順では、BIOS ベースの AMD64 および Intel 64 システムの起動用の PXE サーバーの準備について説明しています。UEFI ベースのシステムについては、「UEFI ベースの AMD64/Intel 64 および ARM クライアント向け TFTP サーバーの設定」を参照してください。
手順24.1 BIOS ベースのシステム向けに TFTP ブートサーバーを設定する
- tftp-server パッケージをインストールします。
root
で以下のコマンドを実行します。#
yum install tftp-server
tftp
サービスへの全受信をファイアウォールで許可します。#
firewall-cmd --add-service=tftp
注記
上記のコマンドが有効にするのは、次回のサーバー再起動までのアクセスのみです。永続的にアクセスを許可するには、--permanent
オプションを追加します。ファイアウォール設定についての詳細は、『Red Hat Enterprise Linux 7 セキュリティーガイド』を参照してください。- SYSLINUX に同梱されている起動イメージを使用するように
DHCP
サーバーを設定します。DHCP サーバーがインストールされていない場合は、『Red Hat Enterprise Linux 7 ネットワークガイド』を参照してください。/etc/dhcp/dhcpd.conf
ファイルの設定例を以下に示します。option space pxelinux; option pxelinux.magic code 208 = string; option pxelinux.configfile code 209 = text; option pxelinux.pathprefix code 210 = text; option pxelinux.reboottime code 211 = unsigned integer 32; option architecture-type code 93 = unsigned integer 16; subnet 10.0.0.0 netmask 255.255.255.0 { option routers 10.0.0.254; range 10.0.0.2 10.0.0.253; class "pxeclients" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 10.0.0.1; if option architecture-type = 00:07 { filename "uefi/shim.efi"; } else { filename "pxelinux/pxelinux.0"; } } }
- 次に、完全インストール DVD の ISO イメージファイル内にある SYSLINUX パッケージの
pxelinux.0
ファイルが必要になります。このファイルにアクセスするには、次のコマンドを root で実行します。#
mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
#
cp -pr /mount_point/Packages/syslinux-version-architecture.rpm /publicly_available_directory
#
umount /mount_point
パッケージを抽出します。#
rpm2cpio syslinux-version-architecture.rpm | cpio -dimv
tftpboot/
内にpxelinux/
ディレクトリーを作成し、pxelinux.0
ファイルをそこにコピーします。#
mkdir /var/lib/tftpboot/pxelinux
#
cp publicly_available_directory/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux
pxelinux/
ディレクトリー内にpxelinux.cfg/
ディレクトリーを作成します。#
mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
pxelinux.cfg/
ディレクトリーにdefault
という名前の設定ファイルを追加します。/var/lib/tftpboot/pxelinux/pxelinux.cfg/default
にあるサンプルの設定ファイルは以下のようになります。default vesamenu.c32 prompt 1 timeout 600 display boot.msg label linux menu label ^Install system menu default kernel images/RHEL-7.1/vmlinuz append initrd=images/RHEL-7.1/initrd.img ip=dhcp inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.x/Server/x86_64/os/ label vesa menu label Install system with ^basic video driver kernel images/RHEL-7.1/vmlinuz append initrd=images/RHEL-7.1/initrd.img ip=dhcp inst.xdriver=vesa nomodeset inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.x/Server/x86_64/os/ label rescue menu label ^Rescue installed system kernel images/RHEL-7.1/vmlinuz append initrd=images/RHEL-7.1/initrd.img rescue label local menu label Boot from ^local drive localboot 0xffff
重要
上記の例で示されているinst.repo=
Anaconda オプションでは、常にインストールソースに加えてインストールプログラムのイメージを指定する必要があります。このオプションを使用しないと、インストールプログラムは起動できなくなります。Anaconda の起動オプションに関する詳細は、「ブートメニューによるインストールシステムの設定」を参照してください。- ブートイメージファイルを格納するサブディレクトリーを
/var/lib/tftpboot/
ディレクトリーに作成し、ブートイメージファイルをそのディレクトリーにコピーします。この例では、/var/lib/tftpboot/images/RHEL-7.1/
ディレクトリーを使用します。#
mkdir -p /var/lib/tftpboot/images/RHEL-7.1/
#
cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/images/RHEL-7.1/
- 最後に、サービスを開始して有効にします。
dhcpd
については、以下を実行します。# systemctl start dhcpd # systemctl enable dhcpd
- tftpd サービスを管理する
xinetd
サービスについては、以下を実行します。# systemctl start xinetd # systemctl enable xinetd
この手順を完了すると、PXE ブートサーバーが PXE クライアントにサービスを提供できるようになります。Red Hat Enterprise Linux をインストールするシステムを開始します。起動ソースの指定を求められたら PXE Boot を選択して、ネットワークインストールを開始します。詳細は、「PXE を使ったネットワークからの起動」を参照してください。
24.1.2. UEFI ベースの AMD64/Intel 64 および ARM クライアント向け TFTP サーバーの設定
以下の手順では、UEFI ベースの AMD64/Intel 64 および ARM システムの起動用の PXE サーバーの準備について説明しています。BIOS ベースのシステムについては、「BIOS ベースの AMD64 と Intel 64 クライアント向け TFTP サーバーの設定」を参照してください。
手順24.2 UEFI ベースのシステム向けに TFTP での起動を設定する
注記
Red Hat Enterprise Linux 7 UEFI PXE ブートは、MAC ベースの grub メニューファイルの小文字のファイル形式を対応します。たとえば、grub2 の MAC アドレスファイル形式は、
grub.cfg-01-aa-bb-cc-dd-ee-ff
です。
- tftp-server パッケージをインストールします。
root
で以下のコマンドを実行します。#
yum install tftp-server
tftp
サービスへの全受信をファイアウォールで許可します。#
firewall-cmd --add-service=tftp
注記
上記のコマンドが有効にするのは、次回のサーバー再起動までのアクセスのみです。永続的にアクセスを許可するには、--permanent
オプションを追加します。ファイアウォール設定についての詳細は、『Red Hat Enterprise Linux 7 セキュリティーガイド』を参照してください。- shim に同梱されている EFI 起動イメージを使用するように
DHCP
サーバーを設定します。DHCP サーバーがインストールされていない場合は、『Red Hat Enterprise Linux 7 ネットワークガイド』を参照してください。/etc/dhcp/dhcpd.conf
ファイルの設定例を以下に示します。option space pxelinux; option pxelinux.magic code 208 = string; option pxelinux.configfile code 209 = text; option pxelinux.pathprefix code 210 = text; option pxelinux.reboottime code 211 = unsigned integer 32; option architecture-type code 93 = unsigned integer 16; subnet 10.0.0.0 netmask 255.255.255.0 { option routers 10.0.0.254; range 10.0.0.2 10.0.0.253; class "pxeclients" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 10.0.0.1; if option architecture-type = 00:07 { filename "shim.efi"; } else { filename "pxelinux/pxelinux.0"; } } }
- 次に、ISO イメージファイル内にある shim パッケージの
shim.efi
ファイルと grub2-efi パッケージのgrubx64.efi
ファイルが必要になります。これらのファイルにアクセスするには次のコマンドを root で実行します。#
mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
#
cp -pr /mount_point/Packages/shim-version-architecture.rpm /publicly_available_directory
#
cp -pr /mount_point/Packages/grub2-efi-version-architecture.rpm /publicly_available_directory
#
umount /mount_point
パッケージを抽出します。#
rpm2cpio shim-version-architecture.rpm | cpio -dimv
#
rpm2cpio grub2-efi-version-architecture.rpm | cpio -dimv
- ブートディレクトリーから EFI ブートイメージをコピーします。
#
cp publicly_available_directory/boot/efi/EFI/redhat/shim.efi /var/lib/tftpboot/
#
cp publicly_available_directory/boot/efi/EFI/redhat/grubx64.efi /var/lib/tftpboot/
grub.cfg
という名前の設定ファイルをtftpboot/
ディレクトリーに追加します。/var/lib/tftpboot/grub.cfg
の設定ファイルの例を以下に示します。set timeout=60 menuentry 'RHEL 7' { linuxefi images/RHEL-7.1/vmlinuz ip=dhcp inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.1/Server/x86_64/os/ initrdefi images/RHEL-7.1/initrd.img }
重要
上記の例で示されているinst.repo=
Anaconda オプションでは、常にインストールソースに加えてインストールプログラムのイメージを指定する必要があります。このオプションを使用しないと、インストールプログラムは起動できなくなります。Anaconda の起動オプションに関する詳細は、「ブートメニューによるインストールシステムの設定」を参照してください。- ブートイメージファイルを格納するサブディレクトリーを
/var/lib/tftpboot/
ディレクトリーに作成し、ブートイメージファイルをそのディレクトリーにコピーします。この例では、/var/lib/tftpboot/images/RHEL-7.1/
ディレクトリーを使用します。#
mkdir -p /var/lib/tftpboot/images/RHEL-7.1/
#
cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/images/RHEL-7.1/
- 最後に、サービスを開始して有効にします。
dhcpd
については、以下を実行します。# systemctl start dhcpd # systemctl enable dhcpd
- tftpd サービスを管理する
xinetd
サービスについては、以下を実行します。# systemctl start xinetd # systemctl enable xinetd
この手順を完了すると、PXE ブートサーバーが PXE クライアントにサービスを提供できるようになります。Red Hat Enterprise Linux をインストールするシステムを開始します。起動ソースの指定を求められたら PXE Boot を選択して、ネットワークインストールを開始します。詳細は、「PXE を使ったネットワークからの起動」を参照してください。
24.1.3. GRUB2 を使用した IBM Power Systems 向けネットワーク起動の設定
手順24.3 GRUB2 を使って IBM Power Systems 向けにネットワーク起動サーバーを設定する
- tftp-server パッケージをインストールします。
root
で以下のコマンドを実行します。#
yum install tftp-server
tftp
サービスへの全受信をファイアウォールで許可します。#
firewall-cmd --add-service=tftp
注記
上記のコマンドが有効にするのは、次回のサーバー再起動までのアクセスのみです。永続的にアクセスを許可するには、--permanent
オプションを追加します。ファイアウォール設定についての詳細は、『Red Hat Enterprise Linux 7 セキュリティーガイド』を参照してください。- tftp のルート内に GRUB2 ネットワーク起動ディレクトリーを作成します。
#
grub2-mknetdir --net-directory=/var/lib/tftpboot
Netboot directory for powerpc-ieee1275 created. Configure your DHCP server to point to /boot/grub2/powerpc-ieee1275/core.elfこのコマンドの出力では、DHCP
設定内でfilename
として設定する必要のあるファイルが指示されます。これはこの手順の後で重要なものです。 - GRUB2 設定ファイルである
/var/lib/tftpboot/boot/grub2/grub.cfg
を作成します。grub.cfg
の構文については、『Red Hat Enterprise Linux 7 システム管理者のガイド』を参照してください。以下は設定ファイルの例になります。set default=0 set timeout=5 echo -e "\nWelcome to the Red Hat Enterprise Linux 7 installer!\n\n" menuentry 'Red Hat Enterprise Linux 7' { linux grub2-ppc64/vmlinuz ro ip=dhcp inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.6-Beta/Server/ppc64/os/ initrd grub2-ppc64/initrd.img }
重要
上記の例で示されているinst.repo=
Anaconda オプションでは、常にインストールソースに加えてインストールプログラムのイメージを指定する必要があります。このオプションを使用しないと、インストールプログラムは起動できなくなります。Anaconda の起動オプションに関する詳細は、「ブートメニューによるインストールシステムの設定」を参照してください。 - GRUB2 に同梱されている起動イメージを使用するように
DHCP
サーバーを設定します。DHCP サーバーがインストールされていない場合は、『Red Hat Enterprise Linux 7 ネットワークガイド』を参照してください。/etc/dhcp/dhcpd.conf
ファイルの設定例を以下に示します。subnet 192.168.0.1 netmask 255.255.255.0 { allow bootp; option routers 192.168.0.5; group { #BOOTP POWER clients filename "boot/grub2/powerpc-ieee1275/core.elf"; host client1 { hardware ethernet 01:23:45:67:89:ab; fixed-address 192.168.0.112; } } }
サンプルのパラメーター (subnet
,netmask
,routers
,fixed-address
およびhardware ethernet
) を使用中のネットワーク設定のものに置き換えます。また、filename
のパラメーターは、上記の手順のgrub2-mknetdir
コマンドの出力にあるファイル名になります。 - 最後に、サービスを開始して有効にします。
dhcpd
については、以下を実行します。# systemctl start dhcpd # systemctl enable dhcpd
- tftpd サービスを管理する
xinetd
サービスについては、以下を実行します。# systemctl start xinetd # systemctl enable xinetd
この手順を完了すると、PXE ブートサーバーが PXE クライアントにサービスを提供できるようになります。「12章IBM Power Systems でのインストールの起動」にあるステップに従って、このサーバーから Power Systems クライアントの起動ができます。
IBM Power Systems クライアント向けにネットワーク起動を設定する詳細情報については、IBM DeveloperWorks ウェブサイトの「Netbooting on POWER - An Introduction」を参照してください。
このページには機械翻訳が使用されている場合があります (詳細はこちら)。