CDイメージを落としてインストールすればいいんだけど、CDが何枚にもなるし、ダウンロードするのもめんどくさい。
だから、ネットワークインストールを試してみることにした。
ネットワークインストールの環境を整えることができるのが、Cobbler(http://cobbler.et.redhat.com/)というもの。
Cobblerを使えば、様々なディストリビューションをネットワークインストールすることが可能になる。
CobblerをインストールしてCentOS5.2をノートPCに導入する。
- Cobblerに必要なパッケージをインストール
- Cobblerのインストール
- 設定ファイルの編集
- デーモンの起動
- ISOイメージのコピーとインポート
今回は、CentOS5.2がインストールされているPCにCobblerをインストールする。Cobblerで必要なパッケージのうち下記のものはyumでインストールすることができる。
・yum-utils
・createrepo
・python-setuptools
・tftp-server
・httpd
・dhcp
他にpython-cheetahというテンプレートエンジン(?)をインストールする必要がある。
EPELというyumリポジトリを有効にすればpython-cheetahもcobblerもyumでインストールできるが、僕がやったときは503とか返されてうまくいかなかった。
もしかして安定してないのだろうか。
結局はrpmをダウンロードしてインストールすることにした。
ダウンロードするrpmは結局EPELのものを利用することになったみたいだ。
# wget ftp://rpmfind.net/linux/EPEL/5Client/i386/python-cheetah-2.0.1-1.el5.i386.rpm
# rpm -ivh python-cheetah-2.0.1-1.el5.i386.rpm
# rpm -ivh python-cheetah-2.0.1-1.el5.i386.rpm
ここまできたらCobblerをインストールする。
ここからCobblerのtar.gzもしくはsrc.rpmをダウンロードできる。
rpmの方が何かと楽なのでsrc.rpmからリビルドしてrpmを作成してインストール。
# wget http://cobbler.et.redhat.com/download/cobbler-1.0.3-1.src.rpm
# rpmbuild --rebuild cobbler-1.0.3-1.src.rpm
# mv /usr/src/redhat/RPMS/noarch/cobbler-1.0.3-1.noarch.rpm .
# rpm -ivh cobbler-1.0.3-1.noarch.rpm
# rpmbuild --rebuild cobbler-1.0.3-1.src.rpm
# mv /usr/src/redhat/RPMS/noarch/cobbler-1.0.3-1.noarch.rpm .
# rpm -ivh cobbler-1.0.3-1.noarch.rpm
まず、tftpサーバを有効にする。
有効にするためには/etc/xinet.d/tftpのdisableを削除する。
編集後は下記のようになる。
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
per_source = 11
cps = 100 2
flags = IPv4
}
編集したら/etc/init.d/xinetd restartでxinetdを再起動する。
DHCPサーバの設定ファイルはCobblerで編集されるため今の時点でバックアップをとっておく。
# cp /etc/dhcpd.conf /etc/dhcpd.conf.default
次にCobblerの設定を行う。
/etc/cobbler/settingを以下のとおりに編集する。
・text:~を削除:グラフィカルモードを使用
・next_server <IPアドレス>:TFTPサーバのIPアドレスを指定。今回の場合は自分のIPアドレス
・server <IPアドレス>:イメージ配布サーバーのIPアドレス
・manage_dhcp 1:DHCPサーバをCobblerで管理
・next_server <IPアドレス>:TFTPサーバのIPアドレスを指定。今回の場合は自分のIPアドレス
・server <IPアドレス>:イメージ配布サーバーのIPアドレス
・manage_dhcp 1:DHCPサーバをCobblerで管理
次にDHCPサーバの設定を行う。
DHCPサーバの設定ファイルを直接編集するのではなく、CobblerのDHCPサーバ設定ファイルのテンプレートの/etc/cobller/dhcp.templateを編集する。
subnet 192.168.100.0 netmask 255.255.255.0 {
option routers 192.168.100.1;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.100.101 192.168.100.254;
filename "/pxelinux.0";
default-lease-time 21600;
max-lease-time 43200;
next-server $next_server;
}
option routers 192.168.100.1;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.100.101 192.168.100.254;
filename "/pxelinux.0";
default-lease-time 21600;
max-lease-time 43200;
next-server $next_server;
}
Cobblerデーモン、DHCP、HTTPの起動を行う。
その際にDHCPサーバの設定ファイルを生成する必要がある。
# /etc/init.d/cobblerd start
# cobller sync
# /etc/init.d/httpd start
# /etc/init.d/dhcpd start
# cobller sync
# /etc/init.d/httpd start
# /etc/init.d/dhcpd start
まず、ISOイメージを任意のディレクトリにコピーする。
コピーするときにISOイメージの2倍以上の容量がないと作業できない。
ISOイメージから直接インポートすると失敗した。
何か書き込んでるのかもしれない。
# mount /dev/cdrom /media/cdrom
# mkdir /tmp/centos5
# shopt -s dotglob
# unalias cp
# cp -rf /media/cdrom/* /tmp/centos5/
# umount /media/cdrom
# mkdir /tmp/centos5
# shopt -s dotglob
# unalias cp
# cp -rf /media/cdrom/* /tmp/centos5/
# umount /media/cdrom
ディレクトリにコピーをしたら、Cobblerでインポートを行う。
これは結構時間がかかった。
# cobbler import --path /tmp/centos5 --name=centos5
インポートが終了したらデフォルトで配信するイメージの設定などを行う。
cobbler reportコマンドで表示されたプロファイル名を使用する。
# cobbler report
# cobbler system add --name=default --profile=centos5-i386
# cobbler system add --name=default --profile=centos5-i386
あとはインストールしたいPCからPXEブートすればインストールが始まる。
何か他に設定があるようで、勝手にインストールが進んでいつの間にか終了してた。
どういう設定を行うかも設定することができるようだ。
これでPXEブートさえできれば、どんなPCにでもインストールできる。
とりあえず家にあるThinkpad R40e、Thinkpad X20にインストールしてみた。
すごく便利。
0 件のコメント:
コメントを投稿