Managed Object - VimClusterVsanVcStretchedClusterSystem(vim.cluster.VsanVcStretchedClusterSystem)

See also
ClusterComputeResource, HostSystem, Task, VimClusterVSANPreferredFaultDomainInfo, VimClusterVSANStretchedClusterCapability, VimClusterVSANStretchedClusterFaultDomainConfig, VimClusterVSANWitnessHostInfo, VsanHostDiskMapping, VsanHostVirtualApplianceInfo
Since
vSphere API 6.0


Managed Object Description

vSAN stretched Cluster is a specific configuration implemented in environments where disaster/downtime avoidance is a key requirement. vSAN stretched Clusters with Witness Host refers to a deployment where a user sets up a vSAN cluster with 2 active/active sites with numbers of ESXi hosts between the two sites. The sites are connected via a high bandwidth/low latency link. The third site hosting the vSAN Witness Host is connected to both of the active/active data-sites. This connectivity can be via low bandwidth/high latency links. Each site is configured as a vSAN Fault Domain. The nomenclature used to describe a vSAN stretched Cluster configuration is X+Y+Z, where X is the number of ESXi hosts at data site A, Y is the number of ESXi hosts at data site B, and Z is the number of witness hosts at site C. Data sites are where virtual machines are deployed. The maximum configuration is 15+15+1 (31 nodes).
vSAN Remote Office / Branch Office Deployment, aka ROBO cluster, is a specific deployment of vSAN stretched cluster. A two-node vSAN cluster, and a vSphere vSAN witness host appliance as witness, forms a vSAN ROBO cluster. Copies of vSAN objects that make up a virtual machine are typically stored in two physical nodes, if one of the physical nodes is offline, it is still possible for virtual machines to run using the files located on another physical node. In the case where the hosts in a two-node cluster are unable to communicate across the network, the witness serves as a "tie-breaker" to achieve a quorum and enables the cluster to restart virtual machines impacted by an outage. Details to deploy a vSAN stretched cluster, please reference to API VSANVcConvertToStretchedCluster, and for ROBO cluster, please assign witness appliance to parameter 'witnessHost', and each physical host stands for a Fault Domain.
VsanVcStretchedClusterSystem is used to configure and manage vSAN stretched cluster. The ManagedEntity can be accessed through MOID of vsan-stretched-cluster-system, through vSAN service at vCenter server side.

Properties

Name Type Description
None

Methods

Methods defined in this Managed Object
VSANIsWitnessVirtualAppliance, VSANVcAddWitnessHost, VSANVcConvertToStretchedCluster, VSANVcGetPreferredFaultDomain, VSANVcGetWitnessHosts, VSANVcIsWitnessHost, VSANVcRemoveWitnessHost, VSANVcRetrieveStretchedClusterVcCapability, VSANVcSetPreferredFaultDomain

VSANIsWitnessVirtualAppliance(isWitnessVirtualAppliance)

Return whether the host is a virtual appliance witness host for stretched cluster Witness host can be a VM deployed from vSAN witness server OVF, the VM added to vCenter datacenter as a ESXi host, and has no difference with other ESXi host in a stretched cluster, but the VM host can only used as witness host, UI need to know if the witness host is a virtual appliance, using this API can tell the host is a virtual appliance or not.

Combined Privileges Required (on vSphere ManagedEntity):
Privileges Required on
System.Read ClusterComputeResource
* The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
* The ClusterComputeResource entity in above table refers to the cluster which is being operated on

* The Required Privileges section below is not used, please ignore.
Required Privileges
System.Read
Since
vSphere API 6.5

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call.
hostsManagedObjectReference[]
to a HostSystem[]



Return Value

Type Description
VsanHostVirtualApplianceInfo[]dictionary of hosts' MO id and if the host is a virtual appliance

Faults

Type Description
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFaultThrown if any unexpected runtime fault is met.

Events

Type
None

