2012年11月6日火曜日

サーバの環境構築自動化を考える vol.5: KickStart ~ ks.cfg スタンダード構成編

こんにちは、OSSテクノロジーセンターの原です。

前回は主に ks.cfg の読み方について説明しましたが、そのままの設定ですと必須項目も足りないためインストールを行う事ができません。

今回はその必須項目も合わせて設定し、まずはスタンダードな構成で動くように調整します。

まず前回の ks.cfg ファイルを確認してみましょう。

# Kickstart file automatically generated by anaconda.

#version=DEVEL
install
cdrom
lang en_US.UTF-8
keyboard us
network --onboot no --device eth0 --bootproto dhcp --noipv6
rootpw  --iscrypted XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --enforcing
timezone --utc Asia/Tokyo
bootloader --location=mbr --driveorder=vda --append="crashkernel=auto rhgb quiet"
# 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 --linux --drives=vda
#volgroup VolGroup --pesize=4096 pv.01
#logvol / --fstype=ext4 --name=lv_root --vgname=VolGroup --grow --size=1024 --maxsize=51200
#logvol swap --name=lv_swap --vgname=VolGroup --grow --size=2016 --maxsize=2016
#part /boot --fstype=ext4 --size=500
#part pv.01 --grow --size=1

%packages
@core
@server-policy
%end

インストールソースの指定や、ディスク配置の指定など、必須項目が抜けていることがわかります。

これらの必須項目を埋め、ks.cfg ファイルとして利用できるように編集していきましょう。

ks.cfg ファイルを編集するにあたって、直接 vim や emacs、gedit などのエディタを利用して編集することも可能ですが、RHEL には system-config-kickstart というパッケージが提供されており、GUI で簡単に ks.cfg ファイルを編集することが可能です。

アプリケーション -> システムツール -> キックスタート で起動し、編集元となるファイルを開くか、以下のコマンドで起動します。

# system-config-kickstart 

『インストール方法』の項目で、インストールソースを指定します。今回は第 3回で作成した yum repository を指定します。

次に、『パーディション情報』の項目で、ディスクレイアウトを確定させます。これは前回ご紹介した、『volgroup』、『logvol』、『part』の項目に相当します。

今回は、vda と言うドライブに単純な 3つのパーティションを作成する想定で設定しました。この作り方以外にも LVM を組むことや、Software RAID を組むことも可能です。

なお、vdX は仮想化で利用される特殊な形式のブロックデバイスです。実機へのインストールの場合、SATA 形式の HDD であれば sdX、IDE であれば hdX になることが大半です。環境に合わせて適宜読み替えてください。

マウントポイント ファイルタイプ フォーマット 容量
/boot ext4 フォーマットする 512 MB
swap swap フォーマットする 推奨値(自動決定)
/ ext4 フォーマットする 残り全て( /boot と swap で利用される分を除いた全て)

ここまで出来たら、一旦保存して、できあがったファイルを確認しましょう。

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --enabled --service=ssh
# Install OS instead of upgrade
install
# Use network installation
url --url="http://192.168.100.1/rhn/el63"
# Root password
rootpw  --iscrypted XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
# System authorization information
authconfig --enableshadow --passalgo=sha512
# Use graphical install
graphical
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --enforcing
# Do not configure the X Window System
skipx
# Installation logging level
logging --level=info

# System timezone
timezone  Asia/Tokyo
# Network information
network  --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --append="crashkernel=auto rhgb quiet" --location=mbr --driveorder="vda"
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="ext4" --ondisk=vda --size=512
part swap --fstype="swap" --ondisk=vda --recommended
part / --fstype="ext4" --grow --ondisk=vda --size=1

%packages
@core
@server-policy

%end

diff をとってみると、項目の順番が前後し設定項目も微妙に書き換わってしまった部分もありますが、基本的な部分は共通です。

今回設定した箇所だけ、抜き出してみていきます。

インストールソースの箇所は以下の様になりました。

# Use network installation
url --url="http://192.168.100.1/rhn/el63"

ディスクレイアウトの箇所は以下の様になりました。

# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="ext4" --ondisk=vda --size=512
part swap --fstype="swap" --ondisk=vda --recommended
part / --fstype="ext4" --grow --ondisk=vda --size=1

想定通りに出来ているでしょうか?

問題なければ第 3回/var/lib/tftpboot/pxeboot/pxelinux.cfg/default にて指定したパスに、この ks.cfg ファイルを配置して Kickstart 環境構築完了です。


いかがでしたでしょうか。ここまでで、Kickstart 環境の最も簡易な構成は完了です。

次回は少し応用的な使い方や tips をご紹介したいと思います。

0 件のコメント:

コメントを投稿