VCAP5-DCA Objective 4.2-Deploy and Test VMware FT

For this objective I used the following documents:

  • Documents listed in the Tools section

Objective 4.2 – Deploy and Test VMware FT

Knowledge

**ITEMS IN BOLD ARE TOPICS PULLED FROM THE BLUEPRINT**

  • Identify VMware FT Hardware Requirements
    • There are some pretty strict hardware requirements when it comes to VMware Fault Tolerance (FT). Only certain processors are compatible with VMware’s vLockstep technology. What this means is the vLockstep technology requires certain extensions on the physical processor in order for it to work. VMware provides a nice utility called VMware SiteSurvery which will generate a report showing you your host’s hardware compatibility with VMware technology, including Fault Tolerance (you need to have the vSphere client installed on the system you are loading SiteSurvey on)
    • There are too many processor combinations to list out here, but running SiteSurvey will tell you if your processors are compatible. Check out the help page for SiteSurvey which includes a list of FT capable processors
    • Here is a list of other hardware requirements
      • Both hosts that are hosting the FT virtual machines must have processors in the same family and be within +/- 400MHz of each other
      • The hosts must also be certified for FT use. Check out the VMware Compatibility Guideto ensure your hosts are supported
        • Open the VMware Compatibility Guide in a web browser
        • Choose the version of vSphere you are using
        • In the Features list box choose Fault Tolerant(FT)
        • Click Update and View Results

image

      • Just searching on these two items will return a lot of results. Feel free to narrow down the search by selecting additional criteria
      • The host(s) must support Hardware Virtualization and it must be enabled in the BIOS
      • If your hosts are part of a vSphere cluster you can check the Profile Compliancetab to determine if they are compatible with FT
        • Log into the vSphere client
        • From the inventory select the cluster which contains that hosts you are checking FT compatibility on
        • Select the Profile Compliance tab on the right
        • Click the Check Compliance Now hyperlink
        • Check the Compliance Statusto see whether it is compliant or not
          • Click the Description hyperlink to view the details

image

        • As you can see from the screenshot above, my hosts meet the physical hardware requirements and compatibility requirements (which is covered in the next section) for FT. The Profile Summary is just a list of what items are checked, it does not indicate which checks have passed or failed
  • Identify VMware FT compatibility requirements
    • There are a slew of compatibility requirements on your cluster and virtual machines for FT; lets start with the cluster requirements
    • Cluster Requirements
      • Both hosts participating in FT must have access to the same datastores that the FT virtual machine resides on
      • Host certificate checking must be enabled
        • Log into the vSphere client
        • Click the Administration menu > select vCenter Server Settings…
        • Click SSL Settings > ensure that the vCenter required verified host SSL certificates checkbox is checked

image

      • FT logging and vMotion networks must be configured
      • The hosts must be part of a HA enabled cluster
    • Virtual Machine Requirements
      • Virtual machine files must be on storage that both hosts have access to
      • The FT virtual machine cannot have more than 1 vCPU
      • Ensure the virtual machine is running a supported guest operating system
    • vSphere Compatibility Requirements
      • Virtual machines that are provisioned as a linked clone are not supported for FT
      • Storage vMotion is not supported on FT virtual machines
        • Disable FT if you want to perform a storage vMotion and then re-enable
      • If you are using an application that leverages VADP (API for data protection) to backup your virtual machines then you won’t be able to enable FT on it
      • You cannot snapshot a FT virtual machine
    • Incompatible Features and Devices (list taken straight from the Availability Guide)
      • You can’t use SMP, only 1 vCPU for a FT virtual machine
      • The FT virtual machine cannot have a physical raw device mapping
      • Virtual CD-ROM/floppy drives cannot be backed by a physical or remote device
      • Paravirtualization is not supported on FT virtual machines
      • USB and sound devices
      • NPIV is not supported
      • NIC passthrough or the use of the vlance networking drivers
      • Thin-provisioned virtual disks
        • When enabling FT, thin-provisioned disks will try to be expanded automatically. However, the virtual machine must be powered off
      • Hot-pluggable devices are not supported
      • Extended Page Tables/Rapid Virtualization Indexing is disabled
      • Serial or parallel ports
      • IPv6 is not supported with the FT logging, so use IPv4
      • Video devices that have 3D enabled are not supported for FT

