Saturday, April 14, 2018

Plan and Implement VMware Fault Tolerance

Plan and Implement VMware Fault Tolerance

For this objective I used the following documents:
  • Documents listed in the Tools section

Objective 5.2 – Plan and Implement VMware Fault Tolerance


**ITEMS IN BOLD ARE TOPICS PULLED FROM THE BLUEPRINT**
Knowledge
  • Identify VMware Fault Tolerance requirements
    • Figuring out VMware Fault Tolerance requirements can be a bit cumbersome, especially when browsing through all the different CPUs and their combinations.   VMware has a tool called SiteSurvey that you can install and run and it will tell you if your hardware/software is compatible with VMware Fault Tolerance
    • VMware Fault Tolerance uses VMware’s vLockstep technology which requires extensions in the physical processor that are only present in todays’ (relative) processors 
    • Here are some basic requirements that the SiteSurvey utility checks for
      • CPU Compatibility – a host must have an FT capable processor; use the SiteSurvey help page to determine FT capable processors.  Both hosts that are hosting the FT virtual machines must have processors in the same processor family and the CPU speeds between the two hosts shouldn’t be different more than 400Mhz +/-
      •  ESXi hosts hosting FT virtual machines must be running the same version and build number
      • Hardware virtualization must be enabled in the BIOS
      • Each host participating in the Fault Tolerance cluster must have at least two physical NICs with speeds of at least 1Gbps or greater
      • Two virtual NICs, one for vMotion and one for FT logging must be present on each host in the FT cluster
      • The location of the protected virtual machine(s) must be on shared storage and that storage accessible to hosts in the FT cluster
      • Virtual machines protected by Fault Tolerance cannot have more than one vCPU
      • Thin-provisioned disks on virtual machines protected by Fault Tolerance are not supported.  Thin-provisioned disks are automatically converted when FT is enabled, however, the VM needs to be in a powered-off state
      • Snapshots are not supported for FT virtual machines, which also means no snapshots can be present when you enable FT
      • Physical RDMs are not supported on virtual machines protected by FT
      • N_Port ID Virtualization (NPIV) is not supported with FT as well as paravirtualized guests
      • CD-ROMs and/or Floppy drives backed by a remote or physical device are also not supported by FT
      • Vmxnet2 virtual NICs and physical NIC pass-through is not supported by FT

  • Configure VMware Fault Tolerance networking
    • At a minimum you need at least two physical NICs for Fault Tolerance networking; one for FT Logging and one for vMotion, you should also create a vSwitch for each
    • Each NIC must be on a different IP subnet
    • Add additional NICs to add redundancy and connect the redundant NICs to separate physical switches so you have physical switch redundancy
    • Configure Networking for Fault Tolerance Logging (do this for each host)
      1. Log in to vCenter using the VI Client
      2. Navigate to the Host and Clusters view (View > Inventory > Hosts and Clusters)
      3. Select the host on the left side > click the Configuration tab on the right
      4. Click the Networking hyperlink
      5. Find the vSwitch you will use for FT Logging and click the Properties hyperlink above it (slightly to the right)
      6. Click the Add… button > select VMkernel > click Next
      7. Give it a descriptive name in the Network Label field
      8. Input a VLAN if necessary
      9. Check the Use this port group for Fault Tolerance Logging > click Next
      10. Enter in the IP address and Subnet mask you want to use > click Next
      11. Click Finish
      12. Click Close to close the vSwitch properties dialog
      13. Repeat on the second host (make sure you use a different IP!!)
    • Configure Networking for vMotion (do this for each host)
    1. Log in to vCenter using the VI Client
    2. Navigate to the Host and Clusters view (View > Inventory > Hosts and Clusters)
    3. Select the host on the left side > click the Configuration tab on the right
    4. Click the Networking hyperlink
    5. Find the vSwitch you will use for vMotion and click the Properties hyperlink above it (slightly to the right)
    6. Click the Add… button > select VMkernel > click Next
    7. Give it a descriptive name in the Network Label field
    8. Input a VLAN if necessary
    9. Check the Use this port group for vMotion > click Next
    10. Enter in the IP address and Subnet mask you want to use > click Next
    11. Click Finish
    12. Click Close to close the vSwitch properties dialog
    13. Repeat on the second host (make sure you use a different IP!!)

  • Enable/Disable VMware Fault Tolerance on a virtual machine
    • Whenever you enable Fault Tolerance on a virtual machine any limits and reservations are discarded and a new reservation is set to whatever the configured memory size is for that virtual machine.  None of these options can be changed while Fault Tolerance is enabled for that virtual machine
    • When you disable Fault Tolerance on a virtual machine, any changes that were made to the limit, reservation or shares are not reverted back to what they were prior to Fault Tolerance being enabled
    • VMware HA is required to be enabled on the cluster your Fault Tolerant hosts are in otherwise you will get an error telling you HA is not enabled on the cluster when trying to enable fault tolerance on a virtual machine
    • Enable Fault Tolerance on a Virtual Machine (for most Windows Guest Operating systems FT can only be enabled while powered-on if your physical host is running an Intel Xeon Penryn processor)
    1. Log in to vCenter using the VI Client
    2. Navigate to the Host and Clusters view (View > Inventory > Hosts and Clusters)
    3. Right-click on the virtual machine you want to enable fault tolerance on > select Fault Tolerance > click Turn On Fault Tolerance
    4. Answer Yes to the question about changing the memory reservation to the configured memory size of the VM (if you are using a thin provisioned disk there were also be a warning that all unused blocks will be zeroed out and that it may require more processing time)
    5. Monitor the Recent Tasks pane to see when the task is complete, the VM icon for the newly protected VM will change to a dark blue and a new VM will show up on the secondary host with the same name as the primary VM with a (secondary) at the end of the name
    • Disable Fault Tolerance on a Virtual Machine
      1. Log in to vCenter using the VI Client
      2. Navigate to the Host and Clusters view (View > Inventory > Hosts and Clusters)
      3. Right-click on the virtual machine you want to enable fault tolerance on > select Fault Tolerance > click Turn Off Fault Tolerance
      4. Answer Yes to the question asking you if you are sure you want to disable fault tolerance
      5. Monitor the Recent Tasks pane to see when the task is complete.  The VM icon will revert back to a light blue

  • Test an FT configuration
    • There are plenty of ways to test out an FT configuration.  You can power off the host that is hosting the primary or secondary or you can manually move to the secondary.  For the purposes of the blueprint I will focus on manually moving the primary to the secondary
      • The first thing I tested was migrating the secondary FT virtual machine to the same host as the primary virtual machine.  I started going through the wizard and when I selected the same host that the primary FT virtual machine was running on I get a validation error: “Virtual machines in the same Fault Tolerance pair cannot be on the same host
    • Now, VMware provides two of its own tests that you can perform within the vSphere client; Test Failover and Test Restart Secondary.  Let’s go through those now:
    • Test Failover
      1. Log in to vCenter using the VI Client
      2. Navigate to the Host and Clusters view (View > Inventory > Hosts and Clusters)
      3. Right-click on the virtual machine you want to test failover on > select Fault Tolerance > click Test Failover
    • What happens now is that the secondary virtual machine becomes primary and the primary machine gets removed.  A new secondary virtual machine is now created and synced up with the primary, the final step is it will be powered on.  This is the only time in which the primary virtual machine is unprotected, and this can be seen by the alert that gets displayed for the primary virtual machine.  Once the primary virtual machine is protected the alert goes away
    • Test Restart Secondary
      1. Log in to vCenter using the VI Client
      2. Navigate to the Host and Clusters view (View > Inventory > Hosts and Clusters)
      3. Right-click on the virtual machine you want to test failover on > select Fault Tolerance > click Test Restart Secondary
    • As you might imagine the secondary virtual machine gets restarted.

  • Determine use case for enabling VMware Fault Tolerance on a virtual machine
    • Fault Tolerance is all about availability and uptime.  Availability and uptime are generally determined by business requirements, which are the driving force behind most design decisions
    • Here are some broad use cases for VMware Fault Tolerance
      • Applications that require 100% uptime
      • Applications that aren’t cluster-aware and need to have high availability
      • Applications that might be cluster-aware but you don’t have the in-house experience to implement a clustering solution

No comments:

Post a Comment