Show WSDL type definition



VSANVcAddWitnessHost(addWitnessHost)

Add a host as witness host to vSAN cluster to re-enable vSAN stretched cluster. It is expected to be used in following scenarios: 1. Stretched cluster is disabled by vim.cluster.VsanVcStretchedClusterSystem#VSANVcRemoveWitnessHost; 2. Replace original witness host with a new one, this should happen when old witness host is out of service, such as host is down or removed from vCenter inventory; This function doesn't change existing Fault Domain configuration, and please be sure the old witness host was gone or out of service, because replacing witness host will reduce redundancy. Relative to API vim.cluster.VsanVcStretchedClusterSystem#VSANVcConvertToStretchedCluster , it only takes care of witness host reconfiguration, vSAN cluster must already be configured for stretched cluster.

Combined Privileges Required (on vSphere ManagedEntity):
Privileges Required on
Host.Inventory.AddHostToCluster ClusterComputeResource
* The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
* The ClusterComputeResource entity in above table refers to the cluster which is being operated on

* The Required Privileges section below is not used, please ignore.
Required Privileges
System.Read

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call.
clusterManagedObjectReference
to a ClusterComputeResource

The target vSAN cluster to add/replace witness host;
witnessHostManagedObjectReference
to a HostSystem

The witness host to be added into vSAN cluster. This host must be connected and managed by the same vCenter server, and cannot be a part of target cluster;
preferredFdxsd:string

The name of preferred Fault Domain;
diskMapping*VsanHostDiskMapping

The diskMapping to be created on witness host. If disk claim is configured as auto-mode on witness host, this parameter is not required.

Since vSphere API 6.0
*Need not be set

Return Value

Type Description
ManagedObjectReference
to a Task
vim.Task

Faults

Type Description
InvalidArgument
InvalidStateThrown if any host in target cluster is not connected to vCenter server;
NotEnoughLicenses
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFaultThrown if any unexpected runtime fault is met.

Events

Type
None

Show WSDL type definition



VSANVcConvertToStretchedCluster(convertToStretchedCluster)

This API is used to convert a traditional vSAN cluster to vSAN stretched cluster. It will help to:
  1. Configure vSAN cluster into two sites through vSAN Fault Domain setting;
  2. Add witness host and configure unicast communication at cluster wide;
  3. Setup preferred Fault Domain;
  4. Create vSAN disk group on witness host if auto-claim is not enabled on witness host;

Relative to API vim.cluster.VsanVcStretchedClusterSystem#VSANVcAddWitnessHost, it not only takes care of setting up witness host, but also help on vSAN sites configuration, to guarantee the vSAN cluster works in stretched mode. vSAN cluster already works in stretched mode, is not supported by this API.

Combined Privileges Required (on vSphere ManagedEntity):
Privileges Required on
Host.Inventory.EditCluster ClusterComputeResource
* The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
* The ClusterComputeResource entity in above table refers to the cluster which is being operated on

* The Required Privileges section below is not used, please ignore.
Required Privileges
System.Read

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call.
clusterManagedObjectReference
to a ClusterComputeResource

The target cluster to be converted; It is expected to enable vSAN, but not a vSAN stretched cluster;
faultDomainConfigVimClusterVSANStretchedClusterFaultDomainConfig

The mapping between Fault Domain and vSAN hosts reside in target cluster, to decide how to configure vSAN cluster into two sites;
witnessHostManagedObjectReference
to a HostSystem

The witness host to be added into vSAN cluster. This host must be connected and managed by the same vCenter server, and cannot be a part of target cluster;
preferredFdxsd:string

The name of preferred Fault Domain;
diskMapping*VsanHostDiskMapping

The diskMapping to be created on witness host. If disk claim is configured as auto-mode on witness host, this parameter is not required.

Since vSphere API 6.0
*Need not be set

Return Value

Type Description
ManagedObjectReference
to a Task
vim.Task

