As we covered in the introduction to VMware Cloud Foundation, Workload Domains represent three or more ESXi hosts aggregated together in one or more clusters under a single vCenter instance. They are deployed then managed by VMware Cloud Foundation administrators within SDDC Manager. These are units of compute, network, memory and storage that can be rapidly expanded and contracted, upgraded, and orchestrated via integrated connectivity to the vRealize suite. Once deployed, Workload Domains can be assigned to one or more groups of tenant organizations who can then deploy, manage, and use the VMs and applications required for their respective use case(s). A key differentiator between Management Domains and Workload Domains is that Workload Domains allow for other types of Principal Storage besides vSAN.
A brief description of the differences between Principal Storage and Supplemental Storage and how it relates to VCF is in order to set the table for the rest of this document. Fortunately, it is very easy to distinguish between the two storage types.
Principal and Supplemental Storage for VMware Cloud Foundation
Principal Storage is any storage type that you can connect directly to your Workload Domain as a part of the setup process within SDDC Manager. Today, that’s comprised of vSAN, NFS, and VMFS on Fibre Channel (as of June, 2020).
Supplemental Storage simply means that you connect your storage system to a Workload (or Management) Domain after it has been deployed. Examples of the Supplemental Storage include the iSCSI and NVMe-oF* protocols and VMware vVols (use vVols with any supported underlying protocol).
*Requires VMware Cloud Foundation 4.0+ and vSphere 7.0+
Workload Domain Deployment with VMFS on FC as Principal Storage
This flowchart represents the overall steps needed to deploy a VCF Workload Domain with Fibre Channel.
The first step in this process will be creating a host group comprised of the ESXi hosts you want to use in your Workload Domain, creating and then connecting a volume to the host group and lastly formatting a VMFS volume for use. This pre-work can be accomplished in a few ways but the easiest is with the Pure Storage PowerShell module with the Initalize-PfavCfWorkloadDomain cmdlet.
- Takes in a comma separated list of ESXi FQDNs/IPs, their credentials, a datastore name, a size, and a FlashArray connection
- Connects directly to each ESXi host directly, gets their FC WWNs, creates a host object on the FlashArray for each
- Creates a host group and adds each host
- Creates a new volume of the specified size
- Rescans one ESXi host and formats it with VMFS
- Rescans the remaining hosts
- Disconnects from the hosts
- If any step fails it will clean up anything it did
$faCreds = get-credential
New-PfaConnection -endpoint <FlashArray FQDN/IP> -credentials $faCreds -ignoreCertificateError -defaultArray
$creds = get-credential
Initialize-PfaVcfWorkloadDomain -esxiHosts <array of IPs or FQDNs> -credentials $creds -datastoreName <datastore name> -sizeInTB <datastore size> -fc
Log into one of the ESXi hosts either through the Direct Connect UI or CLI and navigate to Storage.
Rescan the vHBA adapters on the host to pickup the newly created Pure Storage volume.
Login to the other ESXi hosts and perform a rescan. Confirm that the new VMFS datastore is available on all hosts to be part of the Workload Domain before proceeding.
Login to the VMware Cloud Foundation SDDC Manager instance. Click on adding a Workload Domain.
Select the VMFS on FC storage type.
Provide basic cluster identifying information.
Provide Workload Domain vCenter specifications. Note that forward and reverse DNS lookup entries for vCenter must be made prior to Workload Domain construction.
For VMware Cloud Foundation 3.9 and earlier, there are two options for networking with VMware Cloud Foundation: NSX-V and NSX-T. In VCF 4.0 and above, NSX-T is the only networking option. Similar to vCenter, all DNS forward and reverse lookup entries must also be made prior to deployment. In this example deployment we use NSX-T.
Select at a minimum 3 ESXi hosts to be members of the Workload Domain cluster. Additional hosts can be added and removed later (provided there are a minimum of three hosts). This greatly enhances the ability scale up and scale down workloads based on real-time business needs.
Enter the VMFS datastore name that was created earlier in this article.
Provide license files for vCenter and NSX-T.
Confirm Object Names that are auto-generated via the earlier steps in the deployment do not conflict with any existing VMware Objects.
Review deployment settings and click ‘Finish’ to build the environment.
Once the Workload Domain has finished deployment, you now have a multitude of options for how to connect and administer Pure Storage alongside of it.
Some options are:
- Pure Storage vSphere Plug-In
- VMware vRealize Automation
- VMware vRealize Operations
- Pure Storage GUI and/or CLI
Using Workload Domains with vVols as Supplemental Storage
To streamline the setup process, we strongly recommend installing the Pure Storage vSphere Web Client Plugin to your vCenter instance (this example will use our plugin). While this can be done from the Pure Storage GUI, we’d suggest installation via PowerShell.
First, we install a couple of required PowerShell modules:
Next, we connect to our Workload Domain vCenter instance and input administrative credentials (note: since VCF deploys Workload Domain in vCenter enhanced linked-mode you will need to run this next set of commands against any other Workload Domain vCenter instances as well as the Management Domain vCenter).
connect-viconnect -server <vCenter IP or FQDN>
It will possibly take a few minutes for the plugin to be installed on our vCenter instance, but then we can see it as available within the vCenter main menu.
Our next step is to register our array against our Workload Domain vCenter instance:
Then, we need to register the array as a storage provider in order to use vVols. For this step, we recommend creating a separate vVols users on the Pure FlashArray. This can be done in the Pure GUI (or CLI) by going to Settings > Users. Here we see our ‘purevvols’ user has been created and then used for Storage Provider Registration:
Looking at the Storage Providers section of our Workload Domain cluster we can see that our FlashArray has been added for use, with one array controller Active and the other Standby in the event a failover is needed.
So lastly, let’s provision a vVols datastore to our VCF Workload Domain via the Pure Storage vSphere Plugin:
With vVols now active and connected, that allows us to deploy VMs to our Workload Domain and exploit the many benefits that they provide. In addition, moving around items between VMFS and vVols and even between Workload Domains is easily accomplished thanks to vCenter enhanced-linked mode.