RHEL や CentOS の ISO イメージを使ったネットワークインストールの 方法をかいつまんで説明
(1) DHCP サーバの設定 インストール対象の機器が PXE ブートするように DHCP サーバの設定をする.
/etc/dhcpd.conf に記述する主な行
subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.10 192.168.1.20; } host linuxinst { hardware ethernet XX:XX:XX:XX:XX:XX; fixed-address 192.168.1.10; option host-name "linuxinst"; option vendor-class-identifier "PXEClient"; option vendor-encapsulated-options 01:04:00:00:00:00; filename "/linux-install/pxelinux.0"; option root-path "/tftpboot"; }
(2) TFTP サーバの設定 xinetd の設定(/etc/xinetd.d/tftp はデフォルトのままで大丈夫なはず)
ネットワークブート時に読み込まれるファイルを所定の場所に置く.
# mkdir /tftpboot/linux-install # cd /tftpboot/linux-install # cp /usr/lib/syslinux/pxelinux.0 .
Linux のカーネル,RAM ディスクをインストール DVD の ISO ファイルから 取出し,所定の場所に置く.
# mount -o loop,ro rhel-server-5.6-x86_64-dvd.iso /mnt # mkdir /tftpboot/linux-install/rhel5 # cd /mnt/images/pxeboot # cp initrd.img vmlinuz /tftpboot/linux-install/rhel5
(ここでコピーする vmlinuz, initrd.img が読み込める ISO イメージは 上で利用した ISO イメージだけなので,インストールする OS の ISO イメージを 使うこと. つまり,他のバージョンでの使い回しが効かない. そのため,複数のバージョンを使い分けるのであれば, 2行めのディレクトリ作成(mkdir /tftpboot/linux-install/rhel5)の部分を バージョンごとに分けてやればいいだろう)
ブートメニューを作成する.
# cd /tftpboot/linux-install # mkdir pxelinux.cfg # cd pxelinux.cfg # vi default default RHEL5.6 prompt 1 timeout 10 label RHEL5.6 menu label ^RHEL5.6 kernel /rhel5/vmlinuz append method=nfs:192.168.0.2:/export/rhel56 initrd=/rhel5/initrd.img
ここでは default という名前でインストール対象のサーバ共通の 設定としたが,MAC アドレスで設定を分けることもできる. その場合には 01-XX-XX-XX-XX-XX-XX-XX-XX という風に 対象の機器の MAC アドレスに "01-" をつけた名前でファイルを 作成してやればよい.
ファイルの内容は default のものと同じ形式でよい.
先の設定で指定した NFS サーバ method=nfs:192.168.0.2:/export/rhel56 に ISO ファイルを置いてやる.
先にも記述したが,ネットワークブートで利用する vmlinuz, initrd.img と ISO イメージは対になっていないといけないことに注意する.
NFS エクスポートの設定は割愛する.
BIOS のメニューなどから PXE によるネットワークブートを選択すれば, インストーラが起動する.
途中,キャラクタベースで言語とキーボード設定を聞かれる.
言語設定では JP を選んでも US になってしまうが支障はない.
あとは通常通りのインストールとなる.