Abilities

  • Modify VM and ESXi host settings to allow for FT compatibility
    • As discussed earlier there are strict requirements that must be followed in order to run FT in your environment. Those requirements are for hosts and virtual machines  (most if not all of this section I just covered in the preceding section, if you think something else should be a part of this section that I have not listed, please feel free to leave a comment)
    • Host Settings
      • Configure the proper networking on each host. You will need at least two physical 1Gb NICs. Configure one vSwitch or port group with on physical NIC for vMotion and create another vSwitch or port group with the other physical NIC for FT logging (more detail on how to configure FT logging is below)
      • Ensure that the hosts you are using for FT are at the same vSphere build
      • Configure shared storage for the hosts. The hosts that will be hosting the FT VMs need to have access to the storage in which the FT virtual machine’s files are located
      • Ensure that all of the requirements listed in the preceding section Identify VMware FT compatibility requirements have been met
    • Virtual Machine Settings
      • No snapshots
      • Only 1 vCPU
      • No physical raw device mappings
      • Refer to the list in the preceding section, Identify VMware FT compatibility requirements, for all the of the virtual machine restrictions
  • Use VMware best practices to prepare a vSphere environment for FT
    • Here are a list of some good best practices to use when preparing to implement FT
      • Your hosts should run +/- 400MHz as it relates to CPU frequency
      • Ensure your hosts are running the same CPU instruction sets. These setting are typically enabled/disabled in the systems BIOS
      • Use 10Gb NICs and enable jumbo frames for FT logging
      • Store any required ISO files on a datastore that both hosts have access to
    • Avoid Network Partitions
      • I discussed this in the first part of this objective. If you have a network partition and the master that owns the primary FT VM does not own the secondary FT VM then the secondary will not start if the primary fails
    • Best practices for performing host upgrades
      • Since FT requires that the FT virtual machines run on hosts with the same version and build, you’ll need a methodical way of performing upgrades to those hosts
        • vMotion the primary and secondary FT virtual machines off of the two hosts that you will be upgrading
        • Upgrade both hosts
        • On the primary VM, turn off FT
        • vMotion the primary VM (which currently has FT disabled) to one of the new upgraded hosts
        • Turn FT back on
    • There are some other FT configuration recommendations that, in most cases, should be followed
      • No more than four FT virtual machines on a single ESXi host. Total should include both primary and secondary VMs
      • Allocate excess memory to the resource pool that contains the FT virtual machines. This allows for overhead memory
        • A reservation is automatically set to the configured memory amount when you enable FT. The excess memory will allow for overhead should the FT VM utilize the the configured amount of memory
      • Do not use more than 16 virtual disks per FT virtual machine
      • Have at least three hosts in a cluster (the third host should meet the same requirements for FT and match the physical and logical configurations of the other two hosts). This allows for n+1 should a host fail, another one in the cluster will be there to allow for the creation of a secondary FT virtual machine
      • When using NFS, have at least one 1Gb NIC on the NAS hardware side
  • Configure FT logging
    • Configuring FT logging is a pretty easier process. You’ll need to do this on each host:
      • Log into the vSphere client
      • Select a host from the inventory that you will be using for FT > click the Configuration tab
      • Click the Networkinghyperlink
        • If you don’t have a vSwitch with a dedicated physical NIC for FT logging, create one now
      • Click the Properties hyperlink for the vSwitch you will be using for FT logging
      • Click the Add button > select VMkernel > click Next
      • Enter in a Network Label such as FT Logging
      • Choose a VLAN if necessary
      • Check the Use this port group for Fault Tolerance logging  > click Next

image

      • Enter in the IP Address and Subnet Mask (this should be on a different subnet than your vMotion VMkernel port group) > click Next
      • Click Finish > click Close to close the vSwitch Properties dialog box
  • Prepare the infrastructure for FT compliance
    • If you have followed all of the guidance and configuration in the preceding sections then your infrastructure should be ready for FT. Here are a few ways that you can check to make sure you’re FT compliant
      • Use Profile Compliance on whichever cluster you will be using for FT (the cluster needs to be enabled for HA for this to work)
        • Log into the vSphere client > select a cluster object from the inventory
        • Click on the Profile Compliance tab
        • Click the Check Compliance Now hyperlink
        • Ensure the Compliance Status is marked as Compliant

