現地の環境はLinuxと言えばほぼ100% RedHat Linuxです。
職場で当然扱っているわけですが、RedHat Linuxの全自動インストールの検証に少し携わったので
掲載してみようかと思います。
全自動インストールの方法は複数あります。
1. DVD1枚のみで全自動インストール
2. DVDなしでPXE Bootからネットワークインストール
3. DVDもネットワークもなくローカルディスク(パーティション)から別のディスク(パーティション)へインストール
2. のネットワークインストールはさらに詳細に分かれて
2.1. NFSインストール
2.2. httpインストール
2.3. ftpインストール
というのがあります。
用途に応じて最適な手法を選択すればいいと思います。
全ての手法を書ききるのはちょっと大変なので、今回は簡単な
1枚のDVDだけで全自動インストールについて書いてみます。今回はRedHat Linux ES 5.5 64bitで検証しましたが
おそらく32bitでも、多少のバージョン違いでも出来ると思います。
作業はLinuxサーバ上で実施します。
RedHat Linuxをインストールした時に、/root/ディレクトリ直下に
anaconda-ks.cfg というファイルが出来上がるのですが
このファイルさえあれば、作業に使うLinuxサーバはDebianだろうがUbuntuだろうがCentOSだろうがFedoraだろうが構いません。
では早速簡単な手順を紹介・・・。
概ね @ITの記事 の通りでいいのですが、この記事にも間違った部分がありちょっと躓きました。
まずRedHatのDVDの.isoイメージファイルまたはDVD本体を用意し
適当なディレクトリへmountします。
mount -v -t iso9660 -o loop,ro rhel-server-5.5-i386-dvd.iso /media/
物理的なDVDメディアをサーバに挿入している場合はこんな感じ↓
mount -v -t iso9660 -o ro /dev/cdrom /media/
環境に応じて適宜読み替えてください。
mountしたら、lsやdf等のコマンドで正常にmount出来ている事を確認します。
確認できたら、ディスクの中身を作業用ディレクトリへ全部コピーします。
mkdir -v /tmp/redhat cp -vpr /media/* /tmp/redhat/ cp -vp /media/.discinfo /tmp/redhat/
最後の /media/.discinfo ファイルもコピーすることを忘れないように気をつけてください。
/media/* で指定しても bash は * を解釈する際に
.(ドット)から始まる隠しファイルを無視します。
この .discinfo ファイルが RedHatのインストーラディスクであるという定義がなされてある為
このファイルをコピーし忘れると インストールメディアが見つかりません とエラーを吐かれて自動インストールに失敗します。
躓いていたポイントが、この .discinfo ファイルのコピー漏れでした。
コピーが終わったら RedHat インストール時に /root/ に生成される anaconda-ks.cfg を
作業用ディレクトリへコピーします。
cp -vp anaconda-ks.cfg /tmp/redhat/isolinux/ks.cfg
ファイル名は anaconda-ks.cfg のままでもいいのですが、長いので ks.cfg についでにリネームしつつコピーしています。
次に、どういう設定でRedHatをインストールしたいかの定義をks.cfgに記述します。
ks.cfgはただのテキストファイルなので vi 等のエディタで編集可能です。
vim /tmp/redhat/isolinux/ks.cfg
ks.cfgの詳細についてはRedHatのサイト等を参考にします。
次にks.cfgを起動時に読み込ませる為にisolinux.cfgファイルを編集します。
vim /tmp/redhat/isolinux/isolinux.cfg
default linux prompt 1 timeout 600 display boot.msg F1 boot.msg F2 options.msg F3 general.msg F4 param.msg F5 rescue.msg label linux kernel vmlinuz append ks=cdrom:isolinux/ks.cfg initrd=initrd.img
要点は
--
append ks=cdrom:/isolinux/ks.cfg initrd=initrd.img
--
とks.cfgの場所を/tmp/redhat/からみての
相対パスで指定している事と
--
default linux
・・・<中略>
label linux
--
のように、default行とlabel行が同じ文字列で、そのlabelにks.cfgのパスを記述する事です。
最後に/tmp/redhat/ の中身を全て1つの.isoイメージファイルに固めて、出来上がりとなります。
固めるコマンドは下記
cd /tmp/redhat/ mkisofs -r -l -J -o /tmp/autoRedHat.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table .
-o オプションで出力先.isoイメージファイルを指定します。
その他のオプションはBootable ISOイメージを作成する際に必要なオプションだと思われます。
最後の
--
-boot-info-table
--
の後に半角スペースを1個空けて .(ドット) を打つのを忘れないように気をつけて下さい。
最後の .(ドット)でカレントディレクトリ(つまり /tmp/redhat/ )をISOイメージに
固めるソースディレクトリに指定しています。
しばらく待つと /tmp/autoRedHat.iso ファイルが出来上がります。
このファイルをDVDへ iso 焼きして、サーバの光学ドライブに挿入し、DVDからBootすると
ks.cfg で定義した通りに全自動でRedHatのインストールが走ります。
以上~
0 件のコメント:
コメントを投稿