I ♥ WordPress

サーバの構築を簡単にするためのステップ (その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
# chkconfig tftp on
修正後、xinetdのリスタートもお忘れなく。
# 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





このページの先頭へ