As you probably know, VMware ESX server only support SCSI and SAN storage. ESX3 will start adding support for iSCSI and NAS as well, but for me playing with ESX on my home servers, this still is not a good option. On the VMware discussion forums i read some threads that some SATA controllers where working, as they use the same drivers as their SCSI counterparts.

As I am not afraid to take some risk :-) I started searching on Ebay and found a MegaRAID SATA 300-8x card. This is one of the latest models, supporting SATA2 disks, has 128mb cache on board. I was able to buy it for ‘just’ $300, which really was a good deal if you look around.

MegaRAID SATA 300-8x

So a few days later I received the controller and tried to toss it into my nice AMD dual core server… with no luck :-( The Controller is an PCI-X ONLY card, so it does not go into a simple PCI slot… mmm That was a disappointment. Ok, back to Ebay, going to find a motherboard with PCI-X slots and enough processing power to run a decent ESX server. So I found this Intel Server with dual XEON, PCI-X slots, and only 512mb of RAM. The lack of RAM was not really an issue, as I have plenty is DDR dims laying around. So, made sure I won the server on ebay, costing me 651 pounds. Mmmm, this really started to become a bit more expensive exercise than I initially thought.

Picked up the server next day, and jippie the Controller card actually went in. I pulled 4gb of ram out of an other server and stuck it into this new intel Xeon box… NO luck again! This now being a server mother board, it wants only registered ECC memory, not the standard DDR dims that go into our desktop PCs. So you probaly guessed it, me back on Ebay, trying to find some additional memory. I found 2x 1GB ecc registered memory, so again an extra investment :-(

So finally I was ready; I had my controller card, build a new server around it and was ready to run. I attached 2x 500GB SATA2 drives to it, tossed them into RAID 0+1 (Striping) and was ready to go. First I tested with ESX 2.5.2 and after making a modification in /etc/vmware/vmware-device.map to reflect that my card does work, everything worked great. I was able to create a VMFS on my SATA2 stripe set and start creating VMs.

Now, looking ahead of time, I of course also wanted to make sure this works on ESX3. Being a VMware employee has some benefits, including early access to betas :-) So I can tell you every thing is perfectly running fine on my ESX3 (beta) server as well, after the same modification in the vmware-device.map file.

My ESX Servers sees my SATA2 storage :-)

So a long story just to tell you; you can run the MegaRAID cards under ESX :-) But I also just wanted to share some frustrations with you :-)

MegaRAID 300 8x card: $300
Dual Xeon Server: 651 pounds
2x 1GB registered ECC memory: 173 pound

Running ESX on SATA2: priceless :-)

Update for ESX 3.5
Well as today ESX 3.5 is released I updated my server and still want to have my nice SATA Megaraid controller to work. The setup has changes a bit, instead of modifying the vmware-device.map file you needto do the following steps:

  • Modify /etc/vmware/pciid/megaraid2.xml
  • In the file you need to reflect you PCI card ID, in my case 0409, so i just changed the 0408 id to 0409
  • after the file is modified, run the command esxcfg-pciid
  • run esxcfg-boot -p
  • run esxcfg-boot -b
  • reboot your server
  • … and everything is still working fine again :-) (I am still booting of a normal IDE HDD, but can now use all my SATA disks for VMFS)