CentOSをネットワーク経由でインストールする日記(最終回)

SPONSORED LINK

Pocket

c_top

トラブルのせいでだいぶ間が空いちゃいました・・・(後述)。さて、前回までのあらすじはこちら。

» ネットワークインストール日記 Archive

さてネットワークブートに成功したので次はネットワークインストールです。インストール元サーバーにapacheを立てて設定ファイルを置き、そこを読み込んでもらうようにします。今回で最終回ですよ、と。

■ apacheのインストール

まずはapacheをインストールします。さくっと。

yum -y install httpd

↑ これでいっときましょう。

service httpd start

↑ ついでに起動しておきます。

■ OSイメージのダウンロード

次にOSイメージをダウンロードします。CentOSの64ビットDVD版でよいでしょう。4GBほどなので時間がかかりますよ。場所は/tmpでいいかな。

cd /tmp
wget http://ftp.riken.jp/Linux/centos/5.3/isos/x86_64/CentOS-5.3-x86_64-bin-DVD.iso

■ ISOイメージのマウント

次にISOイメージをウェブから見えるところにマウントしちゃいますよ。

mkdir /mnt/iso
mount -t iso9660 -o loop /tmp/CentOS-5.3-x86_64-bin-DVD.iso /mnt/iso
ln -s /mnt/iso /var/www/html/iso

ここで一応ウェブから見えるかアクセスしてみましょう。「192.168.0.17/iso」で次のような画面が見えていればOKです。

mount

↑ 無事にマウントされました!

■ kickstartファイルの作成

次にkickstartファイルを作ります。これがネットワークインストールの肝ですね。ここに書かれたとおりに自動インストールしてくれるという超絶便利ファイルです。

細かい設定は個々人で違うでしょうから、とりあえず基本的な設定だけ書き込んでみます。

なお、最初から作ると大変なので、インストール元サーバーにCentOSを突っ込んだときの設定ファイルを元につくります。/root/anaconda-ks.cfgがそれなのでまずはそれをコピーしましょう。

cp /root/anaconda-ks.cfg /var/www/html/ks.cfg
chmod o+r /var/www/html/ks.cfg
vi /var/www/html/ks.cfg

↑ こんな感じでコピーして編集。パーミッションも変えておきますかね。

これをもとに作りこんでいきます。ざっくり作りこんだファイルはこんな感じ。なお、anaconda-ks.cfgから変えた部分は太字で。

# Kickstart file automatically generated by anaconda.
install
url --url http://192.168.0.17/iso # さきほど設定したISOイメージからインストール
lang ja_JP.UTF-8
keyboard jp106
network --device eth0 --bootproto dhcp
# network --device eth0 --bootproto static --ip 192.168.0.18 --netmask 255.255.255.0 --gateway 192.168.0.1 --nameserver 192.168.0.1 # 静的IPの場合
rootpw --iscrypted XXXXXXXXXXXXXX # ルートのパスワード
firewall --enabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc Asia/Tokyo
bootloader --location=mbr --driveorder=sda

clearpart --linux --drives=sda
part /boot --fstype ext3 --size=100 --ondisk=sda
part pv.2 --size=0 --grow --ondisk=sda
volgroup VolGroup00 --pesize=32768 pv.2 # HDDの容量によるので適宜変更
logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=512 --grow --maxsize=1024
logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
reboot # 全部終わったら再起動


%packages # インストールするパッケージの選択
@japanese-support
@core
@base
@development-tools
device-mapper-multipath
imake
-firstboot-tui

ntp
screen



%post # インストール後に実行するコマンド
chkconfig ntpd on

こんなところですかね。あとはお好みで。なお、kickstartのカスタマイズに関して参考になりそうなサイトは文末にまとめておきました。

またHDDの部分ですが、これはHDDの容量によって変わるので、同じ容量&設定のHDDにしか適用できません。HDDの容量が変わるならば手動で一度インストールして設定値をanaconda-ks.cfgからひっぱってくる必要があるようです。

■ defaultの変更

さてせっかく作ったkickstartファイルを読み込ませなくてはいけません。/tftpboot/pxelinux.cfg/defaultを次のように変更します。

default centos53_64
prompt 1
timeout 15

label centos53_64
kernel centos53_64/vmlinuz
append ks=http://192.168.0.17/ks.cfg noipv6 load initrd=cent53_64/initrd.img devfs=nomount

↑ 最後の行を変更しました。

■ ネットワークインストール!・・・と思いきや・・・

さてここまでで設定完了です。あとはネットワークブートをテストしたときのようにサーバーとThinkPadをつないで起動するだけです。うまくいけば自動でざくざくインストールしてくれますよ。

・・・と思いきや、どうにも「Sending request for IP information for eth0」という画面でとまってしまいます。これで数日間悩みましたよ・・・。

結局本田さんに相談すると「NICですね」ということでインテルのNICを差し込んだら一発解決・・・。ここは注意しないといけないですね。

nic

↑ カードが悪かったのか・・・。NIC指して解決しました。

ふー・・・長かった・・・。お疲れ様でした(← 俺)。

■ 雑感・・・

さて数日かけて勉強してきたネットワークインストールですが、同じ構成のマシンをじゃんじゃかインストールするにはかなり便利ですね。最後のNICの部分ではまりましたが、そこさえ気をつけてハードを組んでおけば問題ないかと。

ただ個人で2、3台、という場合はあまり必要ないかもと思ったり・・・(最初から気づけ、という話ではありますが、いいのです、勉強したかったのです)。

どちらにしろ、ネットワークインストールの概要はおわかりいただけたかな、と。初心者向けに書いたつもりではありますが(自分がそうだし)、普段のブログからするとマニアックすぎましたねw。どうぞご理解を・・・。

■ 謝辞!

今回いろいろ設定&問題解決するにあたり本田さんにかなりお世話になりました。この場をお借りしてお礼申し上げます!ありがとうございました。

» 発言注意!(本田さんのブログ)

■ 参考資料:kickstartのカスタマイズ

ks.cfgですが、もっと細かい設定をしたいときは下記サイトを参考にしながらがつがつカスタマイズすると良いでしょう。

ツイッターもやっています!

SPONSORED LINK

  1. No comments yet.

  1. No trackbacks yet.