VMware vSphere ESXi (All Versions)
vSAN 6.7 and higher
vSAN 6.6 and below
One possibility is that the VASA provider (vsanvpd) is not running on the host. This can be examined easily by checking the status of vsanvpd with the init script:
[root@ hostname :~] /etc/init .d /vsanvpd status vsanvpd is running. |
If the vsanvpd is not running, start it manually:
[root @hostname :~] /etc/init.d/vsanvpd start vsanvpd started |
Recheck the service. If it fails again, examine the log file to determine what the error is, and examine the Knowledge Base, Bugzilla, etc. for a resolution.
[root @hostname :~] cat /var/run/log/vsanvpd.log |
If the VASA provider is running on the hosts, the issue may be related to network connectivity. The vCenter Server and the on-host VASA providers communicate over port 8080. This port must be open to register VASA providers. This is easy to check on either Windows or Linux vCenter.
To examine for port liveness, connect to the VASA provider via port 8080 and determine if the VASA XML information is returned. This process varies between the vCenter Server Appliance (VCSA) and Windows vCenter.
Appliance:
Use the cURL utility to check the VASA Provider:curl --insecure https://<host>:8080/version.xml
vsan-rvc:~ # curl --insecure https: //brm-dell-vsan04.example.com:8080/version.xml <vasa-provider><supported-versions><version id= "2" serviceLocation= "/vasa/services/vasaService" /></supported-versions></vasa-provider> vsan-rvc:~ # |
Windows:
Use a web browser to check the VASA Provider by navigating to https://<host>:8080/version.xml
If this type of XML response is not received even though the VASA provider is running, it indicates that something may be interfering with communication between the vCenter Server and the ESXi hosts over port 8080. Check the following:
Examine the host Security Profile and ensure that the vsanvp rule is enabled to permit host communication over port 8080:
If all host-side and vCenter firewalls are configured as expected but the VASA provider on the hosts is still inaccessible, it is very likely that a physical or virtual firewall may be interfering upstream - between vCenter Server and the ESXi hosts. Engage with the customer's network/firewall teams to make that determination.
If the VASA provider is running and it is not reachable by vCenter Server, the problem may be related to certificates. VASA and SPBM use certificate exchange, and the vCenter Server must accept the VASA provider certificates.
Certificate-related problems will be called in the SPBM Java process's wrapper log. The location varies by vCenter Server type.
Windows vCenter Server: %ProgramData%\VMware\vCenterServer\logs\vmware-sps\wrapper.log
VCSA: /var/log/vmware/vmware-sps/wrapper.log
If certificate-related problems are reported, examine the KB, Bugzilla, etc. for guidance based on the error message.
In some cases, the VASA provider certificate may have a 0 Byte size. To resolve this, the host-side (provider) VASA certificates are required, These are stored on each ESXi host in /etc/vmware/ssl/
ls -lah /etc/vmware/ssl/ total 68 drwxr-xr-x 1 root root 512 Mar 22 19 : 57 . -r--r--r-T 1 root root 0 Mar 4 2016 .#castore.pem -r--r--r-T 1 root root 41 Aug 13 2016 .#rui- for -netcpa.crt -r--r--r-T 1 root root 42 Aug 13 2016 .#rui- for -netcpa.key -r-------T 1 root root 0 Mar 4 2016 .#rui.bak -r--r--r-T 1 root root 0 Mar 4 2016 .#rui.crt -r-------T 1 root root 0 Mar 4 2016 .#rui.key -r--r--r-T 1 root root 0 Feb 17 2016 .#vsanvp_castore.pem drwxr-xr-x 1 root root 512 Mar 23 21 : 08 .. -rw-r--r-- 1 root root 12 .5K Mar 21 18 : 43 castore.pem -rw-r--r-- 1 root root 1 .1K Mar 21 18 : 43 rui- for -netcpa.crt -rw-r--r-- 1 root root 1 .6K Mar 21 18 : 43 rui- for -netcpa.key -r-------- 1 root root 6 .2K Mar 21 18 : 43 rui.bak -rw-r--r-- 1 root root 1 .4K Mar 21 18 : 43 rui.crt -r-------- 1 root root 1 .7K Mar 21 18 : 43 rui.key -rw-r--r-- 1 root root 3 .0K Mar 21 18 : 45 vsanvp.pem -rw-r--r-- 1 root root 0 Mar 21 18 : 43 vsanvp_castore.pem -rw-r--r-- 1 root root 64 Mar 22 19 : 57 vsanvp_secret |
It is usually the vsanvp_castore.pem that is 0 Bytes. In this case you can SCP a good copy from another host and restart /etc/init.d/vsanmgmtd and the issue will be cleared.
In certain rare circumstances, usually in vSphere 5.5, the VASA provider may need to be manually registered. To accomplish this, the host-side (provider) VASA certificate is required, This is stored on each ESXi host in /etc/vmware/ssl/vsanvp.pem
/etc/vmware/ssl/vsanvp.pem
) and attach it by checking the "Use storage provider certificate" check box.