今までCentOSUbuntuの自動インストール方法について記述してきたので、今回はVMware ESXiの自動インストールについて記述する。 さてさて、どうやってESXiの自動インストールを行うのか? 実はこのVMware ESXi、CentOSで使ったKickstartが使えるのである。

というわけで、同様にKickstartを用いてインストールを進めてみよう。 今回は、まず「Kickstartを用いた自動インストールができること」を主眼に置くので、そんなに凝った事はしない。 インストール対象にはESXi 5.5、作業にはCentOS 6.5を用いる事にした。別にUbuntuでも良かったんだけど、せっかく?のKickstart繋がりで。。。

1.OSイメージの抽出

まずは、ESXiのisoファイルの中身をローカルにコピーし編集出来るようにする。 以下のコマンドを実行し、isoファイルをマウント、中身をコピーする。

[root@test-centos ~]# mkdir /home/ESXI5.5_MOUNT
[root@test-centos ~]# mkdir /home/ESXi-5.5-custom
[root@test-centos ~]# mount -o loop /home/VMware-VMvisor-Installer-5.5.0-1331820.x86_64.iso /home/ESXI5.5_MOUNT/
[root@test-centos ~]# cp -r /home/ESXI5.5_MOUNT/ /home/ESXi-5.5-custom
[root@test-centos ~]# cd /home/ESXi-5.5-custom
[root@test-centos ESXi-5.5-custom]#

2.Kickstart設定ファイルの設置

Kickstartの設定ファイル「ks.cfg」を、インストールディスクの直下に設置する。 今回の場合は「/home/ESXi-5.5-custom」の直下に作成する。

[root@test-centos ESXi-5.5-custom]# vim ks.cfg

●ks.cfg

 #
 # Sample scripted installation file
 #
 # Accept EULA
 vmaccepteula
 # Set root password
 rootpw mypassword
 #Install on local disk overwriting any existing VMFS datastore
 install --firstdisk --overwritevmfs
 # Network configuration
 # network --bootproto=static --device=vmnic0 --ip=192.168.0.250 --netmask=255.255.255.0 --gateway=192.168.0.1 --nameserver=192.168.0.1 --addvmportgroup=false1
 network --bootproto=dhcp --device=vmnic0

 #Reboot after installation completed
 reboot

設定しているそれぞれの内容は、以下のようになる。

vmaccepteula:利用許諾書に承認する ②rootpw mypassword:rootパスワードを「mypassword」に設定する ③install --firstdisk --overwritevmfs:一つ目のディスクに上書きインストールする ④network --bootproto=dhcp --device=vmnic0:ネットワークは、vmnic0でDHCP接続を利用する ⑤reboot:インストール完了後、再起動処理を行う

3.その他設定ファイルの編集

先ほど作成した「ks.cfg」を読み込ませるため、「boot.cfg」、「isolinux.cfg」を以下のように編集する。 なお、ここで「ks.cfg」に関して記述する際は、"全て大文字で記述する"点に注意する事。

●boot.cfg

bootstate=0
title=Loading ESXi installer
kernel=/tboot.b00
kernelopt=runweasel ks=cdrom:/KS.CFG
modules=/b.b00 --- /jumpstrt.gz --- /useropts.gz --- /k.b00 --- /chardevs.b00 --- /a.b00 --- /user.b00 --- /sb.v00 --- /s.v00 --- /ata_pata.v00 --- /ata_pata.v01 --- /ata_pata.v02 --- /ata_pata.v03 --- /ata_pata.v04 --- /ata_pata.v05 --- /ata_pata.v06 --- /ata_pata.v07 --- /block_cc.v00 --- /ehci_ehc.v00 --- /elxnet.v00 --- /weaselin.t00 --- /esx_dvfi.v00 --- /xlibs.v00 --- /ima_qla4.v00 --- /ipmi_ipm.v00 --- /ipmi_ipm.v01 --- /ipmi_ipm.v02 --- /lpfc.v00 --- /lsi_mr3.v00 --- /lsi_msgp.v00 --- /misc_cni.v00 --- /misc_dri.v00 --- /mtip32xx.v00 --- /net_be2n.v00 --- /net_bnx2.v00 --- /net_bnx2.v01 --- /net_cnic.v00 --- /net_e100.v00 --- /net_e100.v01 --- /net_enic.v00 --- /net_forc.v00 --- /net_igb.v00 --- /net_ixgb.v00 --- /net_mlx4.v00 --- /net_mlx4.v01 --- /net_nx_n.v00 --- /net_tg3.v00 --- /net_vmxn.v00 --- /ohci_usb.v00 --- /qlnative.v00 --- /rste.v00 --- /sata_ahc.v00 --- /sata_ata.v00 --- /sata_sat.v00 --- /sata_sat.v01 --- /sata_sat.v02 --- /sata_sat.v03 --- /sata_sat.v04 --- /scsi_aac.v00 --- /scsi_adp.v00 --- /scsi_aic.v00 --- /scsi_bnx.v00 --- /scsi_bnx.v01 --- /scsi_fni.v00 --- /scsi_hps.v00 --- /scsi_ips.v00 --- /scsi_lpf.v00 --- /scsi_meg.v00 --- /scsi_meg.v01 --- /scsi_meg.v02 --- /scsi_mpt.v00 --- /scsi_mpt.v01 --- /scsi_mpt.v02 --- /scsi_qla.v00 --- /scsi_qla.v01 --- /uhci_usb.v00 --- /tools.t00 --- /xorg.v00 --- /imgdb.tgz --- /imgpayld.tgz
build=
updated=0

