CBT Module don't automatically load after Upgrade ESXi to 7.0
search cancel

CBT Module don't automatically load after Upgrade ESXi to 7.0

book

Article ID: 323297

calendar_today

Updated On: 04-01-2025

Products

VMware vSphere ESXi

Issue/Introduction

Load CBT Module during ESXi boot sequence.

Symptoms:

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


Environment

VMware vSphere ESXi 7.x

Cause

This issue is caused by a previous configuration of Software FCoE not supported by ESXi 7.0

Installing and Booting ESXi with Software FCoE

Resolution

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


Workaround:

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)


Additional Information

Impact/Risks:

This will cause Snapshot to not consolidating. Similar to:

https://knowledge.broadcom.com/external/article/317887