RedHat Enterprise Linux で OS 構築を自動化する

Jan 4, 2011   #linux  :

前回は Ubuntu の preseed を用いた場合を紹介しましたが、今回は RHEL の Kickstart を使用した場合を書きます。会社で色々とごにょごにょしてました。会社のプロキシの情報とかもあるので、NTPとかファイルサーバのマウントとかの処理ははしょって貼りつけておきますね。

前提条件

OS構築を自動化する前提条件は下記になります:

  • 導入する OS は RHEL 5.4 (x64) であること(たぶんそれ以外のバージョンでも大丈夫のはず)
  • OS を導入する環境から設定ファイルを格納するHTTPサーバ、もしくはNFSサーバに対して通信ができること

構築するLinux環境

本手順を用いて構築する Linux 環境は以下になります:

ホスト名
test
ネットワーク
eth0 に対して DHCP でネットワーク設定を行う
root のパスワード
testserver
Firewall
オフ
selinux
使用しない
ディスク
ディスク全体を初期化し、 LVM とする

設定ファイル

下記の設定ファイルをNFSサーバ or HTTP サーバなどに設置します。

# Kickstart file automatically generated by anaconda.
text
install
cdrom
key --skip
lang ja_JP.UTF-8
keyboard jp106
network --device eth0 --bootproto dhcp --hostname test
rootpw testserver
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc Asia/Tokyo
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
services --enabled=ntpd
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --all --drives=sda --initlabel
part /boot --fstype ext3 --size=100 --ondisk=sda
part pv.6 --size=0 --grow --ondisk=sda
volgroup VolGroup00 --pesize=32768 pv.6
logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=384 --grow --maxsize=768
%packages
@base
@core
@development-libs
@development-tools

手順

インストーラーの画面が表示されたら、以下のようにコマンドをタイプし、エンターキーを押してください:

linux ks=nfs:NFSサーバのIPアドレス:設定ファイルへのパス

もしくは、以下のように設定ファイルへの URL を指定しても大丈夫です。

linux ks=http://サーバのIPアドレス/設定ファイルへのURL

※: インストーラーの画面上ではキーボード配列が ASCII 配列と認識されています。そのため「:」は「SHIFT + ;」を、「=」は「^」で入力してください。

基本的には自動で Linux の構築が行われます。インストール媒体を取り替える場合だけ手動で作業を行う必要があります。画面の指示に従って、インストール媒体を取り替えてください。

Software Design (ソフトウェア デザイン) 2011年 01月号 [雑誌]

Software Design (ソフトウェア デザイン) 2011年 01月号 [雑誌]