第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 サーバーからインストールイメージをダウンロードします。
他のインストール方法とは異なり、インストールを開始するためにクライアント (インストール先のシステム) に物理的な起動メディアを挿入する必要はありません。本章では、ネットワークからのインストールの準備に必要となるステップを説明します。
ネットワークインストールの準備として次の手順を実行してください。
- ネットワークサーバー(
NFS
、HTTPS
、HTTP
、またはFTP
)を設定して、インストールツリーまたはインストール ISO イメージをエクスポートします。設定を記述する手順は、「インストールソース - ネットワーク」 を参照してください。 - ネットワークブートに必要な 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/pxelinuxpxelinux/
ディレクトリーにpxelinux.cfg/
ディレクトリーを作成します。#
mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfgdefault
という名前の設定ファイルをpxelinux.cfg/
ディレクトリーに追加します。/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/pxelinux/images/RHEL-release_number/
ディレクトリーを使用します。#
mkdir -p /var/lib/tftpboot/pxelinux/images/RHEL-7.1/#
cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/images/RHEL-release_number/- 最後に、サービスを開始して有効にします。
dhcpd
サービス:# systemctl start dhcpd # systemctl enable dhcpd
- tftpd サービスを管理する
xinetd
サービス:# systemctl start xinetd # systemctl enable xinetd
この手順を完了すると、PXE ブートサーバーが PXE クライアントにサービスを提供できるようになります。Red Hat Enterprise Linux をインストールするシステムを起動し、ブートソースを指定するように求められたら PXE ブート を選択して、ネットワークインストールを開始できます。詳細は、「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"; } } }
- これで、shim パッケージの
shim.efi
ファイルと、ISO イメージファイルの grub 2-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 ブート を選択して、ネットワークインストールを開始できます。詳細は、「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
設定でどのファイルをファイル名
として設定する必要があるかについて通知します。これは、本手順でさらに重要になります。 - 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を参照してください。