みなさん、こんにちは。コンテンツ・メディア第1事業部インフラ担当の藤本佳世です。前回は「OSインストールの自動化」について、Cobblerを使ったPXEサーバ構築についてお話ししました。今回は、その続き「Kickstart」についてお話ししたいと思います。
Kickstartとは
「Kickstart」とは、Red Hat Enterprise LinuxやCentOSを自動でインストールするための仕組みのことです。「Kickstartファイル」と呼ばれるファイルを作成し、そこにパーティション設定や言語設定、インストールしたいパッケージなどを記述していきます。「Kickstart」は、「OSインストールの自動化」を実現するための、大切な機能です。
サーバ構築内容
下記サーバ構築内容を「Kickstartファイル」に設定しました。
Kickstartファイル作成
前回すでに「Kickstart」をインストールしているはずですが、インストールしていない場合は、下記コマンドを実行します。
yum install pykickstart
それでは、実際の「Kickstartファイル」作成手順です。
1.Kickstartファイル作成
※サンプルファイルをコピーして「centos66_64.ks」ファイルを作成します。
cp /var/lib/cobbler/kickstarts/sample.ks /var/lib/cobbler/kickstarts/centos66_64.ks
2.「centos66_64.ks」ファイルに設定を記述します
vim /var/lib/cobbler/kickstarts/centos66_64.ks
●パーティションの設定(sizeの項目に MB 単位で値を入力します)
# Partition clearing information
clearpart --drives=hda --all
part /boot --fstype "ext4" --size=1024
part pv.1 --size=1 --grow
volgroup VolGroup00 pv.1
logvol / --fstype ext4 --name=LogVol00 --vgname=VolGroup00 --size=51200
logvol swap --fstype swap --name=LogVol02 --vgname=VolGroup00 --size=17179
logvol /data --fstype ext4 --name=LogVol01 --vgname=VolGroup00 --size=1 --grow
●言語設定(日本語)
# System language
lang ja_JP.UTF-8
●タイムゾーン設定(日本時間)
# System timezone
timezone Asia/Tokyo
●rootパスワード設定
#Root password
rootpw *****
●パッケージ設定(インストールしたいパッケージを記述します)
%packages
@Base
@Development Tools
man-pages-ja
vsftpd
glibc
bash
openssl
emacs
sudo
3.作成したKickstartファイルを前回構築したcobblerに反映します
cobbler profile edit --name=cent66_64 --kickstart=/var/lib/cobbler/kickstarts/centos66_64.ks
cobbler report
下記結果が返ってきます
Kickstart : /var/lib/cobbler/kickstarts/centos66_64.ks
補足
今回ご紹介した「Kickstartファイル」は、最低限の設定しかしていません。上記以外にもユーザを作成したり、ネットワーク設定など様々な設定をすることができます。パーティション構成が異なるサーバなど、用途別に「kickstartファイル」を複数作成することも可能です。みなさんも、ご自身の環境にあったKickstartを作ってみて下さい。
フリューでは、ホスト名やIPアドレスの設定はシェルスクリプトで設定しています。ユーザ登録は、LDAP認証を使用しており、設定ファイルをAnsibleでdeployしています。Ansibleについて、別記事で紹介していますので、こちらも是非読んでください。
その他にも、フリューではミドルウェアインストールをAnsibleで行ってます。今後もAnsibleについて、ブログでご紹介できればと思っています。
Let’s Get Started
それでは、PXEサーバとOSインストールしたいサーバをネットワークケーブルで接続し、PXE Bootを起動させる手順です。各ベンダーによって異なりますが、フリューでよく利用するサーバは、電源ON後、「F12」でPXE Bootを選択することができます。
下記画面が表示されるので、「Centos66_64 Installer」を選択し、「Enter」を押すと、自動でOSインストールが始まります。
※ネットワークケーブル接続の注意点
●PXEサーバのeth3にケーブルを挿し込む。(前回の記事でお伝えしたように、eth3とvagrantのインターフェースをbridgeで繋げてPXEブートを起動させています)
●OSインストールサーバのeth1にケーブルを挿し込む。(eth1しかPXE Bootを起動できない場合があります)
まとめ
「OSインストールの自動化」は本当に便利です。今まで手動で行っていたインストール作業ですが、「PXE」と「Kickstart」を利用することで、ミスなくスピーディーに、同じ構成のサーバを、複数台同時に構築することが可能です。また、Vagrantを使うことにより、PXEサーバの環境をVagrant Boxにして、別サーバにすぐ構築することもできます。Vagrant Boxについては、また別の機会にご紹介できればと思います。是非、みなさんも「OSインストールの自動化」にチャレンジしてみて下さい。