Rocky Linux 9でPXEサーバを構築します。
記事の目次
TFTPサーバを構築する!
以下の記事を参照して、TFTPサーバを構築します。
DHCPサーバを構築する!
以下の記事を参照して、DHCPサーバを構築します。
# cat /etc/dhcp/dhcpd.conf ... subnet 10.1.0.0 netmask 255.255.0.0 { range dynamic-bootp 10.1.251.1 10.1.251.254; option broadcast-address 10.1.255.255; option routers 10.1.0.1; filename "/pxeboot/pxelinux.0"; }
PXEのブートローダをインストールする!
PXEのブートローダをインストールします。
# dnf install syslinux Last metadata expiration check: 3:33:27 ago on Sun 23 Apr 2023 09:59:28 AM JST. Dependencies resolved. ================================================================================================================== Package Architecture Version Repository Size ================================================================================================================== Installing: syslinux x86_64 6.04-0.20.el9 baseos 560 k Installing dependencies: mtools x86_64 4.0.26-4.el9_0 baseos 209 k syslinux-nonlinux noarch 6.04-0.20.el9 baseos 559 k Transaction Summary ================================================================================================================== Install 3 Packages ... mtools-4.0.26-4.el9_0.x86_64 syslinux-6.04-0.20.el9.x86_64 syslinux-nonlinux-6.04-0.20.el9.noarch Complete!
PXEのブートローダをコピーします。
# mkdir /var/lib/tftpboot/pxeboot # cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxeboot/
Rocky Linux 9のブートローダを配置する!
Rocky Linux 9のメディアを/tmpに転送した後、/var/lib/isoに移動し、マウントします。
# mkdir /var/lib/iso # mv /tmp/Rocky-9.1-x86_64-dvd.iso /var/lib/iso # mount -o loop,ro /var/lib/iso/Rocky-9.1-x86_64-boot.iso /mnt
Rocky Linux 9のISOの「isolinux」ディレクトリの内容をすべて以下のディレクトリコピーします。
# cp /mnt/isolinux/* /var/lib/tftpboot/pxeboot
Rocky Linux 9のISOのメディアをアンマウントします。
# umount /mnt
HTTPサーバを構築してRocky Linux 9のリポジトリを公開する!
以下の記事を参照して、HTTPサーバを構築します。
# mkdir /var/www/html/rocky-91
Rocky Linux 9のメディアを作成したディレクトリにマウントします。
# mount -o loop,ro /var/lib/iso/Rocky-9.1-x86_64-boot.iso /var/www/html/rocky-91
PXEによる起動の設定を行う!
環境に合わせて、PXEによる起動の設定ファイルを作成します。Rocky Linux 9のリポジトリを公開したURLと、Kickstartを配置したURLを間違いのないように設定します。
# mkdir /var/lib/tftpboot/pxeboot/pxelinux.cfg # cat < EOF /var/lib/tftpboot/pxeboot/pxelinux.cfg/default default vesamenu.c32 timeout 50 display boot.msg label rocky-91 menu label ^Install Rocky Linux 9.1 menu default kernel rocky-91/vmlinuz append initrd=rocky-91/initrd.img ip=dhcp inst.repo=http://10.1.21.31/rocky-91 inst.ks=http://10.1.22.1/kickstart/vmsins02.cfg
Kickstartの設定ファイルを作成する!
Kickstartの設定ファイルを作成して、WWWサーバに配置します。repoの指定をWWWサーバに変更し、cdromの指定を無効にします。今回の例では、PXEサーバと、Kickstartを配置したサーバを別にしていますが、同じWWWサーバ上にすることもできます。
# cat /var/www/html/kickstart/vmsins02.cfg ... repo --name="AppStream" --baseurl=http://10.1.21.31/rocky-91/AppStream ... #cdrom ... reboot
PXEブートする!
PXEブートすると、DHCPでアドレスが割り当てられ、自動でRocky Linux 9のインストールまで完了します。
おわりに
Rocky Linux 9では、PXEサーバを利用すると、OSのインストールまで自動で完了させることができます。
関連記事
参考書籍(Amazon)