PXE
仕事で使いそうなので、専用のサーバーを作る。
久しぶりにやってみるとはまる。且つOSのバージョンが運が悪くて時間がかかった。備忘録ついでに。
rpmであるかないか確認して、なければyumで入れておく。
tftp-server
dhcp-server
syslinuxはバージョンではまることが多い。fedora6なんかではデフォで入っているものが上手く機能せず(且つyumで入れるものも機能しない。)多く時間ロスになる。自分で入れた方が確実。
http://www.kernel.org/pub/linux/utils/boot/syslinux/RPMS/i386/
たまにmtoolsが必要と言われるが、それはyumで入れてOK。3.53以上が良いみたい。
http://memolet.blog22.fc2.com/blog-entry-786.html
centosのisoを取ってくる。
http://www.centos.org/
以上で準備は完了。後は設定。
tftp
vi /etc/xinetd.d/tftp
service tftp
{
(省略)
disable = no ←「yes」を「no」に変更
(省略)
}
xinetd を再起動
service xinetd restart
tftp用のディレクトリを掘る
cd /tftpboot
mkdir linux-install
cd linux-install
mkdir pxelinux.cfg
cd pxelinux.cfg
vi default
(内容)
default centos5
label centos5
kernel vmlinuz
append load initrd=initrd.img devfs=nomount
ディレクトリにイメージを展開。
# mkdir /mnt/iso
# mount -t iso9660 -o loop /tmp/centos.iso /mnt/iso
# cp /mnt/iso/images/pxeboot/vmlinuz /tftpboot/linux-install
# cp /mnt/iso/images/pxeboot/initrd.img /tftpboot/linux-install
dhcpの設定
vi /etc/dhcpd.conf
(内容)
subnet 192.168.0.0 netmask 255.255.255.0 { ←自分の環境に合わせる
(省略)
filename "/linux-install/pxelinux.0"; ←追加
}
(内容2 詳しくは)
ddns-update-style interim;
ignore client-updates;
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1; ←デフォルトゲートウェイ
option subnet-mask 255.255.255.0; ←ネットマスク
option domain-name "example.jp"; ←ドメイン名
option domain-name-servers 192.168.1.1; ←DNSサーバ
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 192.168.0.128 192.168.0.255; ←割り当てるIPアドレスの範囲
default-lease-time 21600; ←クライアントが期限を求めない場合の割り当て期間(秒)
max-lease-time 43200; ←クライアントが期限を求めた場合の最大割り当て期間(秒)
}
に加筆する。
dhcpの再起動。
service dhcpd restart
NFSの設定
vi /etc/exports
(内容)
/mnt/iso 192.168.0.0/255.255.255.0(rw,async)
恒常的にPXEサーバーにするならセキュアなネットワーク上で
chkconfig --level 345 nfs on
chkconfig --level 345 dhcpd on
にする。ルーターのDHCPはコリジョンするので外しておく。
これでサーバーの作成はおしまい。
クライアントはPXE対応のものをネットワークに接続してBIOSで「ネットワーク・LAN」を一番上に上げておく。
後は自動で起動していくはず。
bootのプロンプトが出たら
vmlinuz initrd=initrd.img
と入力するとイメージがロードされる。言語を選択してNFSを選択。NFSサーバーのIPを入力・NFSディレクトリを/mnt/isoにすれば自動でGUIインストールが開くようになる。後はDVDなどのディスクからのインストールと同じ。
クラスタを作成したりするときに便利かもしれない。CPUだけ使う場面ならディスクレスも良い選択しかもしれない。その場合はPXEサーバーをRAIDなり、サービスをDRBDで冗長化しておくと便利かもしれない。(個人的にはディスクを持っている方が好きだけれど。)
出展はここ。いつもながら過去の先人達に感謝。
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/710pxeserver.html
http://mitty.jp/pc/networkboot/