We are a software development house. We require different systems with different OS platforms, like Win Server 2003, Win XP, Win 7 Win Server 2008 both 32 and 64 bit, for software testing purpose.

  • We require complete systems either physical or virtual.
  • The processor usages are not high.
  • Memory usages are moderate (1 - 2 GB per machine).
  • HDD space is not a big factor, 40 GB is sufficient. Rather HDD read - write might be an issue as there will be databases installed.

Generally we are using Microsoft Hyper-V server and Virtual PC. But if we run multiple virtual on a same HDD, there are bottle necking in disk I/O.

Now we are planning to build a hardware platform where we can accommodate numbers of virtual machines with different OS platforms without any physical bottle necking. But I am having some confusions regarding the hardware required for this solution.

The main concern should be scalability. We can go for some tower or rack-mounted servers with 20 odd HDDS, 8-16 DIMMS, 2 Quad Xeons. Still HDD constraint may arise later. But Recently I got a suggestion form my friend. He was telling, keeping the main concern of scalability in mind, we can go for a sollution where the Prcoessing unit and Storage unit (Disc Array) will be seperate.

  • A mid range server will serve the Processing part.It will have Processors and memory (say 2 quad core Xeon and 32 GB memory).
  • Some scalable Storage solution like Network Attached Storage (NAS) will server contain the Operating Systems.

I am a bit confused whether is this feasible. How an ethernet connection can serve the purpose of a system bus?

Any suggestion regarding possible solution will be highly appreciated.


Check MicroStrategy- 2U case - 24 hard discs.... 4u rack case, 72 (!) hard disc slots. That, plus an Adaptec 6805Q and 2-4 SSD as read & writre cache and the system SCREAMS.

Oh, and Velociraptors in Raid 10. Pretty much a cnodition the moment you hid 20- vm's. WHich is what I do.

I hacce a 24 disc system (right now 22 in use) which I will upgrade to a 72 disc case later his year.

Some scalable Storage solution like Network Attached Storage (NAS) will server contain the Operating Systems.

Good idea. Except most are low end appliances with veryl ittle memory.

  • WD's Velociraptors may sound good on paper, but I have found them to suck really badly in practice. I've built a solaris-driven SAN storage for the lab using 6 600 GB velociraptors in a BBWC-RAID 10, it was absolutely no match to a similarly configured machine with Seagate Cheetahs - could take less than 1/4th of virtualized machine load and was showing rather pathetic performance all along. – the-wabbit Feb 13 '12 at 10:46
  • I use the 300gb one - a litle less IOPS but half the size, which gives me a better IOPS / gb ratio. I also am upgarding to adaptec 6805q these day to add a read and write cache of around 480gb to start. – TomTom Feb 13 '12 at 11:47
  • For the record: I was using LSI MegaRAID gear (it's just what we happened to have) for testing. The controller did not have SSD caching support, but I've configured ZFS volumes with L2ARC (SSD read cache) and ZIL (SSD transaction journal). Of course I always could have thrown disks at the load, but in this case they wouldn't have to be (and probably wouldn't be) Velociraptors or WD drives altogether. Just try the Cheetahs as the HDD prices drop again, you'll see, they are worth it :) – the-wabbit Feb 13 '12 at 12:26
  • Thaks to u all for your quick responses. Let me study with your suggestions. Thanks again. – Arindam Banerjee Feb 13 '12 at 15:23

Read up on storage technologies such as SAN and iSCSI to get started.

Using ethernet for disk I/O (=iSCSI) is quite feasible, since, as you already indicated, disk access is much more important than throughput or capacity.

A good double gigabit ethernet link to your storage server could supply a total of 200MB/sec sustained to any number of virtual machine hosts (with no one host exceeding the capacity of one gigabit link, of course.)

That's not a lot in terms of throughput, but in IOPS (which is what counts), it only depends on the storage backend, which could be 16 disks in RAID-10.

  • WHich sitll would not handle 200mb. 16 discs is not a lot the moment you hit virtualization. It is actually quite low. Try restarting 20 vm's and you are one thing: dead meat. Especialyl as msot storage servers dont handle second level caching recently and are masdde of lower end hardware. – TomTom Feb 13 '12 at 9:53
  • Wouldn't handle what ? even 16 7200rpm SATA drives could yield in the region of 1000 IOPS for read. That's quite sufficient to run half a dozen VMs. Note that the OP did not specify scale. – adaptr Feb 13 '12 at 9:56
  • 1000 IOPS is pathetic the moment you have 32+ gb of loaded virtual machiens there. Wait for patchday - you spend hours manuarlly restarting them in small batches. THe moment you get some load (build agents, deplyoment / install tests / databases you simply are dead. I run 16gb minor server on 8 discs and it is a pain without a second level cache. – TomTom Feb 13 '12 at 10:09
  • Thanks adaptr and TomTom for your responses. I am thinkingg of a setup to accommodate 16-20 VMs initially and if possible we can upgrade the hardware to accommodate more. – Arindam Banerjee Feb 13 '12 at 15:22

I've seen a couple of setups using iSCSI as a protocol. The setup would be a iSCSI Storage Solution (not a cheap nas), a dedicated switch and a server.

When you run this setup with a dell equalogic you can add what ever you need more, as the system scales. Need more disc storage, add another equalogic, need more processing power add another server. nedd more disc throughput add an faster equalogic (or fastr disks) and the data is moved arround.

iSCSI can be setup with 1 gigabit link or you can aggregate links or even use 10 Gbit/s nics.

Plus: the equalogic can be used directly inside the vms.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.