Deploying new VM using vSAN policy will fail either with PBM error “No VASA Provider for schema namespace (VSAN) found” or “Datastore does not match current VM policy”.

Snapshot or backup task may also fail with error “Invalid virtual machine configuration. There are currently 0 usable fault domains. The operation requires 1 more usable fault domains.”
You will find the vSAN datastore in “Incompatible” list against the policy :-

This issue occurs due to offline providers or sps service in unhealthy state. To check the health of sps, you can run below command on the vCenter server SSH :-
# wget localhost:22000/sms/HealthStatus ; cat HealthStatus
–2023-03-04 11:25:28– http://localhost:22000/sms/HealthStatus
Resolving localhost… 127.0.0.1
Connecting to localhost|127.0.0.1|:22000… connected.
HTTP request sent, awaiting response… 200
Length: unspecified [application/xml]
Saving to: ‘HealthStatus.1’
HealthStatus.1 [ <=> ] 188 –.-KB/s in 0s
2023-03-04 11:25:28 (22.7 MB/s) – ‘HealthStatus.1’ saved [188]
GREEN
If sps is in green state, check if there is any provider in Offline state.
Select vCenter in the inventory -> Configure -> Storage Providers to see the status of providers :-

Check from vCenter if the port 9080 is open on the ESXi host with below command or just open xml url :-
# curl -v –insecure https://:9080/version.xml


To fix the issue, un-register the offline provider from vCenter mob :-
Copy the provider uuid from vcenter which is Offline –

Connect to vCenter sms mob page –
https://<vcenter-IP-or-FQDN>/sms/mob

Click on Invoke Method -> storageManager

Click UnregisterProvide_Task

Paste the Offline provider uuid and click on Invoke –

Note :- You can also use the script from VMware KB https://kb.vmware.com/s/article/76633?lang=en_US to unregister the providers using script