Faults

Type Description
InvalidArgumentThrown if below issues exist:
  1. target cluster doesn't enable vSAN;
  2. witness host resides in target cluster;
  3. neither IPv4 nor IPv6 is properly configured for vSAN traffic on all hosts in target cluster;
  4. target cluster is already a vSAN stretched cluster;
InvalidStateThrown if any host in target cluster is not connected to vCenter server;
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFaultThrown if any unexpected runtime fault is met.

Events

Type
None

Show WSDL type definition



VSANVcGetPreferredFaultDomain(getPreferredFaultDomain)

Query configuration of preferred Fault Domain of specified cluster. If call this API against vSAN service of version 6.5 and before, additional privilege Host.Inventory.EditCluster is required, please be noted.

Combined Privileges Required (on vSphere ManagedEntity):
Privileges Required on
System.Read ClusterComputeResource
* The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
* The ClusterComputeResource entity in above table refers to the cluster which is being operated on

* The Required Privileges section below is not used, please ignore.
Required Privileges
System.Read

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call.
clusterManagedObjectReference
to a ClusterComputeResource

Target cluster to query.

Return Value

Type Description
VimClusterVSANPreferredFaultDomainInfoVSANPreferredFaultDomainInfo which contains preferred Fault Domain's user friendly name and UUID. If specified cluster is not vSAN stretched cluster, both fields will be unset.

Faults

Type Description
InvalidStateThrown if any host in target cluster is not connected to vCenter server;
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFaultThrown if any unexpected runtime fault is met.

Events

Type
None

Show WSDL type definition



VSANVcGetWitnessHosts(getWitnessHosts)

Query witness host configuration of specified cluster.

Combined Privileges Required (on vSphere ManagedEntity):
Privileges Required on
System.Read ClusterComputeResource
* The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
* The ClusterComputeResource entity in above table refers to the cluster which is being operated on

* The Required Privileges section below is not used, please ignore.
Required Privileges
System.Read

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call.
clusterManagedObjectReference
to a ClusterComputeResource

The target cluster to query;

Return Value

Type Description
VimClusterVSANWitnessHostInfo[]VSANWitnessHostInfo[] which contains witness host's UUID, ManagedEntity instance, preferred Fault Domain's user friendly name and UUID, IP address of unicast agent, and name of the Fault Domain that witness host resides in. If specified cluster in vSAN stretched cluster, all fields above will be set to actual setting, otherwise all fields will be unset.

Faults

Type Description
InvalidStateThrown if any host in target cluster is not connected to vCenter server;
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFaultThrown if any unexpected runtime fault is met.

Events

Type
None

Show WSDL type definition



VSANVcIsWitnessHost(isWitnessHost)

Check whether specified host is a witness host.

Combined Privileges Required (on vSphere ManagedEntity):
Privileges Required on
System.Read ClusterComputeResource
* The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
* The ClusterComputeResource entity in above table refers to the cluster which is being operated on

* The Required Privileges section below is not used, please ignore.
Required Privileges
System.Read

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call.
hostManagedObjectReference
to a HostSystem

The target host to check.

Return Value

Type Description
xsd:booleantrue is host is a witness host, false is host is not a witness host.

Faults

Type Description
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFaultThrown if any unexpected runtime fault is met.

Events

Type
None

Show WSDL type definition



VSANVcRemoveWitnessHost(removeWitnessHost)

Remove witness host from the vSAN stretched cluster to disable vSAN stretched cluster. Detailed changes will happen on target cluster:
  1. vSAN on witness host will be disabled;
  2. Unicast agent setting will be removed from all data hosts in specified vSAN stretched cluster;

Original Fault Domains for both two sites will be kept, and vSAN is still enabled on all data hosts.

Combined Privileges Required (on vSphere ManagedEntity):
Privileges Required on
Host.Inventory.RemoveHostFromCluster ClusterComputeResource
* The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
* The ClusterComputeResource entity in above table refers to the cluster which is being operated on

