vSAN Management API
| Local Methods | ||
Managed Object Types | Data Object Types | All Properties | All Methods |
Managed Object - VimClusterVsanVcStretchedClusterSystem(vim.cluster.VsanVcStretchedClusterSystem)
- See also
- ClusterComputeResource, ClusterRuntimeInfo, HostSystem, Task, VimClusterVSANPreferredFaultDomainInfo, VimClusterVSANStretchedClusterCapability, VimClusterVSANStretchedClusterFaultDomainConfig, VimClusterVSANWitnessHostInfo, VsanAddStoragePoolDiskSpec, VsanHostDiskMapping, VsanHostVirtualApplianceInfo, VSANSharedWitnessCompatibilityResult, VsanVcStretchedClusterConfigSpec
- Since
- vSphere API Release 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
QuerySharedWitnessClusterInfo(queryWitnessHostClusterInfo)
Query cluster runtime information for each cluster associated to given witness host.- Required Privileges
- System.Read
- Since
- vSAN API vSAN 7.0U1
Parameters
Name | Type | Description |
---|---|---|
_this | ManagedObjectReference | A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call. |
witnessHost | ManagedObjectReference
to a HostSystem |
Witness host managed entity.
Since vSAN API vSAN 7.0U1 |
skipComponentsCount* | xsd:boolean |
Skip setting in the result the number of
components for each cluster on the given
witness host. This can fail if the host is
disconnected, set to true to avoid failure
and retrieve other information in the result.
Since vSAN API vSAN 7.0U1 |
Return Value
Type | Description |
---|---|
ClusterRuntimeInfo[] | List of ClusterRuntimeInfo to present each cluster's information. |
Faults
Type | Description |
---|---|
NotSupported | Thrown if this API is not supported on current platform. |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
VsanFault | Thrown if any unexpected runtime fault is met. |
Events
Type | |
---|---|
None |
Show WSDL type definition
QuerySharedWitnessCompatibility(querySharedWitnessCompatibility)
Query whether a given host could be used as shared witness for a group of specified ROBO clusters. Result data would contain compatibility check result for both sharedWitnessHost and roboClusters. For sharedWitnessHost, it will check following items. 1) Check whether given host is a witness host. 2) Check whether this witness host has shared witness capability. 3) Check whether clusters count would exceed per shared witness host's limit. For roboClusters, it will check following items. 1) For a vSAN not enabled cluster, check whether it could be a candidate of ROBO cluster (cluster which has 2 hosts). 2) For a vSAN enabled cluster, check whether it is a ROBO cluster (stretched cluster which has 2 hosts). 3) For a ROBO cluster, check whether its component limit exceeds current shared witness host's component count limitation for individual cluster.- Required Privileges
- System.Read
- Since
- vSAN API vSAN 7.0U1
Parameters
Name | Type | Description |
---|---|---|
_this | ManagedObjectReference | A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call. |
sharedWitnessHost | ManagedObjectReference
to a HostSystem |
A host entity which would be used as a shared
witness host.
Since vSAN API vSAN 7.0U1 |
roboClusters | ManagedObjectReference[]
to a ClusterComputeResource[] |
A list of ROBO clusters which would use
sharedWitnessHost as their witness.
Since vSAN API vSAN 7.0U1 |
Return Value
Type | Description |
---|---|
VSANSharedWitnessCompatibilityResult | SharedWitnessCompatibilityResult to present compatibility check result of given shared witness host and robo cluster list. |
Faults
Type | Description |
---|---|
NotSupported | Thrown if this API is not supported on current platform. |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
VsanFault | Thrown if any unexpected runtime fault is met. |
Events
Type | |
---|---|
None |
Show WSDL type definition
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.- Required Privileges
- None
- Since
- vSphere API Release 6.5
Parameters
Name | Type | Description |
---|---|---|
_this | ManagedObjectReference | A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call. |
hosts P | ManagedObjectReference[]
to a HostSystem[] |
Since vSphere API Release 6.5 |
Return Value
Type | Description |
---|---|
VsanHostVirtualApplianceInfo[] | dictionary of hosts' MO id and if the host is a virtual appliance |
Faults
Type | Description |
---|---|
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
VsanFault | Thrown 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.- Required Privileges
- None
Parameters
Name | Type | Description |
---|---|---|
_this | ManagedObjectReference | A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call. |
cluster P | ManagedObjectReference
to a ClusterComputeResource |
The target vSAN cluster to add/replace witness host;
Since vSphere API Release 6.0 |
witnessHost | ManagedObjectReference
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;
Since vSphere API Release 6.0 |
preferredFd | xsd:string |
The name of preferred Fault Domain;
Since vSphere API Release 6.0 |
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 Release 6.0 |
metadataMode* | xsd:boolean |
True to indicate the host runs as metadata host instead
of normal witness host. This is currently reserved by
VMware internally to represent a different cluster type
other than stretched cluster. Leave this unset for
vSAN stretched cluster.
Since vSphere API Release 6.0 |
storagePoolSpec* | VsanAddStoragePoolDiskSpec |
The specification to add disks to vSAN storage pool.
This parameter cannot be set together with diskMapping
param.
Since vSphere API Release 6.0 |
Return Value
Type | Description |
---|---|
ManagedObjectReference
to a Task | vim.Task |
Faults
Type | Description |
---|---|
InvalidArgument | |
InvalidState | Thrown if any host in target cluster is not connected to vCenter server; |
NotEnoughLicenses | |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
VsanFault | Thrown if any unexpected runtime fault is met. |
Events
Type | |
---|---|
None |
Show WSDL type definition
VsanVcAddWitnessHostForClusters(addWitnessHostForClusters)
This API is used to convert a batch of traditional vSAN clusters into vSAN stretched clusters sharing the same witness host.Relative to API vim.cluster.VsanVcStretchedClusterSystem#VSANVcConvertToStretchedCluster , it takes care of witness host reconfiguration, and the stretched cluster system in each cluster may be configured:
- Configure vSAN cluster into two sites through the specified vSAN Fault Domain setting;
- Setup preferred Fault Domain through the specified preferredFault Domain setting;
Clusters that are already working in stretched mode are not supported. If the configuration of one or more clusters fails, the remaining successful operations will not be rolled back because this is a batch operation for multiple clusters.
- Required Privileges
- None
- Since
- vSAN API vSAN 7.0U1
Parameters
Name | Type | Description |
---|---|---|
_this | ManagedObjectReference | A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call. |
configSpec | VsanVcStretchedClusterConfigSpec |
The mapping between target witness host config and target
clusters's config(configSpec.clusters), to decide how to
configure target clusters to work in stretched mode.
Since vSAN API vSAN 7.0U1 |
Return Value
Type | Description |
---|---|
ManagedObjectReference
to a Task | vim.Task |
Faults
Type | Description |
---|---|
InvalidArgument | |
NotEnoughLicenses | |
NotSupported | Thrown if this API is not supported on current platform. |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
VsanFault | Thrown 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:- Configure vSAN cluster into two sites through vSAN Fault Domain setting;
- Add witness host and configure unicast communication at cluster wide;
- Setup preferred Fault Domain;
- 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.
- Required Privileges
- None
Parameters
Name | Type | Description |
---|---|---|
_this | ManagedObjectReference | A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call. |
cluster P | ManagedObjectReference
to a ClusterComputeResource |
The target cluster to be converted; It is expected
to enable vSAN, but not a vSAN stretched
cluster;
Since vSphere API Release 6.0 |
faultDomainConfig | VimClusterVSANStretchedClusterFaultDomainConfig |
The mapping between Fault Domain and vSAN
hosts reside in target cluster, to decide
how to configure vSAN cluster into two
sites;
Since vSphere API Release 6.0 |
witnessHost | ManagedObjectReference
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;
Since vSphere API Release 6.0 |
preferredFd | xsd:string |
The name of preferred Fault Domain;
Since vSphere API Release 6.0 |
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 Release 6.0 |
storagePoolSpec* | VsanAddStoragePoolDiskSpec |
The specification to add disks to vSAN storage pool.
This parameter cannot be set together with diskMapping
param.
Since vSphere API Release 6.0 |
Return Value
Type | Description |
---|---|
ManagedObjectReference
to a Task | vim.Task |
Faults
Type | Description |
---|---|
InvalidArgument | Thrown if below issues exist:
|
InvalidState | Thrown if any host in target cluster is not connected to vCenter server; |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
VsanFault | Thrown 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.- Required Privileges
- None
Parameters
Name | Type | Description |
---|---|---|
_this | ManagedObjectReference | A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call. |
cluster P | ManagedObjectReference
to a ClusterComputeResource |
Target cluster to query.
Since vSphere API Release 6.0 |
Return Value
Type | Description |
---|---|
VimClusterVSANPreferredFaultDomainInfo | VSANPreferredFaultDomainInfo 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 |
---|---|
InvalidState | Thrown if any host in target cluster is not connected to vCenter server; |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
VsanFault | Thrown if any unexpected runtime fault is met. |
Events
Type | |
---|---|
None |
Show WSDL type definition
VSANVcGetWitnessHosts(getWitnessHosts)
Query witness host configuration of specified cluster.- Required Privileges
- None
Parameters
Name | Type | Description |
---|---|---|
_this | ManagedObjectReference | A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call. |
cluster P | ManagedObjectReference
to a ClusterComputeResource |
The target cluster to query;
Since vSphere API Release 6.0 |
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 |
---|---|
InvalidState | Thrown if any host in target cluster is not connected to vCenter server; |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
VsanFault | Thrown if any unexpected runtime fault is met. |
Events
Type | |
---|---|
None |
Show WSDL type definition
VSANVcIsWitnessHost(isWitnessHost)
Check whether specified host is a witness host.- Required Privileges
- None
Parameters
Name | Type | Description |
---|---|---|
_this | ManagedObjectReference | A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call. |
host P | ManagedObjectReference
to a HostSystem |
The target host to check.
Since vSphere API Release 6.0 |
Return Value
Type | Description |
---|---|
xsd:boolean | true is host is a witness host, false is host is not a witness host. |
Faults
Type | Description |
---|---|
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
VsanFault | Thrown 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:- vSAN on witness host will be disabled;
- 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.
- Required Privileges
- None
Parameters
Name | Type | Description |
---|---|---|
_this | ManagedObjectReference | A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call. |
cluster P | ManagedObjectReference
to a ClusterComputeResource |
The target cluster to disable;
Since vSphere API Release 6.0 |
witnessHost* | ManagedObjectReference
to a HostSystem |
Witness host to remove;
Since vSphere API Release 6.0 |
witnessAddress* | xsd:string |
The IP address of witness host used as unicast agent.
Since vSphere API Release 6.0 |
Return Value
Type | Description |
---|---|
ManagedObjectReference
to a Task | vim.Task |
Faults
Type | Description |
---|---|
InvalidArgument | Thrown if below issues exist:
|
InvalidState | Thrown if any host in target cluster is not connected to vCenter server; |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
VsanFault | Thrown if any unexpected runtime fault is met. |
Events
Type | |
---|---|
None |
Show WSDL type definition
VsanVcReplaceWitnessHostForClusters(replaceWitnessHostForClusters)
Replace witness host for all specified vSAN stretched clusters.In other word, It is used to configure multiple robo clusters for a given witness host.
Each cluster in config is expected to be used in following scenario: Replace original witness host with a new one, and then the old witness host will no longer serve the target cluster. In this scenario, the preferredFdName and faultDomainConfig are optional parameters. If there is no specified preferredFdName/faultDomainConfig, target cluster will use the previous configuration to configure itself.
Relative to API vim.cluster.VsanVcStretchedClusterSystem#VSANVcAddWitnessHost, it takes care of witness host reconfiguration, and the stretched cluster system in each cluster may be reconfigured. Clusters that are working in normal mode(no-stretched) are not supported.If the configuration of one or more clusters fails, the remaining successful operations will not be rolled back because this is a batch operation for multiple clusters.
- Required Privileges
- None
- Since
- vSAN API vSAN 7.0U1
Parameters
Name | Type | Description |
---|---|---|
_this | ManagedObjectReference | A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call. |
configSpec | VsanVcStretchedClusterConfigSpec |
The mapping between target witness host config and
target clusters's config(configSpec.clusters), to decide
how to reconfigure target stretched clusters with new
witness host.
Since vSAN API vSAN 7.0U1 |
Return Value
Type | Description |
---|---|
ManagedObjectReference
to a Task | vim.Task |
Faults
Type | Description |
---|---|
InvalidArgument | |
NotEnoughLicenses | |
NotSupported | Thrown if this API is not supported on current platform. |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
VsanFault | Thrown 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.- Required Privileges
- None
Parameters
Name | Type | Description |
---|---|---|
_this | ManagedObjectReference | A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call. |
cluster P | ManagedObjectReference
to a ClusterComputeResource |
The target cluster to query;
Since vSphere API Release 6.0 |
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 Release 6.0 |
Return Value
Type | Description |
---|---|
VimClusterVSANStretchedClusterCapability[] | List of VSANStretchedClusterCapability, to present whether each host can support vSAN stretched cluster. |
Faults
Type | Description |
---|---|
InvalidState | Thrown if any host in target cluster is not connected to vCenter server and verifyAllConnected is set to true; |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
VsanFault | Thrown 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.- Required Privileges
- None
Parameters
Name | Type | Description |
---|---|---|
_this | ManagedObjectReference | A reference to the VimClusterVsanVcStretchedClusterSystem used to make the method call. |
cluster P | ManagedObjectReference
to a ClusterComputeResource |
Target vSAN stretched cluster;
Since vSphere API Release 6.0 |
preferredFd | xsd:string |
The user friendly name of preferred Fault Domain;
Since vSphere API Release 6.0 |
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 Release 6.0 |
Return Value
Type | Description |
---|---|
ManagedObjectReference
to a Task | vim.Task |
Faults
Type | Description |
---|---|
InvalidState | Thrown if any host in target cluster is not connected to vCenter server; |
RuntimeFault | Thrown if any type of runtime fault is thrown that is not covered by the other faults; for example, a communication error. |
VsanFault | Thrown if any unexpected runtime fault is met. |
Events
Type | |
---|---|
None |
Show WSDL type definition
Top of page | Local Methods | ||
Managed Object Types | Data Object Types | All Properties | All Methods |