OSインストール、手動でやるのめんどくさい!!!こんな画面もうみたくない!!!
というわけでPXEブート&Kickstartで自動化しています。
(ユーザ作成などの初期設定もスクリプト化してそれに組み込んでます)
構築手順はいろんなとこにアップされてるので、実際にどう運用してるのか、を書いてみます。
(手順はいちおうWikiに。Kickstart、PXEブート&Kickstart)
物理サーバインストール
インストール対象サーバをPXEブートします
- BIOS設定でPXEブートを有効にする
- 起動メニューでPXEを選択(HPサーバならF12を連打)
こんなプロンプトが出るように設定してます
... ======================== Select kickstart setting ======================== Generics (DHCP) 1. CentOS-5.4 SAS/SATA 2. CentOS-5.4 SAS/SATA DB 3. CentOS-5.5 SAS/SATA 4. CentOS-5.5 SAS/SATA DB Individuals Type hostname boot:
ここから汎用設定でのインストールと個別設定でのインストールを使い分けてます
汎用設定インストール
メニューに指定された数字を入力する。
(CentOS5.5、SAS、DB用設定ならば4)
boot: 4 ... ... [root@localhost ~]#
OSインストール後、DHCP設定で起動するのでログインしてホスト名、IPを設定します。
この手順はあんまり使ってません。
個別設定インストール
事前に管理サーバ上で設定追加スクリプトを実行します。
[root@cent bin]# ./add_kscfg.sh test-db03 192.168.1.53 /var/www/html/ks/gen/CentOS5.5_sas.db.cfg
生成されたコンフィグにさらに手を加えることもあります。
この状態でインストール対象サーバをPXE起動し、今度はプロンプトでホスト名を入力します。
boot: test-db03 ... ... [root@test-db03 ~]#
ホスト名、IPが設定された状態でOSがインストールされます。
VMインストール(KVM)
VMのインストールにもKickstartを使っています。個別にKickstartコンフィグを作成することもありますが、検証用のテンポラリサーバなどであれば「動的にコンフィグを作成するphp」を置いてるのでそれを使います。
[root@cent ~]# virt-install --connect qemu:///system \ --name vm01 \ --ram 512 \ --vcpus=1 \ --disk path=/vm01.img \ --os-type=linux \ --os-variant=virtio26 \ --accelerate \ --nographics \ --location='http://192.168.1.10/os/CentOS-5.5-x86_64/' \ --extra-args='ks=http://172.25.5.128/ks/gen/ks.php?cfg=CentOS5.5_vm.cfg+test03+192.168.1.53 console=tty0 console=ttyS0,115200n8'
MACアドレスまで管理すれば「サーバ起動するだけでインストール完了」もできますが、誤インストールが怖いのとMACアドレス管理が面倒なので今のところやってません。
サーバ構成の種類、台数が多くなって設定がカオス化してきたら、cobbler&koanに切り替えたいですね。
(何度かcobblerも試してますが、それほど大きな規模でなければ今回のようにDHCP、TFTPなど使い慣れたツールの組合せで構築したほうが管理が楽です)