Checklist for a new Host in your cluster - Part 1 networking

It has been way too long since I put a post up as summer was extremely busy.  My hope is that as the fall comes into full swing I will be able to put more posts up to what I am working on.  This post was due to a rushed host implementation (self inflicted) and some components were missed in the build.  

This will read like a numbered list but most any main posted entry on the list can be run but the sub-entries should be run in the procedure shown.

New Host arrives, racked and cabled.  Blades typically don't need as much effort but the endpoint is the same.  

  • Pre-Build (manual process)
    • Get IP addresses from your IP Address Manager (excel spreadsheet or proper IPAM) for:
      • Management Interface (vmk0 vmkernel network port)
      • vMotion Interface (if used) 
        • make sure to segregate the network traffic for this one from your regular network either through a different physical switch or virtual LAN tagging.  (VLAN)
      • NFS or iSCSI interface (if used)
        • make sure to segregate the network traffic for this one from your regular network either through a different physical switch or virtual LAN tagging. (VLAN)
      • Fault Tolerance Interface (if used)
        • must be 10GBE speed
        • make sure to segregate the network traffic for this one from your regular network either through a different physical switch or virtual LAN tagging. (VLAN)
      • VXLAN transport (if using NSX)
        • must be a separate interface as the default gateway should be different than the Management. 
    • Get the address for your Network Time Protocol server (NTP)
    • Get the address for the Domain Name Service (DNS) accessible to the ESXi servers (management network)
    • Create a static entry on the DNS server for the management network IP address
    • Define the required VLANs for the underlying VMs (if used)

  • Initial build (manual process)
    • Install VMware ESXi - from the CD, mounted image, auto deploy (if you are using it)
    • Assign the network card port (eth0) for the vSwitch0 where the management and initial vm network are configured
    • Assign static IP address for the management of the server (used to be called ESX console, now it is named Management Network)
    • Assign VLAN tags if used
    • Assign DNS server in the network configuration
    • Assign a Hostname for your server within the DNS tab
  • Build (semi-automated)
    • Connect the Host to the vCenter server (DO NOT connect this server into the existing DRS cluster, connect to the main Datacenter object instead)
      • right click on the Datacenter object and select "add new host"
    • You can build the system with Host Profiles or with the use of scripts
      • Host profiles are a great way to build consistency and ensure that consistency is maintained (there is a means to reset the host configuration if there is too much drift from the original build)
      • Scripts provide a single point setup but allows drift from the original design
    • Build the networking for the VM (this script example is for virtual Standard Switches)
      • New-virtualswitch creates the switch
      • Set-virtualswitch sets the Physical Nic to the vSwitch
      • New-VMHostNetworkAdapter allows the creation of the vmk network adapters for vSphere communication
#connection string for connecting to vCenter
Add-PSSnapin VMware.VimAutomation.Core -ErrorAction SilentlyContinue
Connect-VIServer <vCenter Server Name> | Out-Null
$vHost = Get-VMHost <VMHost Name>

#creating the virtualSwitch
get-vmhost $vhost | New-VirtualSwitch -Name Internal -NumPorts 256 -nic vmnic1
get-vmhost $vhost | New-VirtualSwitch -Name Storage -NumPorts 64 -nic vmnic2
get-vmhost $vhost | New-VirtualSwitch -Name VMguest -NumPorts 512 -nic vmnic3 -mtu 9000
#Storage Switch
get-vmhost $vhost | get-virtualswitch -name Storage | New-VirtualPortGroup -Name NFS -VLanId 150
#VMguest Switch
get-vmhost $vhost | get-virtualswitch -name VMguest | New-VirtualPortGroup -Name VSS-LAN1 -VLanId 101
get-vmhost $vhost | get-virtualswitch -name VMguest | New-VirtualPortGroup -Name VSS-LAN2 -VLanId 102
get-vmhost $vhost | get-virtualswitch -name VMguest | New-VirtualPortGroup -Name VSS-LAN3 -VLanId 103
#vMotion virtual Switches 
get-vmhost $vhost | get-virtualswitch -name VMguest | New-VirtualPortGroup -Name vMotion -VLanId 100
get-vmhost $vhost | get-virtualswitch -name VMguest | New-VirtualPortGroup -Name vMotion2 -VLanId 100
#non-interface switch (internal vSwitch for limited VM traffic)
get-vmhost $vhost | get-virtualswitch -name Internal | New-VirtualPortGroup -Name Internal

#Assigning the VMK adapter IPs 
New-VMHostNetworkAdapter -vmhost $vhost -virtualswitch VMguest -IP -SubnetMask -VMotionEnabled $true -PortGroup vMotion
New-VMHostNetworkAdapter -vmhost $vhost -virtualswitch VMguest -IP -SubnetMask -VMotionEnabled $true -PortGroup vMotion2
New-VMHostNetworkAdapter -vmhost $vhost -virtualswitch Storage -IP -SubnetMask -PortGroup NFS 

This script does one of two things, one is configure the networking for the host in a one shot deal providing consistency and clarity to the design and secondly documents the setup for the host.  The next part of this series will document the addition and creation of the storage on the host.