2014年07月23日

Kickstartサーバ構築手順(CentOS6.5)

ご無沙汰しております。
世間ではCentOS7がリリースされ、systemdで盛り上がっている(?)ようですが
我が家のkickstartサーバをCentOS6.5で再構築しました。
(今までずっとCentOS5.9だったので早く6系に移行したかったのにこのタイミング)

CentOS5.9でやったときと多少違っていた部分があるので
再度書き残しておきます。

1)必要なパッケージをインストール
yum -y install syslinux
yum -y install dhcp
yum -y install xinetd
yum -y install nfs*
yum -y install tftp-server tftp
# rpm -qa | grep tftp
tftp-server-0.49-7.el6.x86_64
tftp-0.49-7.el6.x86_64
# rpm -qa | grep dhcp
dhcp-4.1.1-38.P1.el6.centos.x86_64
dhcp-common-4.1.1-38.P1.el6.centos.x86_64

2)ISOイメージのアップロード
SCP等でOS(今回はCentOS5.9を使用)イメージをサーバに送る
今回は/tmp直下に置いた。

3)ISOイメージのマウント、展開
mkdir /mnt/centos
mount -t iso9660 -o loop /tmp/CentOS-6.5-x86_64-bin-DVD1.iso /mnt/centos
cd /mnt/centos
mkdir /kickstart/isos
cp -r * /kickstart/isos

展開が終わったらISOイメージはumountしたうえで削除
(ディスク容量節約のため)
cd
umount /mnt/centos
rm -rf /tmp/CentOS-6.5-x86_64-bin-DVD1.iso

4)設定ファイルのコピー
mkdir /tftpboot
cp /usr/share/syslinux/pxelinux.0 /tftpboot/
cp /kickstart/isos/images/pxeboot/initrd.img /tftpboot/
cp /kickstart/isos/images/pxeboot/vmlinuz /tftpboot/

5)PXEブート用の設定ファイルを作成
mkdir /tftpboot/pxelinux.cfg
vi /tftpboot/pxelinux.cfg/default

/tftpboot/linux-install/pxelinux.cfg/defaultの中身

default centos6

label centos6
kernel vmlinuz
append load initrd=initrd.img devfs=nomount ks=nfs:[NFSサーバのIPアドレス]:/kickstart/ksconfig

cp /etc/xinetd.d/tftp /etc/xinetd.d/tftp.orig
vi /etc/xinetd.d/tftp

# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s -v /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}

/etc/init.d/xinetd restart

6)DHCPサーバの設定
ネットワークアドレス:172.17.0.0/16
デフォルトゲートウェイ:172.17.0.1
Kickstart(PXE)サーバ兼DHCPサーバ兼NFSサーバ:172.17.10.254
とした場合の記載例。

[root@dhcp02 ~]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
# see 'man 5 dhcpd.conf'
#
ddns-update-style interim;
ignore client-updates;

subnet 172.17.0.0 netmask 255.255.0.0 {

# --- default gateway
option routers 172.17.0.1;
option subnet-mask 255.255.0.0;

#option nis-domain "domain.org";
#option domain-name "domain.org";
option domain-name-servers 8.8.8.8;

option time-offset -18000; # Eastern Standard Time
filename "pxelinux.0";
next-server 172.17.10.254;
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;

range dynamic-bootp 172.17.10.0 172.17.10.253;
default-lease-time 21600;
max-lease-time 43200;

# we want the nameserver to appear at a fixed address
# host ns {
# next-server marvin.redhat.com;
# hardware ethernet 12:34:56:78:AB:CD;
# fixed-address 207.175.42.254;
# }
}


/etc/init.d/dhcpd restart

7)Kickstartコンフィグの作成
cp /root/anaconda-ks.cfg /kickstart/ksconfig
vi /kickstart/ksconfig

# Kickstart file automatically generated by anaconda.

