vSAN Health Service - Invalid preferred fault domain on witness host
search cancel

vSAN Health Service - Invalid preferred fault domain on witness host

book

Article ID: 327024

calendar_today

Updated On:

Products

VMware vSAN

Issue/Introduction

The Invalid preferred fault domain on witness host check in the VMware vSAN Health Service provides information about configuration errors in the vSAN stretched cluster.

The preferred fault domain is utilized by the witness host, and it must be the fault domain of either data site in the vSAN stretched cluster. It cannot be empty. If this health check is not green (OK), the vSAN stretched cluster has configuration issues that affect its operation.

Environment

VMware vSAN 6.x
VMware vSAN 6.0.x
VMware vSAN 6.2.x
VMware vSAN 6.1.x
VMware vSAN 6.6.x
VMware vSAN 6.5.x
VMware vSAN 6.7.x

Resolution

To troubleshoot and resolve the error:

Configure the preferred fault domain for the stretched cluster through the vSphere Web Client:
  1. Navigate to the vSAN cluster.
  2. Click the Configure tab.
  3. Under vSAN, click Fault Domains.
  4. Select the secondary fault domain and click the Change Preferred Fault Domain icon.
  5. Click Yes or Apply to confirm.
To set the preferred fault domain via command line:
  1. SSH to the host you need as preferred.
  2. Get the host UUID:  esxcli vsan cluster get | grep -i 'local node UUID'
  3. SSH to the witness
  4. set the preferred fault domain in the witness: esxcli vsan cluster preferredfaultdomain set --preferred-fault-domain-name= local node UUID
Notes:
  • You can run the command on any host to view the preferred fault domain.
  • To set the preferred fault domain, you must run the command on the witness host.
 

Additional Information

You can collect information about the preferred fault domain by querying CMMDS from a host.

For example:

[root@:~] cmmds-tool find -t PREFERRED_FAULT_DOMAIN

owner=558c3ca0-####-####-####-########d0e(Health: Healthy) uuid=558c3ca0-####-####-####-########d0e type=PREFERRED_FAULT_DOMAIN rev=0 minHostVer=0 [content = (f198f054-####-####-####-########bb5 "fd1")], errorStr=(null)