Software RAID within VMware?

OFaceSIG

2[H]4U
Joined
Aug 31, 2009
Messages
4,015
I'm going to build a vsphere box. I have a question. Can you software raid storage presented to the hypervisor? Instead of using motherboard RAID to create a RAID1 array can I present two vanilla hard drives to ESX and then present mirrored storage to VMs?
 
In a word, no.
Essentially, if you present two disks to ESX, they'll show up as candidates to be local datastores - which, in turn could then be VMFS formatted and used to store VMs. They cannot be put into any kind of RAID array.

When you present a disk to a VM, unless you're passing the disks through to the VM, it is simply a .vmdk file on the datastore. So if you give a VM two harddrives, those are two vmdk files on disk.

If your hardware supports it and you passthrough the disk controller to the VM, then the VM will see the controller and could do its own RAID. Again though, ESX will not be handling the disks in any kind of RAID capacity - essentially just forwarding the controller to the VM.

To circle back completely here... what is your actual, intended design goal here? Why not use the motherboard RAID controller?
 
In a word, no.
Essentially, if you present two disks to ESX, they'll show up as candidates to be local datastores - which, in turn could then be VMFS formatted and used to store VMs. They cannot be put into any kind of RAID array.

When you present a disk to a VM, unless you're passing the disks through to the VM, it is simply a .vmdk file on the datastore. So if you give a VM two harddrives, those are two vmdk files on disk.

If your hardware supports it and you passthrough the disk controller to the VM, then the VM will see the controller and could do its own RAID. Again though, ESX will not be handling the disks in any kind of RAID capacity - essentially just forwarding the controller to the VM.

To circle back completely here... what is your actual, intended design goal here? Why not use the motherboard RAID controller?

What he said. Best to have RAID done on the controller.
 
To circle back completely here... what is your actual, intended design goal here? Why not use the motherboard RAID controller?

Just trying to figure out my options. Was just curious if VMware could do it internally.
 
If you're curious about what type of storage protection VMware offers, I think the first real technology it has is VSAN. Otherwise, it depends on the storage system running underneath to handle everything. You can use vMotion with ESX, but that still requires shared (SAN) type storage.
 
Yes this is going to be a small local vsphere build. An AMD hex core chip, 16GB of RAM, an SSD (for faster VMs) and a 4TB RAID1 for regular VMs.
 
I've not used it, but it might be possible to set the SSD as cache that sits in front of the 4TB RAID1. That should at a minimum help reads, and possibly writes. Might be the best use of resources, and give you one less datastore to actively manage.
 
Sadly you will need a HW Raid controller to handle all of that, there are some cheap alternatives for HW Raid that can give a good amount of I/O for what u need... I have been using Dell H700s for a bit fully supported got them with a BBU for like 125$

Only thing i had to do with the SSD is tell the host to ID the Raid 0 drive for the SSD which is a simple thing to do in an ESXi host and reboot..

After that i installed the LSI Providers vib so i can remote into the hosts and control the raid without rebooting the host all the time :)
 
If you have vt-d capable server class hardware with a dedicated dumb and quite cheap HBA controller
you can use a virtualized ZFS storage VM appliance that gives you a local shared SAN storage
(like my free OmniOS/napp-it SAN appliance, see http://www.napp-it.org/doc/downloads/napp-in-one.pdf ).

With desktop hardware, you may use RDM with a local virtualized SAN
 
Couldn't he boot ESXI from a USB, get a separate SATA card for booting OS's, then passing through his on board SATA controller so he has all drives available in the OS, then using something like SnapRAID for redundancy? Rather than using a hardware RAID that if the RAID card failed, he would have to get the same card?
 
Yes, but that is still not ESX handling the RAID, which is what the OP was asking about.
 
Software raid within ESXi is not possible - already answered,
We are talking about workarounds and maybe better options.
 
You would want to setup a separate Linux server that acts as a SAN/NAS, then do mdraid on that box, and present the volume(s) to the ESX server via iSCSI or NFS.
 
Back
Top