まじでスゴイ! cobbler + kickstart による、CENTOS5.7の自動インストール
前回掲載しました「cobbler で CENTOS5.7を自動で速攻インストール!!」が思いのほか見ていただいている方が多かったようなので、かなり調子にのりまして、今回は、kickstartについて触れてみようと思います。
前回は、cobblerの設定と、cobblerを利用した、OSのインストールを中心に書きました。実際あれで、楽々インストールが実現できたかというと実はそうでもなく(笑)本当にデフォルトでのインストールだったため。 ・キーボードは、英語配列 ・ロケールは、英語 ・ほしいパッケージが入っていない など、これじゃ楽にならねーだろ!と思った方も多かったかもしれません。 実は、cobbler自体は、OSのインストール(pxeboot等)を包括的に管理するツールであって実際に効果がある利用方法としては
・cobbler + kickstart ・cobbler + puppet
等と組み合わせて利用するものなんです!!(前回はめんどくさかったため、話に触れませんでした)
今回は、kickstartを利用して
・キーボードを日本語配列(106キーボード) ・ロケールは日本語 ・デフォルトのパッケージグループに(base,core,editors,japanese-support,text-internet,development-libs,legacy-software-supportを含める(補足を参照してください) ・nfsサーバに自動マウントするする設定(/share /backups)を追加する
なんていうのを実現しようと思います。
また、今回はkickstartの話を中心に説明いたしますので、「cobbler で CENTOS5.7を自動で速攻インストール!!」で既にcobblerサーバは構築されていることを前提に話を進めます。
以下が、設定手順です。
kickstartファイルを編集/var/lib/cobbler/kickstarts/sample.ksをベースにしております
[shell] [root@cobblersrv1 cobbler]# cp /var/lib/cobbler/kickstarts/sample.ks /var/lib/cobbler/kickstarts/squad_cobbler.ks [root@cobblersrv1 cobbler]# vi /var/lib/cobbler/kickstarts/squad_cobbler.ks * 編集します、編集後のsample.ksの差分のみ下記に記載します [root@cobblersrv1 cobbler]# cd /var/lib/cobbler/kickstarts/ [root@cobblersrv1 kickstarts]# diff sample.ks squad_cobbler.ks 11c11
< firewall --enabled
> firewall --disabled 15c15,17
< keyboard us
> keyboard jp106 > # network setting > # network --device eth0 --bootproto static --ip 192.168.101.55 --netmask 255.255.255.0 --gateway 192.168.101.1 --nameserver 192.168.101.50 --hostname cobblersrv1.squad.local 17c19
< lang en_US
> lang ja_JP.UTF-8 34c36
< timezone America/New_York
> timezone Asia/Tokyo 50a53,59 > @base > @core > @editors > @japanese-support > @text-internet > @development-libs > @legacy-software-support 68a78,86 > # my script > mkdir /share > mkdir /backups > chmod -Rf 775 /share > chmod -Rf 775 /backups > echo "//192.168.101.103/share /share cifs username=squaduser,password=cifspasswd,codepage=cp932,iocharset=utf8,defaults 0 0" >> /etc/fstab > echo "//192.168.101.103/backups /backups cifs username=squaduser,password=cifspasswd,codepage=cp932,iocharset=utf8,defaults 0 0" >> /etc/fstab > mount -a > [/shell]
作成したkickstart 環境ファイルを、profileにaddします
[shell] [root@cobblersrv1 cobbler]# cobbler profile add --name=squad_centos_x86_64 --distro=centos57-x86_64 --kickstart=/var/lib/cobbler/kickstarts/squad_cobbler.ks [/shell]
設定されたか確認します
[shell] [root@cobblersrv1 cobbler]# cobbler report - 省略 -
profiles:
Name : squad_centos_x86_64 Comment : DHCP Tag : default Distribution : centos57-x86_64 Enable PXE Menu? : 1 Kernel Options : {} Kernel Options (Post Install) : {} Kickstart : /var/lib/cobbler/kickstarts/squad_cobbler.ks Kickstart Metadata : {} Management Classes : Name Servers : Name Servers Search Path : Owners : ['admin'] Parent Profile : Red Hat Management Key : <<inherit>> Red Hat Management Server : <<inherit>> Repos : Server Override : <<inherit>> Template Files : {} Virt Auto Boot : 1 Virt Bridge : xenbr0 Virt CPUs : 1 Virt File Size(GB) : 5 Virt Path : Virt RAM (MB) : 512 Virt Type : xenpv [/shell]
では実際にインストールしてみます
前回同様、VMWAREのGUEST OSでインストールします。先ほど作成した定義ファイルがメニューで表示されますので、選択し、「ENTER」します。あとは、なんもしません・・・待っていてください。
インストールが完了しましたら、定義どおりにセットアップされているか確認します。
・インストール済みのサーバにroot/cobblerでログインします。
・日本語になっているか?(ロケール、タイムゾーン,キーボード) [shell] * キーボード [root@localhost ~]# cat /etc/sysconfig/keyboard KEYBOARDTYPE="pc" KEYTABLE="jp106"
ロケール [root@localhost ~]# cat /etc/sysconfig/i18n LANG="ja_JP.UTF-8" SYSFONT="latarcyrheb-sun16"
タイムゾーン [root@localhost ~]# cat /etc/sysconfig/clock ZONE="Asia/Tokyo" UTC=false ARC=false
[/shell]
・指定したパッケージはインストールされているか? [shell] [root@localhost ~]# yum grouplist Loaded plugins: fastestmirror Setting up Group Process Loading mirror speeds from cached hostfile * base: ftp.nara.wide.ad.jp * extras: ftp.nara.wide.ad.jp * updates: ftp.nara.wide.ad.jp Installed Groups: GNOME ソフトウェア開発 Yum Utilities エディタ システムツール ダイヤルアップネットワークサポート テキストベースのインターネット ネットワークサーバー メールサーバー レガシーなソフトウェアのサポート レガシーなソフトウェアの開発 開発ライブラリ Available Groups: Beagle DNS ネームサーバー [/shell]
・/share, /backupは、NASにマウントされているか? [shell] [root@localhost ~]# df -h Filesystem サイズ 使用 残り 使用% マウント位置 /dev/mapper/VolGroup00-LogVol00 8.9G 1.7G 6.8G 20% / /dev/sda1 99M 13M 81M 14% /boot tmpfs 186M 0 186M 0% /dev/shm //192.168.101.103/share 918G 592G 326G 65% /share //192.168.101.103/backups 918G 592G 326G 65% /backups [/shell]
すげーーーーー!!完璧!!
いかがでしょうか?
ここまでできればどんだけ楽かイメージが膨らんでくると思います。今回、あまり特殊なことはしておりませんが、たとえば、DBサーバセットみたいなものを作って、MySQLサーバもインストールするなんていうのも作っても良いかと思いますし、apache webサーバセットなんていうグループを作っても良いかと思います。
[補足] パッケージの一覧
<こんなものがあります> [text] @office @engineering-and-scientific @mysql @admin-tools @editors @system-tools @development-tools @gnome-software-development @text-internet @x-software-development @virtualization @legacy-network-server @dns-server @gnome-desktop @dialup @core @authoring-and-publishing @base @ftp-server @network-server @games @legacy-software-development @java @java-development @legacy-software-support @smb-server @base-x @graphics @web-server @ruby @printing @kde-software-development @kde-desktop @mail-server @server-cfg @sound-and-video @sql-server @development-libs @news-server @graphical-internet [/text]
もっともっと細かい設定を知りたい場合は、
http://www.linuxmania.jp/kickstart.html このあたりが大変参考になりますので、是非ご一読をお願いします。