Good news. Finally managed to figure out how to get vmware clustering to work on the md3000i with vmware esx 3.0.1 (w/ latest patches).
1) set LVM.disableSnapshotLun to 0 on each member of cluster (config -> advanced settings)
2) I tested with qlogic 4052C cards firmware 2.0.0.45, we downgraded from 3.0.x
3) You must find out which controller the md3000i has designated as primary for each vmfs volume.
Also manually input each of the ESX HBA ID's into a md3000i host group that owns the virtual disks and set host types to linux.
4) Point ESX Host 1 HBA 1 to md3000i controller1 nic 1's ip address for Dynamic Lun Scanning
5) Point ESX Host 1 HBA 2 to md3000i controller2 nic 1's ip address for Dynamic Lun Scanning
6) Point ESX Host 2 HBA 1 to md3000i controller1 nic 2's ip address for Dynamic Lun Scanning
7) Point ESX Host 2 HBA 2 to md3000i controller2 nic 2's ip address for Dynamic LUN Scanning
8) Initiate Storage Adapter Rescan on ESX Host 1
9) Your luns should show up, for each lun that has the
second md3000i controller as its primary - deactivate the primary HBA path temporarily. You do not need to do this for luns which have the primary md3000i controller as primary.
10) Set all discovered luns to "last used path" rather than fixed
11) Go to storage screen and create your vmfs filesystems
12) now you can reactivate the primary hba path's you disabled, they should have switched to standby
13) For the rest of your esx hosts, you need scan the luns and do the same deactivate/activate primary hba's steps before any luns served from 2nd md3000i controller will show up.
Once all the luns are up on all hosts, you are set. Also, at this point, primitive loadbalancing to all 4 of the md3000i interfaces and both controllers should be good.