##はじめに
ESXi6.0の自動インストールの手順をまとめました。
自分の備忘をかねているのでやや長文です。
##目次
- DHCPサーバの構築
- TFTPサーバの構築
- Webサーバの構築
- OSイメージの準備
- 設定ファイルの準備
- kickstartファイルの準備
- 起動する
##1. DHCPサーバの構築
1.DHCPサーバを準備します。
# yum install dhcp
# rpm -qa | grep dhcp
dhcpv6-client-1.0.10-4.el5
dhcp-3.0.5-18.el5
2./etc/dhcpd.conf を編集します。
①「range」の行は、DHCPで割り当てるIPアドレスの範囲を記入する。
②「option routers」の行は、getewayを指定する。
③「next-server」の行は、この仮想マシン自体のIPアドレスを指定する。
④「filename」の行は、bootx64.efiを指定する。
ddns-update-style interim;
allow booting;
allow bootp;
ignore client-updates;
set vendorclass = option vendor-class-identifier;
option pxe-system-type code 93 = unsigned integer 16;
subnet 172.23.0.0 netmask 255.255.0.0 {
option subnet-mask 255.255.0.0;
range dynamic-bootp 172.23.190.60 172.23.190.80;
default-lease-time 21600;
max-lease-time 43200;
next-server 172.23.190.6;
filename "/var/lib/tftpboot/linux_install/pxelinux.0";
}
3.サービスを再起動します。
# service dhcpd restart
##2. TFTPサーバの構築
1.TFTPサーバを用意します。
# yum install tftp-server tftp
# rpm -qa | grep tftp
tftp-0.49-7.el6.x86_64
tftp-server-0.49-7.el6.x86_64
2./etc/xinitd.d/tftpを編集します。
①「server_args」の行は、TFTPでアクセスしたときに見せるディレクトリを指定する。
②「disable」の行を「no」に書き換える。
# 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 = -v -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
3.サービスを再起動します。
# service xinetd restart
##3. Webサーバの構築
1.Webサーバをインストールします。
# yum install httpd
# rpm -qa | grep httpd
httpd-2.2.15-39.el6.x86_64
httpd-tools-2.2.15-39.el6.x86_64
2.ホスト名を確認します。
# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hostname
3./etc/httpd/conf/httpd.confを編集します。
①「ServerName」の行に、ホスト名を入力する。
②「AddDefaultCharset UTF-8」の行は、コメントアウトする。
(途中省略)
ServerName hostname
(途中省略)
#AddDefaultCharset UTF-8
4.サービスを再起動します。
# service httpd restart
5.SELinuxを無効化します。
# /usr/sbin/getenforce
Enfording
##4.OSイメージの準備
1.ESXi6.0のisoをマウントします。
# mount -t iso9660 -o loop /root/~.iso /tmp/esxi6.0
2.TFTPサーバへ格納します。
# cp /tmp/esxi6.0/* /tftpboot/esxi_install/esxi6.0/
# cp /tmp/esxi6.0/efi/boot/bootx64.efi /tftpboot/esxi_install/
##5. 設定ファイルの準備
1.インストール対象のサーバのうち、接続するNICのMACアドレスを調べておいてください。
2.そのMACアドレス名でディレクトリを作成し、boot.cfgを置きます。
※xx-xx-xx-xx-xx-xxは、MACアドレスを表しています。
※MACアドレスの英字は小文字で入力してください。(大文字だと読み込めないようです。)
# mkdir /tftpboot/esxi_install/01-xx-xx-xx-xx-xx-xx
# cp /tmp/esxi6.0/efi/boot/boot.cfg /tftpboot/esxi_install/01-xx-xx-xx-xx-xx-xx/
3.設定ファイルの中身を編集します。
bootstate=0
title=Loading ESXi installer (^^)
timeout=3
prefix=esxi_install/esxi6.0
kernel=tboot.b00
#kernelopt=runweasel
kernelopt=ks=http://192.168.190.50/01-xx-xx-xx-xx-xx-xx.cfg
modules=b.b00 --- jumpstrt.gz …(この先は省略です。)
##6.kickstartファイルの準備
1.Webサーバ内に「/var/www/html/01-xx-xx-xx-xx-xx-xx.cfg」を作成します。
ここへ、IPアドレスなど設定したい内容を記入します。
vmaccepteula
install --firstdisk --overwritevmfs
rootpw password
keyboard Japanese
network --bootproto=static --ip=10.60.190.20 --gateway=10.160.190.1 --nameserver=10.60.190.17,10.60.190.18 --netmask=255.255.255.0 --hostname=testserver --addvmportgroup=1 --vlanid=0
reboot
%firstboot --interpreter=busybox
vim-cmd hostsvc/enable_ssh
vim-cmd hostsvc/start_ssh
vim-cmd hostsvc/enable_esx_shell
vim-cmd hostsvc/start_esx_shell
esxcli system module parameters set -m tcpip4 -p ipv6=0
reboot
##7. 起動する
インストール対象のサーバとPCを接続し、サーバをネットワークブートすると
ESXi6.0が自動でインストールされます。