Database JUNKY

MySQL,MariaDBを中心としたブログです

まじでスゴイ! 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"

[/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 このあたりが大変参考になりますので、是非ご一読をお願いします。