FURYU Tech Blog - フリュー株式会社

フリュー株式会社の開発者が技術情報を発信するブログです。

OSインストール自動化 続き:Kickstart

みなさん、こんにちは。コンテンツ・メディア第1事業部インフラ担当の藤本佳世です。前回は「OSインストールの自動化」について、Cobblerを使ったPXEサーバ構築についてお話ししました。今回は、その続き「Kickstart」についてお話ししたいと思います。

Kickstartとは

Kickstart」とは、Red Hat Enterprise LinuxCentOSを自動でインストールするための仕組みのことです。「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インストールの自動化」にチャレンジしてみて下さい。