How to renumber vmhba's
A typical ESX install will see:
Vmhba0 = Local SCSI Controller
Vmhba1 = HBA #1
Vmhba2 = HBA#2
I noticed after a recent run of deployments with 2.5.4 that vmhba0 and 1 were fibre channel and 2 was local SCSI, completing screwing up some of my magnificent recovery scripts.
To manipulate which controller maps to which vmhba#, you need to manipulate /etc/vmware/hwconfig and /etc/vmware/devnames.conf
In /etc/vmware/hwconfig make your changes in (e.g. below):
Devicenames.003:02.0.scsi = “vmhba2” “vmhba0”
Devicenames.006:01.0.fc = “vmhba0” “vmhba1”
Devicenames.006:01.1.fc = “vmhba1” “vmhba2”
I also remove everything in the multipath section:
Multipath.vmhba0:0:58.diable = “” (update all your vmhba0 vmhba1)
In /etc/vmware/devname.conf make the obvious changes.
Reboot. Check hwconfig. If the multipathing hasn’t updated to the new names, delete and reboot. That should do the trick.
- Jason Langone
Commenting is closed for this article.

2007 Systems Architech.