I was recently helping a customer with some IBM x3690 hosts running ESXi 4.1 Update 1 that was spontaneously rebooting. IBM suggested that the cause was the MegaRAID SAS driver and that the driver should be updated to the latest release. Given that the customer was not using local storage and it was a priority to freeze any changes in the environment, I suggested that we disable the driver rather than update it.
It had been a while since I had dealt with disabling a driver. With ESX 3.0 it was possible to disable the VMFS2 driver with the following command:
esxcfg-module -d vmfs2
On a test system running 4.1 Update 1, I decided to test unloading a driver as well as disabling it. vmbha1 was not in use so I decided to disable the driver (mptsas) for that controller
I tried to unload the driver with the following commands but it would not work as the driver was in use.
/sbin # esxcfg-module -u mptsas
Unable to unload module mptsas: Busy
/sbin # esxcfg-module -u mptsas -f
Unable to unload module mptsas: Busy
So I choose to just disable the driver which then required a reboot of the host to take effect.
esxcfg-module -d mptsas
When a driver is disabled, the following is written to /etc/vmware/esx.conf:
/vmkernel/module/mptsas/enabled = "false"
If you have a driver disabled, it is still possible to manually load the driver. Use the following command:
esxcfg-module mptsas
Module mptsas loaded successfully
In my example, I just had to click Rescan All on the Configuration > Storage Adapters page for the controller to be visible again in the vSphere client.