kick startサーバを構築してインストールしてみた時の備忘録です。

■ネットワーク図


■説明
以前、kick・startのメディア版をメモっていましたが、今回はネットワークで自動インストールします。
流れ的には、「kick_start_client」がネットワークブート(PXE)「kick_start_server」からIPを割り当ててもらいます。
初期RAMなどはTFTPで配布し、パッケージやkickstartの設定ファイルはhttpで配布します。
ここでは、CentOS6 64bitの配信のみ行います。

■OS
CentOS6 64bit

前提条件
クライアントはネットワークブート(PXE)ができること

(1)必要なパッケージをインストール

[root@kick_start_server ~]# yum -y install httpd system-config-kickstart syslinux tftp-server dhcp

(2)DHCPサーバの設定
[root@kick_start_server ~]# vi /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#   see 'man 5 dhcpd.conf'
#
ddns-update-style ad-hoc;
subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.120 192.168.0.125;
        next-server 192.168.1.30;
        filename "pxelinux.0";
        }
※ここでは、クライアントに割り当てるIPの範囲は「192.168.0.120 – 192.168.0.125」までです。

(3)必要なディレクトリを作成
[root@kick_start_server ~]# mkdir /var/www/html/CentOS_6_64bit
[root@kick_start_server ~]# mkdir /var/www/html/kick_conf
[root@kick_start_server ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@kick_start_server ~]# mkdir /var/lib/tftpboot/CentOS_6_64bit
・/var/www/html/CentOS_6_64bit : インストールメディアのコピー先
・/var/www/html/kick_conf : kickstart設定ファイルの保存先
・/var/lib/tftpboot/pxelinux.cfg : ネットワークブートインストールのオプションファイル保存先
・/var/lib/tftpboot/CentOS_6_64bit : インストール起動カーネルと初期RAMの保存先

(4)CentOS6のメディアをマウントしてコピー
[root@kick_start_server ~]# mount /dev/cdrom /media/
mount: ブロックデバイス /dev/sr0 は書き込み禁止です、読込み専用でマウントします
[root@kick_start_server ~]# find /media/ -maxdepth 1 -mindepth 1 -exec cp -r {} /var/www/html/CentOS_6_64bit/ \;

(5)ブートストラップ・イメージをコピー
[root@kick_start_server ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

(6)インストール起動カーネルと初期RAMをコピー
[root@kick_start_server ~]# cp /var/www/html/CentOS_6_64bit/images/pxeboot/vmlinuz /var/lib/tftpboot/CentOS_6_64bit/
[root@kick_start_server ~]# cp /var/www/html/CentOS_6_64bit/images/pxeboot/initrd.img /var/lib/tftpboot/CentOS_6_64bit/

(7)ネットワークブート関連の設定ファイルを作成
[root@kick_start_server ~]# vi /var/lib/tftpboot/boot.msg
Kick Start Install
1. CentOS 6 64bit
[root@kick_start_server ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
prompt 1
display boot.msg
label 1
kernel /CentOS_6_64bit/vmlinuz
append initrd=/CentOS_6_64bit/initrd.img ks=http://192.168.0.30/ks.cfg

(8)kick startの設定ファイル作成


①「アプリケーション」を選択
②「システムツール」を選択
③「キックスタート」をクリック



HTTPサーバ : 192.168.0.30 (kick_start_serverのIP)
HTTPディレクトリ : CentOS_6_64bit (/var/www/html/CentOS_6_64bitディレクトリを指定)

後は、お好みに設定してファイルを保存する。

ファイル名 : ks.cfg

で、保存する。

(9)ks.cfgを移動、中身の確認
[root@kick_start_server ~]# mv ks.cfg /var/www/html/
[root@kick_start_server ~]# cat /var/www/html/ks.cfg
#platform=x86, AMD64, 又は Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="http://192.168.0.30/CentOS_6_64bit"
# Root password
rootpw --iscrypted $1$ZrU2uGNE$kE0Wkxsvs4onZpms8K2dW0
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# System keyboard
keyboard jp106
# System language
lang ja_JP
# SELinux configuration
selinux --enforcing
# Installation logging level
logging --level=info

# System timezone
timezone  Africa/Abidjan
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all

%packages
@development

%end
※url部分(ハイライト)に間違いが無いこと

(10)必要なプロセスを起動
[root@kick_start_server ~]# service httpd start
httpd を起動中:                                            [  OK  ]
[root@kick_start_server ~]# service dhcpd start
dhcpd を起動中:                                            [  OK  ]
[root@kick_start_server ~]# service xinetd start
xinetd を起動中:                                           [  OK  ]
[root@kick_start_server ~]# chkconfig tftp on

(11)クライアントでネットワークブートを実行


このように表示されるので「1」を入力してエンターを押す。

そうすると、勝手にインストールが始まる。

一度に沢山のマシンにインストールする時は便利ですね:D


10月 5, 2011 at 9:07 pm by 黒ぶちメガネ
Category: kick start, Linux, OSインストール