After upgrading the vSAN cluster to 8.0U2, vSAN Health may report warning "Hosts with connectivity issues." and/or "All hosts contributing stats."
[root@esxihost1:/etc/vmware/ssl] esxcli vsan health cluster get -t "Hosts with connectivity issues"
Hosts with connectivity issues red
Hosts with communication issues
Host
---------------
10.2#.##.3
10.2#.##.2
socket.timeout
.2024-08-28T05:55:56.044Z Er(11) vsand[18496974] [opID=vsan-23581f33-620b795481de0 statscollector::RetrieveRemoteStats] VMK vmk3 can not connect to host 10.xxx.xxx.1.
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] Traceback (most recent call last):
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] File "/usr/lib/vmware/vsan/perfsvc/statscollector.py", line 1192, in RetrieveRemoteStats
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] File "/lib64/python3.8/site-packages/pyVmomi/VmomiSupport.py", line 598, in <lambda>
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] File "/lib64/python3.8/site-packages/pyVmomi/VmomiSupport.py", line 388, in _InvokeMethod
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] File "/lib64/python3.8/site-packages/pyVmomi/SoapAdapter.py", line 1527, in InvokeMethod
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] File "/lib64/python3.8/site-packages/pyVmomi/SoapAdapter.py", line 1611, in GetConnection
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] File "/usr/lib/vmware/vsan/perfsvc/VsanHealthUtil.py", line 1770, in __call__
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] File "/lib64/python3.8/http/client.py", line 1259, in request
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] File "/lib64/python3.8/http/client.py", line 1305, in _s
end_request
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] File "/lib64/python3.8/http/client.py", line 1254, in endheaders
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] File "/lib64/python3.8/http/client.py", line 1014, in _send_output
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] File "/lib64/python3.8/http/client.py", line 954, in send
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] File "/usr/lib/vmware/vsan/perfsvc/VsanHealthUtil.py", line 1914, in connect
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] File "/lib64/python3.8/http/client.py", line 1421, in connect
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] File "/lib64/python3.8/http/client.py", line 925, in connect
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] File "/usr/lib/vmware/vsan/perfsvc/VsanHealthUtil.py", line 1906, in vsanperf_create_connection
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] File "/usr/lib/vmware/vsan/perfsvc/VsanHealthUtil.py", line 1869, in VsanPerfCreateConnection
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] File "/usr/lib/vmware/vsan/perfsvc/VsanHealthUtil.py", line 1860, in VsanPerfCreateConnection
2024-08-28T05:55:56.044Z Er(11)[+] vsand[18496974] socket.timeout: timed out
VMware vSAN 8.0U2 and higher
Prior to vSAN version 8.0 U2 the vSAN master host retrieves remote host stats via port 80 and from vSAN 8.0 U2 and later builds, port 443 is used.
If ESXi host firewall has blocked port 443 port (ruleset vSphereClient) for vSAN network. It does not populate the vSAN IPs under allowed IP list.
The below output shows the vSAN vmkernel ports are not added under vSphere client allowed IP list.
[root@EX2:~] esxcli network firewall ruleset allowedip list
Ruleset Allowed IP Addresses
--------------------------- --------------------
sshServer All
updateManager All
faultTolerance All
webAccess All
vMotion All
vSphereClient 19#.16#.#.###,
19#.16#.#.###
,19#.16#.#.###
,19#.16#.#.###
,19#.16#.#.### >>>>>>>>> Missing vSAN vmk IPs <<<<<
To add the vSAN IPs to vSphereClient Rule via vCenter see Add Allowed IP Addresses for an ESXi Host
From ESXi command line do the following:
Output should be as below.
[root@EX2:~] esxcli network firewall ruleset allowedip list
Ruleset Allowed IP Addresses
--------------------------- --------------------
vSphereClient 19#.16#.#.###, 19#.16#.#.###, 19#.16#.#.###, 19#.16#.#.###, 19#.16#.#.###, 10.2#.##.1, 10.2#.##.2, 10.2#.##.3
Restart the vSAN Health Service on vCenter by running "service-control --stop vmware-vsan-health && service-control --start vmware-vsan-health".
More information on Configuring the ESXi Firewall