Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
章 21. 準備網路安裝
您可以使用「PXE」(Preboot Execution Environment)伺服器進行網路安裝,在多台系統上安裝 Red Hat Enterprise Linux。透過這種方式,伺服器會為所有系統提供映像檔,自動開始安裝。
跟其它安裝方式不同,這種方式不需要在用戶端(亦即要安裝的系統)上插入實體媒介。本章描述準備 PXE 以進行安裝的步驟。
必須執行下列的步驟來準備網路安裝:
- 啟動用戶端(您想要安裝 Red Hat Enterprise Linux 的系統)並開始安裝。詳情請見〈節 21.2, “啟用網路安裝”〉。
注意
本章的步驟描述在 Red Hat Enterprise Linux 7 系統上設定 PXE 伺服器。欲知如何在 Red Hat Enterprise Linux 的更早版本上配置 PXE,請參閱該版本的《安裝指南》。
21.1. 配置 PXE 開機
設定好網路伺服器及其套件軟體庫之後,下一步是配置 PXE 伺服器。這台伺服器將包括啟動 Red Hat Enterprise Linux 及開始安裝程序所需的檔案。除此之外,也請配置
DHCP
伺服器,並啟用、啟動所需的服務。
注意
根據您想要安裝 Red Hat Enterprise Linux 的 AMD64/Intel 64 系統所使用的是 BIOS 或 UEFI,PXE 的啟動配置過程會有所不同。請參閱您硬體的文件,看看硬體使用的是哪一種系統,並遵循本章相對應的步驟。
使用 IBM Power Systems 伺服器作為安裝系統時,會有獨立的步驟。詳情請見〈節 21.1.3, “為 IBM Power Systems 客戶端配置 PXE Server”〉。
IBM System z 並不支援 PXE 開機。
欲知如何配置 PXE 伺服器給無螢幕系統(沒有直接連接螢幕、鍵盤與滑鼠的系統)使用,請參閱〈節 22.4, “無螢幕系統的考量”〉。
21.1.1. 為 BIOS 為基礎的用戶端配置 PXE 伺服器
以下步驟會準備 PXE 伺服器給以 BIOS 為基礎的 AMD64 與 Intel 64 系統啟動用。欲知以 UEFI 為基礎的系統,請參閱〈節 21.1.2, “為 UEFI-based 客戶端啟用 PXE 伺服器”〉。
過程 21.1. 為 BIOS 為基礎的系統配置 PXE 啟動
- 安裝 tftp 套件。請以
root
身份執行以下指令:#
yum install tftp-server
- 在
/etc/xinetd.d/tftp
配置檔案中,將disabled
參數從yes
改為no
。 - 配置
DHCP
伺服器使用開機映像檔套件 SYSLINUX。如果您尚未安裝 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; 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 arch = 00:07 { filename "uefi/shim.efi"; } else { filename "pxelinux/pxelinux.0"; } } host example-ia32 { hardware ethernet XX:YY:ZZ:11:22:33; fixed-address 10.0.0.2; } }
- 您現在需要 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/
目錄中。檔名應為default
、或根據系統的 IP 位址而定。例如您電腦的 IP 位址是 10.0.0.1,檔名應為0A000001
。/var/lib/tftpboot/pxelinux/default
的範例檔案的內容近似於:default vesamenu.c32 prompt 1 timeout 600 display boot.msg label linux menu label ^Install system menu default kernel vmlinuz append initrd=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 vmlinuz append initrd=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 vmlinuz append initrd=initrd.img rescue label local menu label Boot from ^local drive localboot 0xffff
注意
您可使用兩項獨立的選項來載入安裝程式:inst.repo=
Anaconda 選項(如在先前範例中所見)。此選項能讓您載入安裝程式並同時指定安裝來源。欲取得更多有關於 Anaconda 開機選項的相關資訊,請參閱〈節 20.1, “在開機選單下配置安裝系統”〉。root=
dracut 選項。若您使用此選項,您必須指定由 Red Hat Enterprise Linux 7 開機媒介取得的initrd.img
檔案的位置。使用此選項能讓您啟動安裝程式,不過您需要以另一種方式來指定安裝來源(使用 Kickstart 檔案或在圖形安裝程式中手動指)。欲取得更多有關於 dracut 指令列選項的相關資訊,請參閱dracut.cmdline(7)
的 man page。
必須總是使用這兩項選項之一。 - 將開機映像檔複製到
tftp/
根目錄裡:#
cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/
- 透過
systemctl
指令啟用並開始使用tftp
和xinetd
服務。#
systemctl enable xinetd.service tftp.service
#
systemctl start xinetd.service tftp.service
在完成了此步驟後,PXE 伺服器便準備好使用網路安裝了。您現在已能啟動您欲安裝 Red Hat Enterprise Linux 的系統、當被提示時選擇 PXE 開機以指定開機來源,並啟用網路安裝。
21.1.2. 為 UEFI-based 客戶端啟用 PXE 伺服器
以下步驟會準備 PXE 伺服器供以 UEFI 為基礎的 AMD64 與 Intel 64 系統啟動用。欲取得更多以 BIOS 為基礎之系統上的相關資訊,請參閱〈節 21.1.1, “為 BIOS 為基礎的用戶端配置 PXE 伺服器”〉。
過程 21.2. 為以 UEFI 為基礎的系統配置 PXE 開機
- 安裝 tftp 套件。請以
root
身份執行以下指令:#
yum install tftp-server
- 在
/etc/xinetd.d/tftp
配置檔案中,將disabled
參數從yes
改為no
。 /etc/dhcp/dhcpd.conf
範例檔案的內容近似於:option space PXE; option PXE.mtftp-ip code 1 = ip-address; option PXE.mtftp-cport code 2 = unsigned integer 16; option PXE.mtftp-sport code 3 = unsigned integer 16; option PXE.mtftp-tmout code 4 = unsigned integer 8; option PXE.mtftp-delay code 5 = unsigned integer 8; option arch code 93 = unsigned integer 16; # RFC4578 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 arch = 00:07 { filename "uefi/shim.efi"; } else { filename "pxelinux/pxelinux.0"; } } host example-ia32 { hardware ethernet XX:YY:ZZ:11:22:33; fixed-address 10.0.0.2; } }
- 您現在需要 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
- 在
tftpboot/
目錄中,建立一個名為uefi/
的目錄,以供 EFI 開機映像檔使用,接著並由您的開機目錄中複製它們:#
mkdir /var/lib/tftpboot/uefi
#
cp publicly_available_directory/boot/efi/EFI/redhat/shim.efi /var/lib/tftpboot/uefi/
#
cp publicly_available_directory/boot/efi/EFI/redhat/grubx64.efi /var/lib/tftpboot/uefi/
- 將一個名為
grub.cfg
的配置檔案附加至uefi/
目錄中。一個位於/var/lib/tftpboot/uefi/grub.cfg
的範例配置檔案可能會看似:set timeout=1 menuentry 'RHEL' { linuxefi uefi/vmlinuz ip=dhcp inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.x/Server/x86_64/os/ initrdefi uefi/initrd.img }
注意
您可使用兩項獨立的選項來載入安裝程式:inst.repo=
Anaconda 選項(如在先前範例中所見)。此選項能讓您載入安裝程式並同時指定安裝來源。欲取得更多有關於 Anaconda 開機選項的相關資訊,請參閱〈節 20.1, “在開機選單下配置安裝系統”〉。root=
dracut 選項。若您使用此選項,您必須指定由 Red Hat Enterprise Linux 7 開機媒介取得的initrd.img
檔案的位置。使用此選項能讓您啟動安裝程式,不過您需要以另一種方式來指定安裝來源(使用 Kickstart 檔案或在圖形安裝程式中手動指)。欲取得更多有關於 dracut 指令列選項的相關資訊,請參閱dracut.cmdline(7)
的 man page。
必須總是使用這兩項選項之一。 - 將開機映像檔複製至您的
uefi/
目錄中:#
cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/uefi/
- 透過
systemctl
指令啟用並開始使用tftp
和xinetd
服務。#
systemctl enable xinetd.service tftp.service
#
systemctl start xinetd.service tftp.service
在完成了此步驟後,PXE 伺服器便準備好使用網路安裝了。您現在已能啟動您欲安裝 Red Hat Enterprise Linux 的系統、當被提示時選擇 PXE 開機以指定開機來源,並啟用網路安裝。
21.1.3. 為 IBM Power Systems 客戶端配置 PXE Server
以下程序將會準備 PXE 伺服器,以啟動 IBM Power Systems 伺服器。
過程 21.3. 為 IBM Power Systems 配置 PXE 開機
- 安裝 tftp 套件。請以
root
身份執行以下指令:#
yum install tftp-server
- 在
/etc/xinetd.d/tftp
配置檔案中,將disabled
參數從yes
改為no
。 /etc/dhcp/dhcpd.conf
的配置範例會看似:host bonn { filename "yaboot"; next-server 10.32.5.1; hardware ethernet 00:0e:91:51:6a:26; fixed-address 10.32.5.144; }
- 您現在需要 ISO 映像檔中,來自於 yaboot 套件的
yaboot
二進位檔案。若要存取此檔案,請以root
身分執行以下指令:#
mkdir /publicly_available_directory/yaboot-unpack
#
mount -t iso9660 /path_to_image/name_of_image.iso /mount_point -o loop,ro
#
cp -pr /mount_point/Packages/yaboot-version.ppc.rpm /publicly_available_directory/yaboot-unpack
解開套件:#
cd /publicly_available_directory/yaboot-unpack
#
rpm2cpio yaboot-version.ppc.rpm | cpio -dimv
- 在
tftpboot/
中建立yaboot
目錄,並將yaboot
的執行檔複製至此目錄中:#
mkdir /var/lib/tftpboot/yaboot
#
cp publicly_available_directory/yaboot-unpack/usr/lib/yaboot/yaboot /var/lib/tftpboot/yaboot
- 新增名為
yaboot.conf
的配置檔案到此目錄中。範例配置檔案如下:init-message = " Welcome to the Red Hat Enterprise Linux 7 installer! " timeout=60 default=rhel7 image=/rhel7/vmlinuz-RHEL7 label=linux alias=rhel7 initrd=/rhel7/initrd-RHEL7.img append="ip=dhcp inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.0/ppc64/os/" read-only
注意
您可使用兩項獨立的選項來載入安裝程式:inst.repo=
Anaconda 選項(如在先前範例中所見)。此選項能讓您載入安裝程式並同時指定安裝來源。欲取得更多有關於 Anaconda 開機選項的相關資訊,請參閱〈節 20.1, “在開機選單下配置安裝系統”〉。root=
dracut 選項。若您使用此選項,您必須指定由 Red Hat Enterprise Linux 7 開機媒介取得的initrd.img
檔案的位置。使用此選項能讓您啟動安裝程式,不過您需要以另一種方式來指定安裝來源(使用 Kickstart 檔案或在圖形安裝程式中手動指)。欲取得更多有關於 dracut 指令列選項的相關資訊,請參閱dracut.cmdline(7)
的 man page。
必須總是使用這兩項選項之一。 - 由解開的 ISO 複製開機映像檔至
tftp/
root 目錄中:#
cp /mount_point/images/ppc/ppc64/vmlinuz /var/lib/tftpboot/yaboot/rhel7/vmlinuz-RHEL7
#
cp /mount_point/images/ppc/ppc64/initrd.img /var/lib/tftpboot/yaboot/rhel7/initrd-RHEL7.img
- 藉由移除
yaboot-unpack/
目錄並卸載 ISO 來進行清除:#
rm -rf /publicly_available_directory/yaboot-unpack
#
umount /mount_point
- 透過
systemctl
指令啟用並開始使用tftp
和xinetd
服務。#
systemctl enable xinetd.service tftp.service
#
systemctl start xinetd.service tftp.service
在完成了此步驟後,PXE 伺服器便準備好使用網路安裝了。您現在已能啟動您欲安裝 Red Hat Enterprise Linux 的系統、當被提示時選擇 PXE 開機以指定開機來源,並啟用網路安裝。