* The Required Privileges section below is not used, please ignore.
Required Privileges
System.Read

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call.
clusterManagedObjectReference
to a ClusterComputeResource

The target cluster to disable;
witnessHost*ManagedObjectReference
to a HostSystem

Witness host to remove;

Since vSphere API 6.0
witnessAddress*xsd:string

The IP address of witness host used as unicast agent.

Since vSphere API 6.0
*Need not be set

Return Value

Type Description
ManagedObjectReference
to a Task
vim.Task

Faults

Type Description
InvalidArgumentThrown if below issues exist:
  1. target cluster doesn't enable vSAN;
  2. witness host is specified but doesn't match the in-use configuration;
  3. target cluster is not vSAN stretched cluster;
InvalidStateThrown if any host in target cluster is not connected to vCenter server;
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFaultThrown if any unexpected runtime fault is met.

Events

Type
None

Show WSDL type definition



VSANVcRetrieveStretchedClusterVcCapability(retrieveStretchedClusterVcCapability)

Query hosts' capabilities of supporting vSAN stretched cluster, which reside in specified cluster, to decide whether specified cluster supports vSAN stretched cluster feature. It could be used for any cluster, but only when all hosts reside in target cluster can support vSAN stretched cluster, it can be converted to vSAN stretched cluster.

Combined Privileges Required (on vSphere ManagedEntity):
Privileges Required on
System.Read ClusterComputeResource
* The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
* The ClusterComputeResource entity in above table refers to the cluster which is being operated on

* The Required Privileges section below is not used, please ignore.
Required Privileges
System.Read

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call.
clusterManagedObjectReference
to a ClusterComputeResource

The target cluster to query;
verifyAllConnected*xsd:boolean

Whether to ignore disconnected hosts. If it is set to true, vim.fault.InvalidState will be met if any host in target cluster is disconnected; if it is set to false, disconnected hosts will be ignored. Default value is false. But a cluster with disconnected hosts cannot be converted to vSAN stretched cluster;

Since vSphere API 6.0
*Need not be set

Return Value

Type Description
VimClusterVSANStretchedClusterCapability[]List of VSANStretchedClusterCapability, to present whether each host can support vSAN stretched cluster.

Faults

Type Description
InvalidStateThrown if any host in target cluster is not connected to vCenter server and verifyAllConnected is set to true;
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFaultThrown if any unexpected runtime fault is met.

Events

Type
None

Show WSDL type definition



VSANVcSetPreferredFaultDomain(setPreferredFaultDomain)

Set preferred Fault Domain for a vSAN stretched cluster. This API could set/reconfigure preferred Fault Domain setting.

Combined Privileges Required (on vSphere ManagedEntity):
Privileges Required on
Host.Inventory.EditCluster ClusterComputeResource
* The RootFolder entity in above table refers to the vCenter server itself in the vCenter UI
* The ClusterComputeResource entity in above table refers to the cluster which is being operated on

* The Required Privileges section below is not used, please ignore.
Required Privileges
System.Read

Parameters

NameTypeDescription
_thisManagedObjectReference A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call.
clusterManagedObjectReference
to a ClusterComputeResource

Target vSAN stretched cluster;
preferredFdxsd:string

The user friendly name of preferred Fault Domain;
witnessHost*ManagedObjectReference
to a HostSystem

The witness host to apply preferred Fault Domain setting; if it is not specified, will take the in-use witness host configured at cluster side.

Since vSphere API 6.0
*Need not be set

Return Value

Type Description
ManagedObjectReference
to a Task
vim.Task

Faults

Type Description
InvalidStateThrown if any host in target cluster is not connected to vCenter server;
RuntimeFaultThrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error.
VsanFaultThrown if any unexpected runtime fault is met.

Events

Type
None

Show WSDL type definition