orenoblog

エンジニアになりたいExcel方眼紙erの物語

Kickstartのメモ

PXEブータに成功したらKickstartで地球をもり上げないと面白くないよね。

Kickstartファイルを作る方法は3種類

1.インストールした時にできるks.cfgをカスタム
2.GUI使ってks.cfgを作成
3.マニュアル読みながら一から作成

GUI厨にはなりたくないぜー。でも3はめんどうだぜー
つーことで今回は2を使いました。
んでもって、VMWare ESXi4.1使ってるので、
VMWare-toolsもインストールしておきたいなと思いましたので、
無理やりVMWare-toolsをKickstart内でインストールする方法も書いてあります。

サーバ構成
ESXiサーバ:10.1.0.1
kickstartサーバ:10.1.0.253

(1)KickstartターゲットのOSをインストール
入れるだけ。ヌルヌルと。
(2)ks.cfgの取得
インストールが終わると/root/ks.cfgがあるので、それをPXEサーバにコピーする。

    • kickstartサーバで実行

mkdir /var/Kickstart-cfg

mkdir /var/Kickstart-cfg/post/vmtools

    • ks.cfgの作られたサーバで実行

scp /root/ks.cfg 10.1.0.253:/var/Kickstart-cfg/OracleEnterpriseLinux5-ks.cfg
(3)/etc/exportsとpxelinux.cfg/の変更
vi /etc/exports

    • 以下を追加する

/var/Kickstart-cfg/ 10.1.0.0/255.255.255.0(rw)

    • 前回作成したPXELinuxのコンフィグディレクトリにあるMACAddr

vi /tftpboot/OracleEnterpriseLinux5_x86_64/pxelinux.cfg/

    • append load文を以下のように変更

append load initrd=initrd.img devfs=nomoun

append load ks=nfs:10.1.0.253:/var/Kickstart-cfg/OracleEnterpriseLinux5-ks.cfg
(4)VMWare toolsの準備
VMWare-toolsはRPM版がなくなっているんですよ。
恐らくインターネッツ上にあるんでしょうけど、面倒くさいので
ホストOS内のVMWare-toolsイメージをそのまま使います。
sshでホストOSにログインします。
sshが有効になっていないホストは予めsshによるリモートログインをONにしてくださいね。
ESXi4.1からは、管理コンソールからリモートログインEnable/Disableが設定できるようになったので
すげえ楽チンです。
unsupportedなんていう魔法の言葉は必要ないですし、
コマンドも結構充実してます。
さて、以下手順

    • ESXiホストOSにログイン

ssh 10.1.0.1
find / -name linux.iso

    • 見つかったisoファイルをkickstartサーバにコピー

scp /vmfs/volumes/3c3693e8-f77a642a-1910-5c6bdcb26d3a/packages/4.1.0/vmtools/linux.iso /var/Kickstart-cfg/post/vmtools

    • 用は無いのでログアウト

exit

    • kickstartサーバにログイン

ssh 10.1.0.253
cd /var/Kickstart/post/vmtools
chmod 755 linux.iso

(5)kickstartファイルの編集
kickstartは以下の構文構成となっています。
%pre/%post内ではシェルスクリプトを実行することも可能です。
%pre:インストール設定を行う
%packages:インストールするパッケージを設定する
%post:インストール後の処理を設定する

dhcpDNS割当てたりもできるんで、
不足分は全てインターネッツから取得してインストールするなんてことも可能。
ぼくのかんがえたさいきょうのじゅんびすくりぷとを実行できます。
これはむてきんぐですよ。

今回作っているkickstartは以下の通り
まだ作成中ですよん。
以上!

    • 以下参考--

# Kickstart file automatically generated by anaconda.
# Oracle Enterprise Linux 5 (x86_64)
# 自分用Kickstart FILE
install
nfs --server=10.1.0.253 --dir=/mnt/iso
lang ja_JP.UTF-8
keyboard jp106
xconfig --startxonboot
network --device eth0 --bootproto static --ip 10.1.0.50 --netmask 255.255.255.0 --gateway 10.1.0.254 --nameserver 10.0.1.253 --hostname db01-pub
rootpw unkoman
firewall --enabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --disabled
timezone Asia/Tokyo
bootloader --location=mbr --driveorder=sda --append="rhgb quiet"
# Remove All Partition(Ignore)
clearpart --all --initlabel --drives=sda
# Create /boot filesystem & Physical Volume
part /boot --fstype ext3 --size=100 --ondisk=sda
part pv.2 --size=0 --grow --ondisk=sda
volgroup VolGroup00 --pesize=32768 pv.2
# Create swap volume Size 4096MB
logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=4096 --grow --maxsize=4096
# Create / volume Size 1024-8192
logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow --maxsize=8192
# Create /u01 volume Size=1000-The remainder capacity
logvol /u01 --fstype ext3 --name=LogVol02 --vgname=VolGroup00 --size=1000 --grow
# Reboot
reboot
# Package installation
%packages
@admin-tools
@base
@core
@dialup
@editors
@gnome-desktop
@games
@graphical-internet
@graphics
@japanese-support
@java
@legacy-software-support
@office
@printing
@sound-and-video
@text-internet
@base-x
system-config-kickstart
kexec-tools
fipscheck
squashfs-tools
device-mapper-multipath
sgpio
emacs
libsane-hpaio
xorg-x11-utils
xorg-x11-server-Xnest
# Packages Oracle 11g Release 2
sysstat
compat-libstdc++-33.x86_64
compat-glibc.x86_64
compat-glibc-headers.x86_64
glibc-devel.x86_64
# Post script
%post
# Modify Run Level
cp -p /etc/inittab /etc/inittab.org
sed -i "s/id:5:initdefault/id:3:initdefault:/g" /etc/inittab
# Add grid & oracle
groupadd -g 1000 oinstall
groupadd -g 1001 grid
groupadd -g 1002 asmdba
groupadd -g 1003 dba
useradd -u 10003 -g dba -G oinstall oracle
useradd -u 10001 -g grid -G oinstall grid
# Create RSA Key (Non Password)
su - grid -c 'ssh-keygen -t rsa -N "" -f $HOME/.ssh/id_rsa'
su - oracle -c 'ssh-keygen -t rsa -N "" -f $HOME/.ssh/id_rsa'
# Create Grid HOME
mkdir -p /u01/app/11.2.0/grid
chown -R grid:oinstall /u01/app/11.2.0
# Create Oracle HOME
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01/app/oracle
# VMWare Tools Setup(Default Install)
mkdir /tmp/vmware-tools
mount -ro nolock 10.1.0.253:/var/Kickstart-cfg/post/vmtools /tmp/vmware-tools
cp /tmp/vmware-tools/linux.iso /tmp
umount /tmp/vmware-tools
mount -o loop /tmp/linux.iso /tmp/vmware-tools
cp /tmp/vmware-tools/VMwareTools*.tar.gz /tmp
umount /tmp/vmware-tools
cd /tmp;tar zxf /tmp/VMwareTools*.tar.gz
/tmp/vmware-tools-distrib/vmware-install.pl -d
rmdir /tmp/vmware-tools