サーバの構築を簡単にするためのステップ (その4)
2007/08/02 17:30 posted by kunkichi
前回の続き。
PXEブート対応のNICがないということで、完全な無人インストールはできないということだったのだけど、BIOSの設定を見直してみるとありました、、、調査不足、俺、orz
ということで早速設定変更してやってみました。
4. PXEブートで起動。全てのデータをネットワーク上に置く。
まず、PXEブートに対応しているNICがついていてBIOS設定で有効にしておくことが大前提。
まずインストール対象のサーバがインストールプログラムをネットワークから取得できるようにtftpサーバを立てる。
# yum install tftp-server
tftpサーバはxinetd越しに起動するのでxinetdも併せてインストールされると思います。ただしデフォでは無効になっているので、これを有効にする。
# chkconfig xinetd on修正後、xinetdのリスタートもお忘れなく。
# chkconfig tftp on
# service xinetd restart
次にPXEブート用のブートイメージをCD/DVDからtftpで公開しているディレクトリにコピー。
# mkdir /tftpboot/linux-install
# cp -pi /export/nfs/iso/images/pxeboot/initrd.img /tftpboot/linux-install/.
# cp -pi /export/nfs/iso/images/pxeboot/vmlinuz /tftpboot/linux-install/.
次にPXEブート用のブートローダであるpxelinux.0をtftpで公開しているディレクトリにコピー。
# cp -pi /usr/lib/syslinux/pxelinux.0 /tftpboot/linux-install/.
PXEブート用の設定ファイルを作成する。pxelinux.0と同じ階層にpxelinux.cfg というディレクトリを作成し配下にdefaultという名前でファイルを作成する。
# mkdir /tftpboot/linux-install/pxelinux.cfg
中身はこんな感じで。
default centos5
prompt 0
label centos5
kernel vmlinuz
append ks=nfs:192.168.0.254:/export/nfs/ks/ load initrd=initrd.img devfs=nomount
で、最後にdhcpd.confの設定変更。これまではDHCPでIP取得と併せてキックスターと設定ファイルのパスを取得していたのだけど、PXEブートではIP取得と併せてまずブートローダを取得しないといけないので、DHCPではブートローダのファイル名を渡すようにする。そのかわり、PXEブート用設定ファイルの中でブートローダの引数にキックスタートファイルのパスを指定する、ということかな。
filename "/export/nfs/ks/"; これを
filename "/linux-install/pxelinux.0";に変更して、DHCPを再起動する。
# service dhcpd restartでサーバの電源をオン。
これで終了〜。ブートCD/DVDのメディアもいらないし、起動時のプロンプトも入力する必要なし、電源入れるだけで勝手にインストールが始まります。
ちなみにうちの余っていたDELLのデスクトップ(CPU: Pen3 1GHz、MEM: 512MB)で試してみた感じでは、トータル15分程度で完了。これはマシンスペックやネットワークの帯域、あとインストールするパッケージ数にもよると思うだけど、
最近のマシンはCPUもディスクも早いと思うのでもっと短くなるかもしれないね。






コメント&トラックバック
トラックバックURL: