Following a migration of ESXi 6.x to 7.0 the CBT Module won't load on boot.
No error in boot.log
Loading the module manually after boot work:
# vmkload_mod cbt
This issue is caused by a previous configuration of Software FCoE not supported by ESXi 7.0
1. On the 7.0 ESXi host, remove all Software FCoE configuration from configstore either on all NICs or a specific one.
remove software fcoe on all nics:
configstorecli config current delete -c esx -g storage_fcoe -k fcoe_activation_nic_policies --all
or: remove software FCoE configuration for specific nics (for example NICs that has an active hw fcoe adapter enabled) as follows,.
configstorecli config current delete -c esx -g storage_fcoe -k fcoe_activation_nic_policies -i <vmnic-#>
Delete: completed successfully
2. Inspect the software FCoE configuration to ensure no hanging ones
configstorecli config current get -c esx -g storage_fcoe -k fcoe_activation_nic_policies
{}. <--- No Software FCoE configuration.
Note: A powershell script can also be used:
#============================
#FCOE DISABLE
#============================
$user="root"
$pass="P@ssw0rd!"
$esxi="esxi.domain.name"
connect-viserver $esxi -User $user -Password $pass
$esxcli = Get-EsxCli -VMHost $esxi -V2
$nicfceo=$esxcli.fcoe.nic.list.Invoke()
foreach($nic in $nicfceo){
$disableFcoe = $esxcli.fcoe.nic.disable.CreateArgs()
$disableFcoe.nicname = $nic.FCOENICNAME
$disableFcoe = $esxcli.fcoe.nic.disable.Invoke($disableFcoe)
}
Disconnect-VIServer * -Confirm:$false
Verify if the cbt module is enabled: esxcli system module list --enabled=true | grep cbt
Verify if the cbt module is loaded : esxcli system module list --loaded=true | grep cbt
To Manually load the module: # vmkload_mod cbt
(Those steps need to be followed after ESXi reboot)
Impact/Risks:
This will cause Snapshot to not consolidating. Similar to:
https://knowledge.broadcom.com/external/article/317887