vCenter upgrade failed at the VCENTER_UPGRADE_PRECHECK stage.Upgrade validation has failed.Failed to get vSAN datastore FD number.vCenter upgrade is rolled back.Message: vCenter upgrade failed at the VCENTER_UPGRADE_PRECHECKVMware SDDC manager 9.0
This issue occurs when the hostFailuresToTolerate attribute is missing from the vSAN Default Storage Policy. SDDC Manager validates this policy during pre-checks via the SPBM service; if the attribute is missing, the validation fails.
Note: The vSphere Client UI may still visually report the "Failures to tolerate" rule as present, even when the underlying SPBM hostFailuresToTolerate capability is missing.
hostFailuresToTolerate is missing.Policies and Profiles > VM Storage Policies.vSAN Default Storage PolicyExample: PbmRequirementStorageProfile:#######-####-####-#######%
<profileIds> <uniqueId>UUID</uniqueId></profileIds>
# 1. Authenticate to the vCenter Server
Connect-VIServer -Server <vCenter_FQDN_or_IP>
Note: Enter the vCenter SSO administrator credentials when prompted
# 2. Execute the below script which will output if the hostFailuresToTolerate is present or not
$vsanPolicy = Get-SpbmStoragePolicy -Name "vSAN Default Storage Policy"$fttRule = $vsanPolicy.AnyOfRuleSets.AllOfRules | Where-Object { $_.Capability.Name -eq "VSAN.hostFailuresToTolerate" }if ($fttRule) { Write-Host "VSAN.hostFailuresToTolerate is present. Configured Value: $($fttRule.Value)" -foregroundcolor green} else { Write-Host "VSAN.hostFailuresToTolerate is NOT present in the selected policy." -foregroundcolor red}
# 3. Disconnect from vCenter Server
Disconnect-VIServer -Confirm:$false
If hostFailuresToTolerate attribute is missing in the vSAN Default Storage Policy, refresh the SPBM Service.
Policies and Profiles > VM Storage Policies.vSAN Default Storage PolicyEdit"