Oracle Linux 7 (OL7) で Kickstart 環境を構築してみました。
今回使用するバージョンは下記です。
- Oracle VM Server 3.4.2
- Oracle Linux 7.3 (64bit)
今回の流れは下記のような感じです。
- RPM インストール。
- DHCP サーバの起動。
- TFTP サーバの起動。
- Web サーバの起動。
- syslinux RPM からのファイルコピー。
- OVMS インストーラからのファイルコピー。
- PXE Boot 設定ファイルの作成。
- Kickstart の設定ファイルの作成。
- OVMS のインストール。
0. OS の準備。
Kickstart サーバのホスト名は ks02、IP アドレスは 192.168.1.116 にしました。
それとなく準備をして、RPM を最新化しておきます。
[root@localhost ~]# hostnamectl set-hostname ks02
[root@localhost ~]# nmcli c modify ens192 ipv4.addresses 192.168.1.116/24
[root@localhost ~]# nmcli c modify ens192 ipv4.method manual
[root@localhost ~]# nmcli c modify ens192 ipv4.gateway 192.168.1.1
[root@localhost ~]# nmcli c modify ens192 ipv4.dns 192.168.1.254,192.168.1.253
[root@localhost ~]# echo 'net.ipv6.conf.all.disable_ipv6 = 1' > /etc/sysctl.d/ipv6.conf
[root@localhost ~]# sed -i "s/^SELINUX=enforcing$/SELINUX=disabled/" /etc/selinux/config
[root@localhost ~]# systemctl enable chronyd
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# yum upgrade -y
[root@localhost ~]# reboot
今回は、Oracle Linux 7.3 を使用します。
[root@ks02 ~]# cat /etc/oracle-release
Oracle Linux Server release 7.3
[root@ks02 ~]# uname -r
4.1.12-61.1.28.el7uek.x86_64
1. RPM インストール。
Kickstart 環境に必要な RPM をインストールします。
- dhcp → PXE Boot で使用する DHCP サーバ。
- xinetd tftp-server tftp → PXE Boot で使用する TFTP サーバと、確認用の tftp クライアント。
- syslinux → PXE Boot のブートファイルを含む。
- httpd → Kickstart の設定ファイルや、OVMS の RPM 群を配置する。
[root@ks02 ~]# yum install -y dhcp xinetd tftp-server tftp syslinux httpd
2. DHCP サーバの起動。
下記のように、DHCP サーバの設定ファイルを作成します。
cat << EOF > /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.220 192.168.1.229;
next-server 192.168.1.116;
filename "pxelinux/pxelinux.0";
}
EOF
DHCP サーバを有効にして、起動します。
[root@ks02 ~]# systemctl enable dhcpd
[root@ks02 ~]# systemctl start dhcpd
3. TFTP サーバの起動。
TFTP サーバを有効化します。
OL7 でも、tftp サーバは xinetd で管理されています。
[root@ks02 ~]# grep disable /etc/xinetd.d/tftp
disable = yes
[root@ks02 ~]# sed -i 's/disable.*/disable\ =\ no/' /etc/xinetd.d/tftp
[root@ks02 ~]# grep disable /etc/xinetd.d/tftp
disable = no
xinetd を有効化して、起動します。
[root@ks02 ~]# systemctl enable xinetd
[root@ks02 ~]# systemctl start xinetd
TFTP サーバの公開ディレクトリは、デフォルトである
/var/lib/tftpboot のままにしてあります。
4. Web サーバの起動。
Apache HTTP Server の Web サーバを有効化して、起動しておきます。
[root@ks02 ~]# systemctl enable httpd
[root@ks02 ~]# systemctl start httpd
Web サーバの公開ディレクトリは、デフォルトのまま
/var/www/html 配下を利用します。
5. syslinux RPM からのファイルコピー。
今回は、Kickstart 関連ファイルの配置を下記のようにしています。
/ (root)
|
|-- var/lib/tftpboot/ (TFTPサーバのルート ディレクトリ)
| |-- pxelinux/
| |-- pxelinux.0
| |-- vesamenu.c32
| |-- xen.gz
| |-- pxelinux.cfg/
| | |-- default
| | |-- pxe.conf
| |
| |-- ovms342/
| |-- vmlinuz
| |-- initrd.img
|
|-- var/www/html/ (Webサーバのルート ディレクトリ)
| |-- ks/
| | |-- ovms342.ks
| |
| |-- ovms342/
| |-- (DVD ISOイメージによる Yum リポジトリ)
|
|-- media/ (DVD ISOイメージのマウント先として利用)
|
まずは syslinux RPM に含まれる、PXE Boot するファイルをコピーします。
[root@ks02 ~]# mkdir /var/lib/tftpboot/pxelinux
[root@ks02 ~]# cp -p /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux/
[root@ks02 ~]# cp -p /usr/share/syslinux/vesamenu.c32 /var/lib/tftpboot/pxelinux/
6. OVMS インストーラからのファイルコピー。
OVMS インストーラの ISO ファイルをマウントします。
[root@ks02 ~]# md5sum OracleVM-Server-3.4.2-x86_64.iso
86f97bab988889b00ae40ee978e4977b OracleVM-Server-3.4.2-x86_64.iso
[root@ks02 ~]# mount -o loop OracleVM-Server-3.4.2-x86_64.iso /media/
mount: /dev/loop0 is write-protected, mounting read-only
ISO ファイルから、OVMS のインストーラを起動するためのファイルをコピーします。
[root@ks02 ~]# mkdir /var/lib/tftpboot/pxelinux/ovms342
[root@ks02 ~]# cp -p /media/images/pxeboot/vmlinuz /var/lib/tftpboot/pxelinux/ovms342/
[root@ks02 ~]# cp -p /media/images/pxeboot/initrd.img /var/lib/tftpboot/pxelinux/ovms342/
[root@ks02 ~]# cp -p /media/images/pxeboot/xen.gz /var/lib/tftpboot/pxelinux/ovms342/
ISO ファイルから、OVMS の RPM 一式をコピーします。
※今回は ISO ファイルの中身をまるごとコピーしてしまいます。
[root@ks02 ~]# mkdir /var/www/html/ovms342
[root@ks02 ~]# cp -pr /media/* /var/www/html/ovms342/
7. PXE Boot 設定ファイルの作成。
設定ファイルを格納するためのディレクトリを作成しておきます。
[root@ks02 ~]# mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg
PXE Boot メニューの設定ファイルを作成します。
cat << EOF > /var/lib/tftpboot/pxelinux/pxelinux.cfg/pxe.conf
MENU TITLE PXE Server ks02
NOESCAPE 1
ALLOWOPTIONS 1
PROMPT 0
menu width 80
menu rows 14
MENU TABMSGROW 24
MENU MARGIN 10
menu color title 1;36;44 #ff008080 #00000000 std
EOF
PXE Boot の設定ファイルを作成します。
通常の Oracle Linux の Boot とは異なり、xen.gz を読み込みます。
cat << EOF > /var/lib/tftpboot/pxelinux/pxelinux.cfg/default
DEFAULT vesamenu.c32
TIMEOUT 800
ONTIMEOUT 1
PROMPT 0
MENU INCLUDE pxelinux.cfg/pxe.conf
NOESCAPE 1
LABEL 1
MENU LABEL Local Boot
localboot 0
TEXT HELP
Boot to local hard disk
ENDTEXT
LABEL 2
MENU LABEL Oracle VM Server 3.4.2
KERNEL mboot.c32
APPEND /ovms342/xen.gz --- /ovms342/vmlinuz ip=dhcp ksdevice=eth0 ks=http://192.168.1.116/ks/ovms342.ks --- /ovms342/initrd.img
TEXT HELP
Install Oracle VM Server 3.4.2
ENDTEXT
EOF
8. Kickstart の設定ファイルの作成。
Web サーバの公開ディレクトリの配下に
Kickstart ファイルを配置するディレクトリを作成しておきます。
[root@ks02 ~]# mkdir /var/www/html/ks
今回は、下記のような kickstart ファイルを作成します。
※ほとんどデフォルト設定で、ネットワークも DHCP 設定です。
※rootpw、ovsagent のパスワード指定は適当な文字列にしています。
cat << EOF > /var/www/html/ks/ovms342.ks
# Kickstart file for Oracle VM Server 3.4.2
install
eula Accepted
url --url=http://192.168.1.116/ovms342/
lang ja_JP.UTF-8
keyboard jp106
network --onboot yes --device eth0 --bootproto dhcp --noipv6
ovsagent --iscrypted $6XXXXXXXXXXXXX
ovsmgmntif eth0
rootpw --iscrypted $6XXXXXXXXXXXXX
reboot
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone --utc Asia/Tokyo
bootloader --location=mbr --append="rhgb quiet" --dom0_mem=800M
clearpart --all --drives=sda
zerombr
part /boot --fstype=ext4 --size=500 --asprimary
part / --fstype=ext4 --grow --maxsize=51200 --size=4096
part swap --size=1024
%packages
@base
@core
@ovs-virtualization
EOF
9. OVMS のインストール。
OVMS をインストールするサーバを Network boot すると、
PXE Boot のメニューが表示されるので、「Oracle VM Server 3.4.2」を選択すると・・・
OVMS が自動インストールされます。
OVMS の Kickstart については、ドキュメントでは下記のあたりが参考になります。
Oracle VMInstallation and Upgrade Guide for Release 3.4
3.1 Installing Oracle VM Server for x86 from PXE Boot
http://docs.oracle.com/cd/E64076_01/E64078/html/vmiug-install-pxe.html
以上、OL7 で Kickstart 環境構築してみる話でした。
0 件のコメント:
コメントを投稿