Will RAID boost performance significantly when using VirtualBox (or vmware, etc.)?

Mizugori

[H]ard|Gawd
Joined
Mar 25, 2004
Messages
1,240
I am upgrading this PC to handle as many virtual pcs as possible, and I will need some more disk space. I want to determine if I will get (significantly) better performance by buying two hard drives and putting them in a RAID array (presumably striping) or would it be better to just buy two hard drives and put half of the virtual hard disks on one and half on the other? and by the way, if i have say 8 virtual pcs and 4 of them are installed on virtual hard disks on one 'real' hard drive, and the other 4 are on a separate 'real' drive, is the performance going to be better than if i just put all 8 on one larger 'real' drive?

thanks!
 
The only thing that I am aware of that RAID0 striping increases performance on is video editing. There are large, sequential data reads from the drives, and RAID0 is good at handling that. However, in your case I'm guessing the load would be more like lots of small, random seeks as various virtual OSes run. Therefore, if you could possibly afford a 10,000RPM (SATA Raptor or SCSI) or even 15,000RPM (SCSI/SAS/Fibre Channel only) drive with super-low access times, that would help a lot more than RAID0, which is not a good idea of for mission-critical setups anyway.

I'd say get two Raptor 150s (if those are big enough) and install them as separate drives. You don't want to expose mission-critical data to the risk of a RAID0 failure (again I'm assuming you're doing some sort of "business" related thing here, if you're just playing around with lots of OSes that's different but I'd still say 10,000RPM or 15,000RPM super-low access speeds beat RAID0 any day)
 
okay thanks, just for the record i'm not doing this for business i'm doing it to simulate a network/the internet for my own telecommunications/network security studies. i have a core2duo e6400 box with a gig of ram and im hoping that with an additional gig or two and some more hard drives, i can run 8, 10, or even a dozen virtual PCs simultaneously. add the four of five misc. PCs i have sitting around here and that's a pretty decent network to practice with, i hope.
 
Of course, you're going to experience artificial lag from the virtual PCs, but I'm guessing you probably knew that :)
 
I am upgrading this PC to handle as many virtual pcs as possible, and I will need some more disk space. I want to determine if I will get (significantly) better performance by buying two hard drives and putting them in a RAID array (presumably striping) or would it be better to just buy two hard drives and put half of the virtual hard disks on one and half on the other?
Multiple independent spindles is the way to go. If all the VMs are going to be running even moderately disk-intensive stuff, a large number of (relatively) slow spindles will be better than a smaller number of fast ones. 250GB drives are cheap these days; rather than buying a Raptor or two, I'd go for a pair of 250s or two.
and by the way, if i have say 8 virtual pcs and 4 of them are installed on virtual hard disks on one 'real' hard drive, and the other 4 are on a separate 'real' drive, is the performance going to be better than if i just put all 8 on one larger 'real' drive?
Yes. The guest OSes want to do I/O, so they talk to the host OS. If it can schedule the I/O on different physical devices, the I/O will complete faster and the guest OS can keep responding. More memory is probably more important, though.
 

The virtual machines won't respond as snappily as "real" computers on a network would. That is because of the overhead of running virtual machines and the fact that the networking talks to a virtual adapter, which talks to a virtual OS, which has to talk to the supervising OS. That three-step thing slows you down. I'm not sure how significant it will be, but I know that theoretically it (the lag) is there.
 
oh ok, thanks. i don't think it will hurt what im trying to do but it will be worth keeping in mind
 
The virtual machines won't respond as snappily as "real" computers on a network would. That is because of the overhead of running virtual machines and the fact that the networking talks to a virtual adapter, which talks to a virtual OS, which has to talk to the supervising OS. That three-step thing slows you down. I'm not sure how significant it will be, but I know that theoretically it (the lag) is there.

Actually, they could be faster. The virtualization is all happening in memory on the local machine, which works at several gigabytes per second in new machines. Thus, talking to the host OS could be significantly faster than talking over ten-megabyte-per-second Ethernet. There could be a hit in latency, but for pure transfer rate all on one box has potential to dominate even ten-gigabit real Ethernet.
 
Multiple independent spindles is the way to go. If all the VMs are going to be running even moderately disk-intensive stuff, a large number of (relatively) slow spindles will be better than a smaller number of fast ones. 250GB drives are cheap these days; rather than buying a Raptor or two, I'd go for a pair of 250s or two.

Yes. The guest OSes want to do I/O, so they talk to the host OS. If it can schedule the I/O on different physical devices, the I/O will complete faster and the guest OS can keep responding. More memory is probably more important, though.

QFT.
 
Back
Top