In my lab, when I need to provision a new or rebuild an existing ESXi host, I still prefer to use the true and tried method of an unattended/scripted installation also known as Kickstart. Below is a handy ESXi 5.5 Kickstart that I have been using to setup a basic VSAN environment. I figure this might come in handy for anyone looking to automate their ESXi 5.5 deployment and include some of the VSAN configurations like creating a VSAN Disk Group or enabling VSAN Traffic type on a particular VMkernel interface. For more details about this Kickstart, refer to the bottom of the file where I break down the file in more detail.

If you would like to see more details on creating ESXi Kickstart, make sure to check out my ESXi 4.x & 5.x examples here.

Line 6-9 This is generic Kickstart configurations specifying EULA, how to install, password, etc. You can refer to VMware's scripted install documentation.

Line 11-25 This extracts the DHCP IP Address (static allocation) and re-creates the network configuration in Line 25 for statically assigning the IP Address to the ESXi host

Line 27 This starts the firstboot script and assumes "Busybox" as the interpreter which means basic shell commands

Line 30 I create a custom key which will be logged in syslog for our installation

Line 32-41 Basic ESXi configurations leveraging vim-cmd and ESXCLI

Line 43-45 Configure the VSAN default storage policy, please refer to this article for more details.

Line 47-38 Configure the VSAN Traffic type on vmk0

Line 35 This starts a second firstboot script, but now using "Python"

Line 50-51 Assign a license to ESXi host

Line 53 Importing the appropriate libraries that will be used in the Python script

Line 58 Using the same custom key that I created earlier for logging to syslog

Line 61-81 A method for creating VSAN Disk Group by inspecting vdq CLI and marking disks as local

Line 83-90 A method for creating VSAN Cluster, please refer to this article for more details.

Line 92-93 Invoking the two Python methods. You can either create a custom Kickstart for your "first" ESXi node if you decide to bootstrap your VSAN Cluster onto a single ESXi host. You can also use custom boot options to specify whether the ESXi host being provisioned is the first or additional nodes. This topic is a bit advanced, but if you are interested, take a look at this article here.

9 thoughts on “ESXi 5.5 Kickstart script for setting up VSAN

  1. William,
    Most valueable blog post as all you share on the Web. And the quality is one of the best!
    BTW, can you tell me which tool are you using to insert into your blog the above kickstart file text with all the nice fetures it brings (copy/line numlbers toggle, new window etc…)?

      • Hi William, hope you are good, so nice scripting on Virtualization tech, hope you are very familiar about how to perform scripting installation over more than 100 ESXI hosts, please let me know if so, many thanks! in advance

  2. And for the newbie – how does one identify 1) if they even have VSAN available to them? and 2) What version is running/available?

    • There’s no changes from a Kickstart standpoint between 5.5/6.0, so its not needed. Also, I don’t have infinite amount of time to cover every single topic 🙂 Kickstart for 6.x works and haven’t had any issues and this is true for 6.5 as well

  3. This is all I wanted to hear – I assume you have no issues kickstarting nested ESXi 6u2 with basic E1000E Ethernet interface. I and others tried that and other common hardware combinations of Ethernet with the same result. Can somebody in this blog confirm that they succeeded in nested or other ESXi kickstart in vSphere 6u2.

Thanks for the comment!