ESXi installation is an easy job for one or two hosts, but imagine to repeat such installation for 40/50 hosts: it would take all day. To prevent such time-consuming situation VMware allow administrators to perform unattended ESXi installation.
Unattended installation is performed using a kickstart script that will be provided during boot. Kickstart script contains all parameters needed by ESXi to automatically complete installation process without further human intervention.
At first I suggest you to have a look at official documentation regarding ESXi 5.5 scripted installation:
Deploying ESXi 5.x using the Scripted Install feature (2004582)
About Installation and Upgrade Scripts
Here's my kickstart file. I named it ks.cfg. You can use it as a base template and edit it according to your requirements.
As you can see the code is already commented but let me spend a few words on:
install --firstdisk --overwritevmfs
This is used to install ESXi on first available local disk overwriting any existent VMFS partition.
While:
network --bootproto=static --device=vmnic0 --ip=192.168.116.228 --netmask=255.255.255.0 --gateway=192.168.116.2 --nameserver=192.168.116.2 --hostname=esx1.testdomain.local --vlanid=100 --addvmportgroup=1
Specifies that vmnic0 will be used for management and assigns to it IP address, netmask, gateway and vlan id.
--addvmportgroup=1 creates the VM Network portgroup to which virtual machines will be connected by default.
Let me now explain how to use this kickstart file during installation.
Boot your host with ESXi installation media attached (I use CDROM). During boot press SHIFT + O toEdit boot options. Weasel prompt will appear.
> runweasel
Basic command to use a network accessible (HTTP, HTTPS, NFS, FTP) kickstart file is:
> runweasel ks=<kickstart_file_location> ip=<ip_address_to_use_to_retrieve_ks> netmask=<netmask_to_use_to_retrieve_ks> gateway=<gateway_to_use_to_retrieve_ks> vlanid=<vlan_to_use_to_retrieve_ks>
kickstart script s location can be not just an HTTP(S) server. Even FTP, NFS, cdrom or usb are accepted in the form of:
ks=protocol://<serverpath>
ks=cdrom:/<path\>
ks=file://<path>
ks=usb:</path>
In this example I retrieve kickstart file from a webserver (an HTTP location) and assign192.168.116.222 as IP address for host during installation process.
> runweasel ks=http://192.168.116.1:8080/ks.cfg ip=192.168.116.222 netmask=255.255.255.0 gateway=192.168.116.2
Unattended installation will begin by parsing kickstart file.
When installation is completed host will reboot and ESXi will be ready to be used.
That's all!!
==================================================================
Unattended installation is performed using a kickstart script that will be provided during boot. Kickstart script contains all parameters needed by ESXi to automatically complete installation process without further human intervention.
At first I suggest you to have a look at official documentation regarding ESXi 5.5 scripted installation:
Deploying ESXi 5.x using the Scripted Install feature (2004582)
About Installation and Upgrade Scripts
Here's my kickstart file. I named it ks.cfg. You can use it as a base template and edit it according to your requirements.
#
# 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.116.228 --netmask=255.255.255.0 --gateway=192.168.116.2 --nameserver=192.168.116.2 --hostname=esx1.testdomain.local --vlanid=100 --addvmportgroup=1
#Reboot after installation completed
reboot
As you can see the code is already commented but let me spend a few words on:
install --firstdisk --overwritevmfs
This is used to install ESXi on first available local disk overwriting any existent VMFS partition.
While:
network --bootproto=static --device=vmnic0 --ip=192.168.116.228 --netmask=255.255.255.0 --gateway=192.168.116.2 --nameserver=192.168.116.2 --hostname=esx1.testdomain.local --vlanid=100 --addvmportgroup=1
Specifies that vmnic0 will be used for management and assigns to it IP address, netmask, gateway and vlan id.
--addvmportgroup=1 creates the VM Network portgroup to which virtual machines will be connected by default.
Let me now explain how to use this kickstart file during installation.
Boot your host with ESXi installation media attached (I use CDROM). During boot press SHIFT + O toEdit boot options. Weasel prompt will appear.
> runweasel
Basic command to use a network accessible (HTTP, HTTPS, NFS, FTP) kickstart file is:
> runweasel ks=<kickstart_file_location> ip=<ip_address_to_use_to_retrieve_ks> netmask=<netmask_to_use_to_retrieve_ks> gateway=<gateway_to_use_to_retrieve_ks> vlanid=<vlan_to_use_to_retrieve_ks>
kickstart script s location can be not just an HTTP(S) server. Even FTP, NFS, cdrom or usb are accepted in the form of:
ks=protocol://<serverpath>
ks=cdrom:/<path\>
ks=file://<path>
ks=usb:</path>
In this example I retrieve kickstart file from a webserver (an HTTP location) and assign192.168.116.222 as IP address for host during installation process.
> runweasel ks=http://192.168.116.1:8080/ks.cfg ip=192.168.116.222 netmask=255.255.255.0 gateway=192.168.116.2
Unattended installation will begin by parsing kickstart file.
When installation is completed host will reboot and ESXi will be ready to be used.
That's all!!
==================================================================
No comments:
Post a Comment