The following blog goes through stretching a management cluster in a VCF environment on 4.4.1.0. You need to ensure you have deployed your edges first in management, you have commissioned your hosts in sddc manager and have deployed a witness esxi host. The management cluster must be stretched if you want to stretch your workload domains.

When you download your witness esxi host ova make your sure you download the one matching the BOM of the VCF version your using. Click the ‘VMware Virtual SAN witness appliance’ link to go to the download page

https://docs.vmware.com/en/VMware-Cloud-Foundation/4.4.1/rn/vmware-cloud-foundation-441-release-notes/index.html

Download witness esxi host virtual machine, this will need to be added to the datacenter NOT the cluster.

https://customerconnect.vmware.com/downloads/details?downloadGroup=WITNESS-OVA-70U3-C&productId=973

Below is the deployment guide for the witness esxi host virtual machine in VCF

https://docs.vmware.com/en/VMware-Cloud-Foundation/4.4/vcf-admin/GUID-92EFDF30-9473-4F69-A19F-B979FADB79E9.html

For the API you need to have the following information. Cluster id, host id’s, esxi license key, vds name and vmnic mapping, host overlay vlan for the secondaryAzOverlayVlanId, fqdn of witness esxi host, witness vsancidr which is the network and mask, vsanip witness ip.

example API

{
 "clusterStretchSpec": {
  "hostSpecs": [{
   "id": "88baa0eb-3aeb-4deb-89ba-a84bf50c7844",
   "licenseKey": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
   "hostNetworkSpec": {
    "vmNics": [{
      "id": "vmnic0",
      "vdsName": "mgmt-vds01"
     },
     {
      "id": "vmnic1",
      "vdsName": "mgmt-vds01"
     }
    ]
   }
  }, {
   "id": "e3dd73d8-e2ae-4cf0-9db2-c7157c808124",
   "licenseKey": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
   "hostNetworkSpec": {
    "vmNics": [{
      "id": "vmnic0",
      "vdsName": "mgmt-vds01"
     },
     {
      "id": "vmnic1",
      "vdsName": "mgmt-vds01"
     }
    ]
   }
  }, {
   "id": "6f935335-bab5-4e43-b039-41b439a912c6",
   "licenseKey": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
   "hostNetworkSpec": {
    "vmNics": [{
      "id": "vmnic0",
      "vdsName": "mgmt-vds01"
     },
     {
      "id": "vmnic1",
      "vdsName": "mgmt-vds01"
     }
    ]
   }
  }, {
   "id": "372af10f-d6c7-42eb-aa26-513dfc8218f5",
   "licenseKey": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
   "hostNetworkSpec": {
    "vmNics": [{
      "id": "vmnic0",
      "vdsName": "mgmt-vds01"
     },
     {
      "id": "vmnic1",
      "vdsName": "mgmt-vds01"
     }
    ]
   }
  }],
  "witnessSpec": {
   "vsanIp": "10.0.0.114",
   "fqdn": "esxi-wit.vcf.sddc.lab",
   "vsanCidr": "10.0.0.0/24"
  },
  "witnessTrafficSharedWithVsanTraffic": false,
  "secondaryAzOverlayVlanId": 10,
  "isEdgeClusterConfiguredForMultiAZ": true
 }
}

Get the host id in sddc manager

In sddc, click Developer Center > API Explorer.
Expand the APIs for managing hosts
GET /v1/hosts
In the Status text box, enter UNASSIGNED_USEABLE and click Execute
In the Response section, click PageOfHost, copy the id

Get the license key for your esxi host

Get the cluster id in sddc manager

APIs for managing clusters section, and expand GET /v1/cluster
Click Execute
in the Response section, click PageOfCluster, copy the id element of the management cluster.

-Validate config

APIs for managing clusters
POST /v1/clusters/{id}/validations
Value text box, enter the unique ID for the management cluster.
clusterUpdateSpec box copy api
Click Execute
confirm successful

Stretch cluster


APIs for managing clusters
PATCH /v1/clusters/{id}.
ID of the management cluster in the Value text-box.
clusterUpdateSpec text box copy api
Click Execute

My cluster looks like this in vCenter atm should get another four hosts

If you get the following error message, I believe this is a bug

You need to finish off the configuration in vCenter

Click cluster > click configure > expand vSAN > click fault domains > click configure stretched cluster

Move secondary site hosts to the secondary domain and click next

Select your witness host and click next

Claim the small disk for cache and capacity as the larger one and click next

Click finish

should look like the below

rerun the failed task in sddc manager

Done

You now have esxi hosts 1-4 as preferred site and esxi hosts 10-13 as secondary.

If you want to modify the json file to add more nics & vds use this as a example

“vmNics”: [{
“id”: “vmnic0”,
“vdsName”: “dc-m01-cl01-vds01”
},
{
“id”: “vmnic1”,
“vdsName”: “dc-m01-cl01-vds02”
},
{
“id”: “vmnic2”,
“vdsName”: “dc-m01-cl01-vds01”
},
{
“id”: “vmnic3”,
“vdsName”: “dc-m01-cl01-vds02”
}

By Kader