私の代わりをいくらでも用意するためにKickstart Fileを使うHow to use Kickstart File ??

漸くの梅雨明けに洗濯物が干せると安堵しているM1の松浦です.
(弊研究室には私と同姓の先生がおられるのでご注意ください.私は学生です..)
じめじめとした不快指数の高い日が続いていますが,そんな日にサーバ室での作業があると暫し快適(!)な時間を過ごせます.

さて,最近私がサーバ室で行っていた作業の一つに負荷実験用の物理サーバを複数台用意するというものがあります.
弊研究室には各種実験や演算に利用するための計算機群が存在します.今回,その計算機群の一部を利用してシステムの負荷実験を行うために,同一構成の計算機複数台に,同じOSを,基本的に同じ構成でインストールするというタスクが発生しました.

当然,1台1台全て手動でインストールする,ということも可能なのですが,機器構成も同じ,OSも同じ,インストールするパッケージも同じというマシンを全て手動で用意するのは少々非効率に感じられます.
そこで,今回はRedhat系のOSにて提供されているKickstart Fileというものを利用して,手軽に計算機の複製を行うこととしました.

Kickstart Fileとは,Redhat系のOSで利用されているインストーラAnacondaが解釈するスクリプトを記述したファイルです.Anaconda起動時 にKickstart Fileの場所を指定して読み込ませませると,ファイルに記述された設定に従い自動的にOSがインストールされます.
この機能を利用すればインストーラ起動時にファイルのpathを指定するだけで,残りのインストール作業をAnacondaに任せることができるため,人間がわざわざモニタの前に座って逐一指示に従いながらインストールするという手間から解放されます.

 

では前置きはこの辺にして,実際にKickstart Fileを見ていきます.
Redhat系OSのインストール経験がある方でしたら,インストール後の/rootでanaconda-ks.cfgというファイルを見かけたことがあ るのではないでしょうか.これがKiskstart Fileです.AnacondaはOSのインストールが終わる際に,そのときのインストール設定に従ったKiskstart Fileを自動的に作成します.
(anaconda-ks.cfgはあくまでAnacondaが自動生成するファイルであり,ユーザが一から書くことも可能ですし,利用時にきちんとpathを指定すればファイル名も適当で問題ありません)
Kickstart Fileの一例を以下に示します.(ファイル中,行頭’が#’から始まる行はコメント行を表します)

今回作成したKickstart FileはOSを最小構成でネットワークインストールし,インストール後にシステムのアップデートを行うことを目的としています.また,閉じたネットワー ク内での運用を想定しているため,面倒なFirewallやSELinuxについては予め動作しないよう設定しておきます.
今回はパーティションを全て物理構成としましたが,LVMを用いた論理構成を取ることも可能です.

Kickstartを書く際の注意事項ですが,rootパスワードの設定を間違えると折角インストールしたOSにいきなりシングルユーザモードで 入ってパスワードを再設定する,といったことになるため,キチンと暗号化済みのパスワードを間違えずに記述してください.パスワードの暗号化は opensslなどを利用して予め行っておく必要がある点に注意してください.

次に,上記のファイルをUSBストレージのトップディレクトリにks.cfgという名前で書き込みます.
さて,それでは最後に実際のインストール時におけるKickstart Fileの読み込み方法です.今回はUSBストレージを用いた方法を紹介しますが,新たにマシンを立ち上げるネットワーク内にWebサーバが存在するなら ネットワーク越しにファイルを読むことも可能です.
では,CentOS 6.2 x86_64 netinstallを書き込んだdiscからインストーラを起動させましょう.インストールメニューが表示されると思いますので”ESC”キーを押します.
恐らく

 というCUIの画面が表示されたかと思います.そこに

 と入力します.textモードでのインストールを指定し,ローカルストレージのロケーションを指定します(この場合はsdb1がUSBストレー ジ).そのトップディレクトリにks.cfgという名前でKickstart Fileを保存したので,それを読み込むよう指定します.ネットワーク越しにファイルを指定するなら,ここで取得先を記述します.

これでインストールが始まったはずです.あとはコーヒーでも飲みながら別の作業をしつつ,インストールが終わるのを待つのみです.

これで簡単に同一構成・同一設定のマシンを量産できます.ネットワーク上にKickstart Fileを配置し,ブートイメージもネットワーク越しに取得する用にすれば,外部メディアを一切用意することなく,OSの自動インストールが可能となります.

MATSUURA Masanao