●isolinux.cfg

DEFAULT menu.c32
MENU TITLE ESXi-5.5.0-1331820-standard Boot Menu
NOHALT 1
PROMPT 0
TIMEOUT 80
LABEL install
KERNEL mboot.c32
APPEND -c boot.cfg ks=cdrom:/KS.CFG --- vmkernel.gz --- sys.vgz --- cim.vgz --- ienviron.vgz --- install.vgzg
MENU LABEL ESXi-5.5.0-1331820-custom ^Installer
LABEL hddboot
LOCALBOOT 0x80
MENU LABEL ^Boot from local disk

4.ISOイメージの作成

さて、これで設定ファイルの編集や作成は完了した。 以下のコマンドを実行し、ISOファイルを作成する。

[root@test-centos ESXi-5.5-custom]# mkisofs -relaxed-filenames -J -R -o ../custom_esxi_55.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table .
Warning: creating filesystem that does not conform to ISO-9660.
I: -input-charset not specified, using utf-8 (detected in locale settings)
Size of boot image is 4 sectors -> No emulation
  3.01% done, estimate finish Mon Jun  9 07:40:55 2014
  6.00% done, estimate finish Mon Jun  9 07:40:55 2014
  9.00% done, estimate finish Mon Jun  9 07:40:55 2014
 11.99% done, estimate finish Mon Jun  9 07:40:55 2014
 14.99% done, estimate finish Mon Jun  9 07:40:55 2014
 17.98% done, estimate finish Mon Jun  9 07:40:55 2014
 20.98% done, estimate finish Mon Jun  9 07:40:55 2014
 23.98% done, estimate finish Mon Jun  9 07:40:55 2014
 26.98% done, estimate finish Mon Jun  9 07:40:55 2014
 29.97% done, estimate finish Mon Jun  9 07:40:55 2014
 32.97% done, estimate finish Mon Jun  9 07:40:55 2014
 35.97% done, estimate finish Mon Jun  9 07:40:55 2014
 38.96% done, estimate finish Mon Jun  9 07:40:55 2014
 41.96% done, estimate finish Mon Jun  9 07:40:55 2014
 44.95% done, estimate finish Mon Jun  9 07:40:55 2014
 47.95% done, estimate finish Mon Jun  9 07:40:55 2014
 50.95% done, estimate finish Mon Jun  9 07:40:55 2014
 53.95% done, estimate finish Mon Jun  9 07:40:55 2014
 56.94% done, estimate finish Mon Jun  9 07:40:55 2014
 59.94% done, estimate finish Mon Jun  9 07:40:55 2014
 62.93% done, estimate finish Mon Jun  9 07:40:55 2014
 65.93% done, estimate finish Mon Jun  9 07:40:55 2014
 68.93% done, estimate finish Mon Jun  9 07:40:55 2014
 71.93% done, estimate finish Mon Jun  9 07:40:55 2014
 74.92% done, estimate finish Mon Jun  9 07:40:55 2014
 77.92% done, estimate finish Mon Jun  9 07:40:55 2014
 80.91% done, estimate finish Mon Jun  9 07:40:55 2014
 83.91% done, estimate finish Mon Jun  9 07:40:55 2014
 86.91% done, estimate finish Mon Jun  9 07:40:55 2014
 89.91% done, estimate finish Mon Jun  9 07:40:55 2014
 92.90% done, estimate finish Mon Jun  9 07:40:55 2014
 95.90% done, estimate finish Mon Jun  9 07:40:55 2014
 98.89% done, estimate finish Mon Jun  9 07:40:55 2014
Total translation table size: 2048
Total rockridge attributes bytes: 9599
Total directory bytes: 19222
Path table size(bytes): 50
Max brk space used 27000
166852 extents written (325 MB)
[root@test-centos ESXi-5.5-custom]#

さて、これでESXiの自動インストールディスクイメージが完成した。 「ks.cfg」を用いた細かい設定等については、また以後改めて試してみる。