Disable CIM on Startup

Some users have experienced a problem when booting ESXi for the first time after an install in which an error in the sfcbd process (typically the error is something like Exception type 13 in world 1381:sfcbd) which causes a PSOD (purple screen of death) on the host. The PSOD error may also be like “exception type 14 in world 1034:helper1-4”.

In some cases it is possible to get around the problem by using the vender specific install CDs which as of March 2009 are available for HP and IBM servers. If the problem is not resolved with a vender specific CD, then one of two methods can be used to disable the problem that may be causing sfcbd to fail. Sfcbd is process name for the CIM daemon which provides health monitoring of your ESXi host.

Usually when you have a problem with CIM on an ESXi host, you can disable it by setting Misc.CIMEnabled to 0 in configuration \ advanced settings. Likewise you can disable OEM CIM providers by setting Misc.CimOEMProvidersEnabled to 0. But this is not possible when you first boot ESXi after an install as the PSOD often comes before you can connect with the VI client to make the change.

The first method below will disable OEM CIM providers. The second method will prevent the sfcbd and sfcbd watch dog processes from starting altogether. This second method may also help if the ESXi host hangs and the console (ALT+F1) shows that the last run command was “running sfcbd-watchdog start” or “running sfcbd start”.

For both these methods the same basic process is followed. First, ESXi is installed from CD. Second, before the host is booted for the first time after the install, it is booted with a Linux live CD. In my case I used the Slax Linux Live CD. Third, as documented below, an oem.tgz file was created in a console session once Slax Linux had booted and the file copied was then copied to the Hypervisor1 partition of the ESXi install.

Last, the server was rebooted and the change to oem.tgz had it’s desired affect to either disable OEM CIM providers or to disable the sfcbd process.

Note: you can reverse the below changes by creating a new oem.tgz (it can contain a 0 byte file called oem.txt) and then copying that to /bootbank/ when you have your ESXi running properly. The next reboot will apply the empty oem.tgz file and the change will be removed.

After booting with your live CD, it is first necessary to determine what partition is the Hypervisor1 partition of the ESXi install. fdisk -l was run in the console to produce the below image. Hypervisor1 is the FAT16 partition that starts at block 5 and ends at 52 and is identified as sda5. A directory listing of the folder shows the ESXi firmware files and the default, empty oem.tgz file.

Disabling OEM CIM Providers – the below commands need to be run to create an oem.tgz file that will disable OEM CIM providers.

1) cd /tmp
2) mkdir etc
3) cd etc
4) start the VI editor with the command vi oem_cim_option_overrides
5) press Insert and then add this line

CimOEMProvidersEnabled=0

6) press ESC and then type in :wq to save and exit
7) to verify that the file was saved correctly run the command cat oem_cim_option_overrides
8) cd ..
9) chmod 755 -R ./etc
10) chmod 644 ./etc/oem_cim_option_overides
11) tar -cvzf oem.tgz etc
12) cp oem.tgz /mnt/sda5/oem.tgz
13) verify that the file copied properly by running the commands ls -l and ls -l /mnt/sda5/ and compare the file size
14) reboot the host and allow ESXi to boot for the first time.

After the host has booted, press ALT+F1 to access the console. If the change above was successfully made, then you’ll see the message “Value of CimOemProvidersEnable is 0” followed by “OEM Policy has been honored”.

Disable the SFCBD process – follow the below process to disable the running of the CIM daemon on your host.

1) cd /tmp
2) mkdir etc
3) cd etc
4) start the VI editor with the command vi chkconfig.db
5) press Insert and then add this line

# VMvisor chkconfig database
/etc/init.d/hostd
/etc/init.d/slpd
/etc/init.d/wsmand

6) press ESC and then type in :wq to save and exit
7) to verify that the file was saved correctly run the command cat chkconfig.db
8) cd ..
9) chmod 755 -R ./etc
10) chmod 644 ./etc/chkconfig.db
11) tar -cvzf oem.tgz etc
12) cp oem.tgz /mnt/sda5/oem.tgz
13) verify that the file copied properly by running the commands ls -l and ls -l /mnt/sda5/ and compare the file size
14) reboot the host and allow ESXi to boot for the first time.

After the host has booted, press ALT+F1 to access the console. If the change above was successfully made, then you’ll see a lack of “Running sfcbd start” and “Running sfcbd-watchdog start) in the output as show below. Compare this to the above image where both these processes were started.

Leave a Comment

Your email address will not be published. Required fields are marked *