2013年1月12日土曜日

OVMS をKickstart (6回目)

今回は、Kickstart での OVMS インストールを、もう少し自動化してみます。

サーバの MAC アドレスをもとに
個別の Kickstart 設定ファイルを読み込ませて自動インストールしてみます。


前回までに構築した環境を使っています。

OVMS インストール準備

PXE ブート時に読み込むファイルを、インストール対象サーバごとに作成します。

1. イストール対象サーバ(VM)の MAC を確認しておく。

OVMS インストール対象サーバの、
Kickstart で使用するNWに接続する NIC の MAC アドレスを確認しておきます。

今回は VirutalBox の VM にインストールするので、
VirtualBox マネージャの画面(下記)で確認できます。




2. PXE ブート用の設定ファイル作成

「 01-<MACアドレス> 」ファイルを作成しておくと、
デフォルトの /var/lib/tftpboot/pxelinux.cfg/default ファイルのかわりに読み込まれます。
ファイルは、下記のように作成します。
(APPEND 以降は、実際は1行で記載しています。)

  • ファイル名の最初の3文字は、必ず「01-」になります。
  • MAC アドレスはハイフン区切りで、アルファベットは必ず小文字にします。

[root@ks1 pxelinux.cfg]# pwd
/var/lib/tftpboot/pxelinux.cfg

[root@ks1 pxelinux.cfg]# cat 01-08-00-27-7f-be-66
DEFAULT OVS
LABEL OVS
KERNEL /ovs222/vmlinuz
APPEND initrd=/ovs222/initrd.img ks=http://192.168.10.110/ks/ovs222_ovs001_ks.cfg ksdevice=eth0

たとえば、2台目のサーバ(MAC アドレスは 08:00:27:87:8d:82)に
Kickstart でインストールするときは、下記のように
もう一つ設定ファイルを追加作成することになります。
1台目のサーバとは、Kickstart の設定ファイル(ks=~)を変更します。
[root@ks1 pxelinux.cfg]# cat 01-08-00-27-87-8d-82
DEFAULT OVS
LABEL OVS
KERNEL /ovs222/vmlinuz
APPEND initrd=/ovs222/initrd.img ks=http://192.168.10.110/ks/ovs222_ovs002_ks.cfg ksdevice=eth0

3. Kickstartの設定ファイル作成

PXE ブート用の設定ファイルに記載した、Kickstart 用のファイル
(ks=~に指定したもの)を作成します。
以前に作成した Kickstart 設定ファイルのうち、
network 設定だけ(今回のファイルの最初の2行の部分)だけを各サーバ用に書き換えます。

このファイルは、Web サーバの公開ディレクトリに配置しています。
(今回の環境では、/var/www/html/ks ディレクトリです。)
[root@ks1 ks]# pwd
/var/www/html/ks

1台目の設定ファイルです。
[root@ks1 ks]# cat ovs222_ovs001_ks.cfg
network --device eth0 --bootproto static --ip 192.168.10.101 --netmask 255.255.255.0
network --device eth1 --bootproto static --ip 192.168.56.101 --netmask 255.255.255.0 --gateway 192.168.56.1 --hostname ovs001
install
url --url=http://192.168.10.110/ovs222/
keyboard jp106
lang en_US.UTF-8
ovsagent   ★ここに ovs-agent に設定するパスワードを記載する
ovsmgmntif eth1
rootpw  ★ここに OVMS の root に設定するパスワードを記載する
firewall --enabled --port=21:tcp --port=22:tcp --port=53:udp --port=53:tcp --port=80:tcp --port=2049:tcp --port=5900-5950:tcp --port=8002:tcp --port=8003:tcp --port=8899:tcp --port=7777:tcp
authconfig --enableshadow --enablemd5
selinux --disabled
timezone Asia/Tokyo
bootloader --location=mbr --dom0_mem=512 --driveorder=sda
clearpart --initlabel --all --drives=sda
part /boot --fstype ext3 --size=100 --ondisk=sda
part swap --size=1024 --ondisk=sda
part / --fstype ext3 --size=3072 --ondisk=sda --asprimary
part /OVS --fstype ocfs2 --size=1024 --grow --ondisk=sda
reboot
%packages
@office
@admin-tools
@editors
@text-internet
@gnome-desktop
@dialup
@core
@base
@games
@java
@base-x
@graphics
@printing
@sound-and-video
@ovs-virtualization
@graphical-internet
tftp
bridge-utils
squashfs-tools

2台目のサーバ用のファイルは、最初の2行(network)だけを変更します。
[root@ks1 ks]# cat ovs222_ovs002_ks.cfg
network --device eth0 --bootproto static --ip 192.168.10.102 --netmask 255.255.255.0
network --device eth1 --bootproto static --ip 192.168.56.102 --netmask 255.255.255.0 --gateway 192.168.56.1 --hostname ovs002
install
url --url=http://192.168.10.110/ovs222/
keyboard jp106
lang en_US.UTF-8
(以下略)

今回の1台目と2台目の設定変更は、ホスト名とIP設定(下記)だけにしました。
[root@ks1 ks]# diff ovs222_ovs001_ks.cfg ovs222_ovs002_ks.cfg
1,2c1,2
< network --device eth0 --bootproto static --ip 192.168.10.101 --netmask 255.255.255.0
< network --device eth1 --bootproto static --ip 192.168.56.101 --netmask 255.255.255.0 --gateway 192.168.56.1 --hostname ovs001
---
> network --device eth0 --bootproto static --ip 192.168.10.102 --netmask 255.255.255.0
> network --device eth1 --bootproto static --ip 192.168.56.102 --netmask 255.255.255.0 --gateway 192.168.56.1 --hostname ovs002

OVMS インストール実施


OVMS インストール対象のサーバ(VM)の電源を ON にすると、
PXEブートされ、自動的にインストール処理が開始します。
(あらかじめ、VirtualBox のVM 設定でネットワーク ブートをONにしています。)

インストール対象サーバの様子を見ると、
まず DHCP からIPアドレスを取得しています。(赤線のあたり)
そのあと、MAC アドレスの名前のファイルを読み込んでいます。(オレンジ線のあたり)



前回までの Kicksart とは違い、インストール OS の選択画面は表示されません。
電源を ON にするだけで OVMS が自動インストールされます。



インストールが完了すると、自動的にサーバが再起動され
OVMS のログイン画面が表示されます。
画面から、ホスト名、IP アドレスが設定されていることがわかります。




2台目、3台目・・・と複数台の OVMS をインストールするときも、
あらかじめ MACアドレスがわかっていれば、インストールを自動化することができます。

以上、Kickstartでの OVMS インストール自動化でした。
つづく。
OVMS を Kickstart (7回目)

0 件のコメント:

コメントを投稿