image

        • The above screenshot is what you don’t want to see
        • Here you can see which host(s) are not compliant

image

      • Profile Compliance will show you whether you are compliant or not for HA, but if you’re not, it doesn’t tell you which requirements haven’t been met. To do so you need to look at the Summarytab for each host
        • Log into the vSphere client > select a host object from the inventory
        • Click the Summary tab
        • In the General pane you will see Host Configured for FT: and it will say either Yes or No and it has a small dialog icon next to it
        • Click the dialog icon. This will show you if the host does or does not meet FT requirements. if it does not, it will list the issues

image

        • As you can see, the host I used for this screenshot is not configured for FT and has hardware and software configurations that must be changed in order for it to meet FT requirements
  • Test FT failover, secondary restart, and application fault tolerance in a FT Virtual Machine
    • Before we can test FT failover we need to enable FT on a virtual machine. This process is easy once you’ve meet all of the requirements that have been discussed earlier in this post
    • Turn on Fault Tolerance
      • Log into the vSphere client
      • Navigate to the Hosts and Clusters view
      • Right-click on the virtual machine that you want to enable FT on > click Fault Tolerance > select Turn On Fault Tolerance (ensure the VM is powered off)

image

      • Once you do this you will see a warning about a few operations that will occur once you turn FT on
        • Thin-provisioned disks will be zeroed out and made thick
          • This can take quite some time depending on the amount of free space that needs to be zeroed
        • DRS automation for the VM will be set to disabled
        • clear
        • A memory reservation is created; the reservation size is equal to the configured amount of memory

image

      • Click Yes to continue
      • Once complete the icon for the virtual machine will be blue
      • Right-click the VM and select Power > click Power On
      • Once it is powered on click on the VM itself in the inventory > on the right pane select the Summary tab
      • In the Fault Tolerance pane ensure that the Fault Tolerance Status shows as Protected

image

    • Test FT Failover
      • Log into the vSphere client
      • Right-click on the FT protected VM > select Fault Tolerance
      • Click Test Failover
    • The task itself only takes a second to show completed in the Recent Tasks pane, but there is a lot more that still has to happen before the failover test is complete
    • You’ll notice during the failover test that the Fault Tolerance Status goes from Protected to Not protected and that it is Starting

image

    • It will then go into a Not protected state and it will show Need Secondary VM
    • At this point in the test, the primary has failed and the secondary has now completely taken over as the primary. In order for FT to be fully operational it now needs a new secondary

image

    • You will see the status change again from Not protected, Need Secondary VM to Not protected, Starting
    • Eventually the Fault Tolerance Status will show as Protected meaning a new secondary VM has been created and FT logging is now occurring between the new primary and secondary
    • Test Secondary Restart
      • Log into the vSphere client
      • Right-click on the FT protected VM > select Fault Tolerance
      • Click Test Restart Secondary
    • Like you saw previously the Fault Tolerance Status will go from Protected to Not protected, Starting while the secondary FT VM restarts. Once the restart is complete the Fault Tolerance Status will once again show Protected
  • Unfortunately I don’t have a way to show testing of application FT. I’m not 100% sure if that is referring to application monitoring or merely testing an application running in a FT VM while it is failing over or the secondary is restarting. If it is the latter, it is simple enough to monitor and see if you stay connected to that particular application, such as Microsoft Exchange
  • There is a good VMware KB (KB1020058) that covers how to test a FT configuration. It also goes over different scenarios and what behavior to expect from FT. There are certain situations where a FT VM can become unavailable and the secondary will not take over (such as loss of network connectivity to the primary VM).

Tools

Comments 1

  1. Pingback: The Unofficial Official VCAP5-DCA Study Guide. - RAVIITBLOG.COM

Leave a Reply

Your email address will not be published. Required fields are marked *

*