このインストール用サーバーがあると、
空のサーバー機に、簡単に(CDメディアとか無しで)、VMWare ESX5をインストールすることが出来るようになります。(PXEブートして、ネットワーク上においたESX5インストールセットから、ESX5をインストルします。MACアドレスに対応づけた設定ファイルを置くことで、サーバー毎の設定を自動設定することもできます。)
この記事は、今のところちょっと手抜きで、こっちのCentOS6用の記事をベースにしてます。記事は、手抜き中。
インストール用サーバーは、1つのLinuxサーバーに、
・VMWare ESXのインストーラー一式を置く(tftp)
・PXEブート用のサーバー(dhcp, tftp)を置く
・必要ならば、インストール対象サーバー毎(MACアドレスで識別)の設定をファイル(kickstartファイル)で置く(http)
と、設定しておきます。
インストール対象のサーバーは、 インストール用サーバーと同一ネットワークにつなげて、ブートして放っておくとESX5が動いていることになります。
1. VMWare ESX5のローカルリポジトリ
/tftpboot/esxi50/に、VMware-VMvisor-Installer-5.0.0-nnnnnn.x86_64.isoの中身をまるっとコピーしておきます。
手順はざっと、VMware-VMvisor-Installer-5.0.0-nnnnnn.x86_64.isoを、/tmp/においたとして、
> cd /tftpboot/
> mkdir esxi50
> mount -o loop /tmp/VMware-VMvisor-Installer-5.0.0-nnnnnn.x86_64.iso /mnt/
> rsync -a /mnt/ esxi50/
2. PXEブートサーバー
これと同じように、dhcpとtftpとhttpサーバーを作る
dhcpの設定は、どれそれ
httpサーバーの設定は、どれそれ
/tftpboot/に、PXEブート用の設定をつくる
> ls -F /tftpboot/
esxi50/
pxelinux.0
pxelinux.cfg/
ここで、pxelinux.0は、これといっしょ。
2-1. PXEブートの最初の設定ファイル
こんなファイルを用意
> cat pxelinux.cfg/default
default esxi50
label esxi50
kernel /esxi50/mboot.c32
append -c /esxi50/boot.cfg
2-2. 次のESXインストーラーブート用の設定ファイル
最初からあるesxi50/boot.cfgから、 設定ファイル内のフルパス部分を変更
コピーしておいて、boot.cfgを、viなら「:%s#/##g」
結局こんなファイルを用意
> cat esxi50/boot.cfg
bootstate=0
title=Loading ESXi installer
prefix=/esxi50/
kernel=tboot.b00
#kernelopt=runweasel
modules=b.b00 --- useropts.gz --- k.b00 --- a.b00 --- 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 --- s.v00 --- weaselin.i00 --- ima-qla4.v00 --- ipmi-ipm.v00 --- ipmi-ipm.v01 --- ipmi-ipm.v02 --- misc-cni.v00 --- misc-dri.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-nx-n.v00 --- net-r816.v00 --- net-r816.v01 --- net-s2io.v00 --- net-sky2.v00 --- net-tg3.v00 --- ohci-usb.v00 --- sata-ahc.v00 --- sata-ata.v00 --- sata-sat.v00 --- sata-sat.v01 --- sata-sat.v02 --- sata-sat.v03 --- scsi-aac.v00 --- scsi-adp.v00 --- scsi-aic.v00 --- scsi-bnx.v00 --- 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 --- imgdb.tgz --- imgpayld.tgz
build=
updated=0
2-3. (必要ならば)インストール対象サーバ毎の設定ファイル
このファイルが無ければ、デフォルトでESXが入るだけです。あとで、手動で設定変更すればいいかと。
ここでは、インストール対象サーバーのMACアドレスに対応した設定ファイル(IPアドレスその他)を用意しておきます。
例えば、こんなファイルを用意し、httpで、見えるようにおいておきます。(ここでは、例えば、http://10.1.1.100/ksesx5-server001.cfgで見えるように置いておきます。)
> cat kickstart-server001.cfg
accepteula
install --firstdisk --overwritevmfs
rootpw password
reboot
network --bootproto=static --ip=10.1.1.1 --gateway=10.1.1.254 --nameserver=10.1.1.254 --netmask=25
5.255.255.0 --hostname=server001.saburi380.com --addvmportgroup=1
%firstboot --interpreter=busybox
# enable & start remote ESXi Shell (SSH)
vim-cmd hostsvc/enable_ssh
vim-cmd hostsvc/start_ssh
# enable & start ESXi Shell (TSM)
vim-cmd hostsvc/enable_esx_shell
vim-cmd hostsvc/start_esx_shell
# enable password login (SSH)
sed -i "s/PasswordAuthentication no/PasswordAuthentication yes/g" /etc/ssh/sshd_config
ただし、
・rootpw行のパスワードは、書き換えましょう。そのまんま書くのが嫌な人は、「rootpw --iscrypted ごにょごにょ」と書きます。ごにょごにょの求め方は、例えばパスワードが「naisyo」の人は、「openssl passwd -1 naisyo」とします。
・network行は、好きなように書き換えます。 ・%firstboot行以降は、ESXサーバーへのssh接続を可能にしちゃってます。嫌な人は消します。
それから、2-1のファイルの代わりに、「pxelinux.cfg/MACアドレス」の名前のファイルを作って、そこにkickstartファイルを読み込む設定を追加します。
> cat pxelinux.cfg/MACアドレス
default esxi50
label esxi50
kernel /esxi50/mboot.c32
append -c /esxi50/boot.cfg ks=http://10.1.1.100/ksesx5-server001.cfg
参考サイト
http://www.vcritical.com/2011/07/vmware-esxi-5-interactive-pxe-installation-improvements/
http://music.roderickderks.nl/kb/technical/321-esxi5-pxe-boot-setup-and-kscfg
--
以上
0 件のコメント:
コメントを投稿