Hardware setup
- VMware Workstation 8.0.4 with a virtual network bridged to external network.
- The virtual network needs to be bridged and cannot be Host-only or else the PXE boot does not work for the TFTP
- Virtual Machine with 4 vCPU (2 dual-core processors), 4 GB memory and 60 GB virtual disk running RHEL 6.3 for PXE server
- Virtual Machine with 2 vCPU (2 single-core processors), 2 GB memory and 40 GB virtual disk for ESXi 5 installation
Software setup
- syslinux 3.86
- ESXi 5 PXE boot installation only works with syslinux 3.86. syslinux 4.0.6 is not compatible, for example, APPEND -c boot.cfg code cannot be recognized on the PXE configuration file
- tftp-server 0.49
- dhcp 4.1.1
- httpd 2.2.15
- VMware Workstation 8.0.4
Software installation and configuration of PXE server
- tftp-server
- yum install tftp-server
- sed -e 's/\(\s\*\)disable\(\s\*\)= yes/\1disable\2= no/' -i /etc/xinetd/tftp
- service xinetd start
- cd /; ln -s /var/lib/tftpboot
- dhcp
- yum install dhcp
- cd /etc/dhcp
- cp -rp dhcpd.conf dhcpd.conf.`date +%Y%m%d`
- Update dhcpd.conf as shown on dhcpd.conf in references section
- cd /etc/sysconfig
- cp -rp dhcpd dhcpd.`date +%Y%m%d`
- sed -e 's/DHCPDARGS=$/DHCPDARGS=eth1/' -i dhcpd
- service dhcpd start
- syslinux
- yum install perl-Crypt-PasswdMD5-1.3-6.el6.noarch -y
- yum install perl-Digest-SHA1-2.12-2.el6.x86_64 -y
- wget ftp://ftp.ntua.gr/pub/linux/scientificlinux/6.0/x86_64/os/Packages/syslinux-3.86-1.1.el6.x86_64.rpm
- rpm -ivh syslinux-3.86-1.1.el6.x86_64.rpm
- cp -p /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
- mkdir -p /tftpboot/pxelinux.cfg
- Put the PXE configuration file as 01-mac_address_of_target_ESXi_host under the directory /tftpboot/pxelinux.cfg. Sample is shown in references section.
- Note: The MAC address has to be in lower case hexadecimal characters
- httpd
- httpd is installed by default on RHEL6 and so no need to install the package
- chkconfig httpd on; service httpd on
- cd /var/www/html ; mkdir -p /var/www/html/esx5i_ksFiles
- Update ks.cfg as shown on ks.cfg in references section
- Firewall
- Run system-config-firewall-tui to enable rule to allow tftp and http incoming traffic
- ESXi 5 image repository
- On the PXE server VM, connect the CDROM to the ESXi 5 ISO image
- mount /dev/sr0 /mnt
- cd /mnt
- tar cvf - . | (cd /tftpboot; tar xvf -)
- Update /tftpboot/boot.cfg to indicate the location of the kickstart configuration file ks.cfg as follows.
- sed -e 's/\(kernelopt=runweasel\)/\1 ks=http:\/\/192.168.88.1\/esx5i_ksFiles\/ks.cfg/' -i boot.cfg
Next steps
- Customize the kickstart configuration file ks.cfg for post installation setup.
- Implementation of ESXi 5 auto deploy feature
References
- dhcpd.conf
- option domain-name "wolfliar.local";
- option domain-name-servers dc1.wolfliar.local;
- default-lease-time 600;
- max-lease-time 7200;
- ddns-update-style none;
- allow booting;
- allow bootp;
- authoritative;
- log-facility local7;
- class "pxeclients" {
- match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
- next-server 192.168.88.1;
- filename "pxelinux.0";
- }
- subnet 192.168.88.0 netmask 255.255.255.0 {
- range 192.168.88.100 192.168.88.149;
- }
- 01-mac_address_of_target_ESXi_host
- DEFAULT menu.c32
- NOHALT 1
- PROMPT 0
- TIMEOUT 80
- LABEL install
- KERNEL mboot.c32
- APPEND -c boot.cfg
- MENU LABEL ESXi-5.0.0-469512-standard ^Installer
- LABEL hddboot
- LOCALBOOT 0x80
- MENU LABEL ^Boot from local disk
- MENU TITLE ESXi-5.0.0-469512-standard Boot Menu
- ks.cfg
- #
- # Sample scripted installation file
- #
- # Accept the VMware End User License Agreement
- vmaccepteula
- # Set the root password for the DCUI and Tech Support Mode
- rootpw mypassword
- # Install on the first local disk available on machine
- install --firstdisk --overwritevmfs
- # Set the network to DHCP on the first network adapter
- network --bootproto=dhcp --device=vmnic0
- # A sample post-install script
- %post --interpreter=python --ignorefailure=true
- import time
- stampFile = open('/finished.stamp', mode='w')
- stampFile.write( time.asctime() )
- %firstboot --interpreter=busybox
- # Remove the uplink to the PXE boot environment from the
- primary vSwitch
- esxcfg-vswitch -U vmnic4 vSwitch0
沒有留言:
張貼留言