install
autostep
#cdrom
nfs --server=172.17.10.254 --dir=/kickstart/isos
lang ja_JP.UTF-8
keyboard jp106
#network --device eth0 --bootproto static --ip 172.17.10.254 --netmask 255.255.0.0 --gateway 172.17.0.1 --nameserver 8.8.8.8,8.8.4.4 --hostname dhcp02
network --device eth0 --bootproto=dhcp --hostname localhost
rootpw --iscrypted $6$vPYwOc2ML0SQk9yY$dWBGQq55une4lpPuGiVwLfsqWHjS0nTwbj188OrJWAYnD0JbsUu6YvASKGDuw2qdaae9qgi2lfAygOeWJIgs7/
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone Asia/Tokyo
bootloader --location=mbr --driveorder=sda
text
reboot
#clearpart --drives=sda --all --initlabel --linux
#clearpart --drives=sda --all --initlabel
zerombr
clearpart --all --initlabel
#clearpart --linux --drives=sda --all --initlabel
part /boot --fstype ext4 --size=100 --ondisk=sda
part / --fstype ext4 --size=10000 --ondisk=sda --grow
part swap --size=2048 --ondisk=sda
# 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
#part /boot --fstype ext3 --size=100 --ondisk=sda
#part pv.2 --size=0 --grow --ondisk=sda
#volgroup VolGroup00 --pesize=32768 pv.2
#logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=1000 --grow --maxsize=4000
#logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow

%packages
@additional-devel
@base
@console-internet
@core
@desktop-platform-devel
@development
@japanese-support
@performance
@server-platform
@server-platform-devel
@server-policy
@system-management
@system-admin-tools
@workstation-policy
libgcrypt-devel
libXinerama-devel
openmotif-devel
libXmu-devel
xorg-x11-proto-devel
startup-notification-devel
libgnomeui-devel
libbonobo-devel
libXau-devel
libXrandr-devel
popt-devel
libdrm-devel
libxslt-devel
libglade2-devel
gnutls-devel
mtools
pax
sgpio
device-mapper-persistent-data
desktop-file-utils
jpackage-utils

前回はautostep入れてもうまくいかないのでclearpartを細かく設定したんですが
今回はclearpartを細かく設定してもインストールが途中で止まる!
autostepを有効にしたらノンストップでインストールするようになりました。
(まぁそれ以外にもtftpやらnfsやらで結構ひっかかってるんですけどね。。)


前回はclearpartを結構細かく設定してあげないとインストールが
途中で止まっていたわけですが、今回は細かく設定しても
止まったので、もしかしたら自動パーティショニングとかでも
いいのかもしれません。が、相変わらず前例踏襲で特にいじってません。

8)NFS設定
vi /etc/exports

/kickstart 172.17.0.0/255.255.0.0(rw)


前回のconfig
/kickstart *
ではうまく動いてくれず。

/etc/init.d/nfs restart


9)サービス無効化とか再起動とか
/etc/init.d/iptables stop
chkconfig iptables off
setenforce 0
vi /etc/sysconfig/selinux

SELINUX=disabled


いしかわさんごめんなさい。。


これで、ESXiとか使って空の仮想マシンを作成して
起動してPXEブートして自動でインストールできればおk。
一応つまづいたポイントもつまづかないように書き直したんで
これで一発でいけるはず?

※参考URL

手順のベースになったサイト
http://blog.layer8.sh/ja/2011/12/21/pxe%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%96%E3%83%BC%E3%83%88%E3%81%A7centos%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%ABkickstart%E3%81%AB%E3%82%88%E3%82%8B/

Kickstartのconfigを書くときに参考にしたサイト。オプションの説明が細かく書いてある。
https://access.redhat.com/site/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-kickstart2-options.html

partで苦戦してるときに参考にしたサイト。なんか見覚えのある名前です。
http://mikeda.jp/wiki/linux:%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E8%87%AA%E5%8B%95%E5%8C%96:kickstart

今回追加で参考にしたサイト
http://d.hatena.ne.jp/adsaria/20080129/1201592532
http://kazmax.zpp.jp/cmd/e/exports.5.html
http://www.server-world.info/query?os=CentOS_6&p=pxe&f=3
posted by maroon at 07:55| Comment(0) | IT_設定関連メモ | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。