Build a Development and testing at home(via VM)

4

I need a consult in building a home development and testing environment, I'll describe what I had in mind: I'm a web developer, hence I don't need such top performance hardware, I'm planning on having about 4 virtual machines, 2 linux and 2 windows. (1 for testing, 1 for development for each OS)

So what physical and virtual setup is recommended in order to run this kind of setup(hardware wise) ? And what do I need in order to accomplish(software wise) this setup ?

p.s. I'm a newb at virtualization, so any guides and tips with be regarded as useful thanks !

Cu7l4ss

Posted 2010-07-26T08:05:13.497

Reputation: 143

Thank you all :) Very helpful thread. Now need to get to work with this – Cu7l4ss – 2010-07-29T06:44:28.540

Answers

2

To use all the VM at the same time on the same machine, you'll need big machines as in the other answers, let's say 2GB for windows testing and 512MB for linux testing + 3GB for windows + 1GB for linux you'll reach a 8GB machine and you'll need a rather fast cpu to run all 4 VM (not very very fast) at the same time.

I think you could work well with far smaller machines and my suggestion is to run on 2 different smaller machines, each one with 1 host and 1 guest, one for testing and one for developping as I think it is better to have 2 screens, because 4 machines on the same screen is not my dream (or even 5 if you plan to run 4 VM on a host as I think I understood)... If you have small / old machines already like P4 or Athlon, I think you could put 2 or 3 GB on it to run the test machines. I run XP guest (virtualbox) on ubuntu host on 1GB and 2GB Athlon and P4 machines very good - of course the 2GB P4 are better! but the 1GB Athlon are OK to work with Database app in xp and browser + Voip + openoffice + thunderbird in linux at the same time. So I think it would be sufficient for the testing machine host+vm with 1GB more RAM as you'll probably want to run windows 7 or Vista in it. For the developpment machine, it depends on what you'll use but a dual core with 4Gb should be nice to run both OS in my opinion.
Anyways, I would use always linux as host for multiple reasons:

  • always faster in all my tests (with low and high RAM)
  • windows depends more on RAM than linux and in VM it's easy to change the RAM allocated
  • if you got problems, linux almost always boots and you can reach your disk at least with a terminal or a live-cd to fix it and is easier and faster to wipe-out, reinstall (without limited install/activation) and configure than windows so using windows in VM you "protect it" from having to reconfigure and reinstall (if you take a copy of the virtual HD freshly installed)
  • if you need to test a different configuration, just copy the virtual HD and your windows is new again so you can configure it differently and test without reinstalling
  • linux is a lot easier to manage / resize partitions and reads/mounts NTFS partitions without problems
  • windows boot in VM is a lot faster than in real machine
  • This one is personal but I use linux a lot more than windows so I don't need to run the VM all the time...

Keep your virtual disks on separate partition(s) (or better, disks if possible) to protect them and it will be easier to resize them if needed and if on separate disks, they will run faster.
If you want to run all 4 machines as VM, I would add 512MB on each machine and use linux as host.
Regarding VM type, I use virtualbox and I'm very satisfied with it (maybe because I know it better already) but VMWare machines are good too. I tested VMWare in the beginning and it looks more powerful but I think virtualbox is easier and faster.

laurent

Posted 2010-07-26T08:05:13.497

Reputation: 4 166

4

i would suggest you use free vmware esxi as your virtualization platform. depending on your budget - lowest end server-grade hardware from hp/dell should be fine or you can try to use it on 'white box pc' [check practical compatibility list].

on the top of vmware you'll be able to install whatever systems you need.

hardware wise - ram is cheap, take at least 8 GB of it. quad-core cpu should be fine if you don't run too heavy works.

pQd

Posted 2010-07-26T08:05:13.497

Reputation: 571

1Free Microsoft Hyper-V would also work, might even accept more hardware - though it has the same downside of also requiring a separate client console. – Oskar Duveborn – 2010-07-26T19:59:11.200

1

I have a HP Proliant ML115 G5 with QC Opteron, 8G memory and 2 160G SATA drives running Vmware ESXi off a pen drive as a home lab. A similar setup would probably meet your requirements. The Proliant has internal USB ports so the pen drive sits safely inside the case.

user35787

Posted 2010-07-26T08:05:13.497

Reputation:

Curious as to why the pen drive? – gravyface – 2010-07-26T19:37:29.100

In order not to waste a disk only to install the hypervisor on it? – Massimo – 2010-07-26T19:38:38.817

@Massimo: can't see that performing very well... – gravyface – 2010-07-26T20:04:05.307

@gravyface: The hypervisor just needs to boot, once it's loaded into memory it usually doesn't do lots of disk I/O. This solution is indeed suggested (and fully supported) by VMware. – Massimo – 2010-07-26T20:13:38.280

@Massimo: good to know... – gravyface – 2010-07-26T20:18:01.827

You don't need to devote an entire hard drive to ESXi, do you? Can you not partition what you need? – Luke has no name – 2010-07-26T20:22:03.610

1It's < 2G, installs easily to a pen drive and you don't have to faff with partitions on a disk. – None – 2010-07-26T20:40:12.677

1

I'd say a minimum of 16 GB RAM if you can -- RAM is more important than cores here.

Brad Ackerman

Posted 2010-07-26T08:05:13.497

Reputation: 111

2And having more than one physical disk is even more. – Massimo – 2010-07-26T19:40:21.013

I run a decent-sized AD with SQL servers, IIS7s and so forth on 8GB (though I really want 16GB or more now so an upgrade is in the pipeline ;) – Oskar Duveborn – 2010-07-26T20:00:03.757

1

I strongly agree with the suggestion of using ESXi; it performs exactly as well as the full-blown ESX product, and it's free.

It can run on consumer-grade hardware (just check the HCL), and will use your hardware much better than any type-2 virtualization solution (i.e. those that run on top of an existing O.S., like VMware Workstation).

The only downside is you will need another computer in order to connect to your host, as it will not have any usable physical console... but it's really worth the additional cost.

Aside from CPU cores and RAM, also be sure to buy as many disks as you can: four VMs spread across four small disks perform dramatically better than the same four VMs residing on a single big one.


If you want to use only one computer and still get the full power of a type-1 hypervisor (and if you can get a licensed copy...), you also have the option of installing Windows Server 2008 R2 on your development computer and enabling the Hyper-V role. Even if it will look as if you were running a hypervisor inside Windows (just like VMware Workstation), the opposite is in fact true, as Hyper-V actually puts Windows inside the hypervisor, allowing it to make full use of the hardware.

Just be sure to not try high-end 3D graphics, as the effect can be quite unpleasant; but if you want to read documentation, send e-mails, check the web... or just actually use your VMs, it will do fine, and you will not need another physical computer.

Massimo

Posted 2010-07-26T08:05:13.497

Reputation: 2 278

1

I would suggest you try Citrix's XenServer instead of VMWare's ESXi. The free version has a richer feature set (cloning and templating are killer features if you like to test a lot). Don't get me wrong, ESXi is nice but XenServer just offers more for the same price ($0) and the features are there if you ever need them.

The only reason I would choose ESXi over XenServer is if you need the PCI-Passthrough feature.

As for the hardware, go with a quadcore cpu and lots of ram (>=8GB). Just make sure you get a network card which is compatible with your vitualization product. A good fit would be an Intel NIC like the Intel PWLA8391GTBLK Pro 1000GT it's cheap and works with almost everything.

Sascha

Posted 2010-07-26T08:05:13.497

Reputation: 125

0

I use my Desktop PC with VMWare Workstation. Quad-core AMD and 8GB of RAM with 1.5TB hdd to store the VMs. It is more than enough for me to run four VMs 24/7 and play video games when I am not working on something.

If you don't want to pay for VMWare Workstation you could use Virtual Box just the same.

steve.lippert

Posted 2010-07-26T08:05:13.497

Reputation: 1 970

0

+1 for ESXi, although I have never personally used it, but everyone keeps telling me how awesome it is and I am inclined to agree with them, just haven't taken the plunge yet.

However, I'm not a fan of pre-packaged solutions so I found Proxmox which sits right on top of a stock Debian linux install and has OpenVZ as well as Xen support (via a custom kernel, pretty slick actually). I'm able to install pretty much any OS I can throw at it.

Been using it over a year and no complaints, my hardware is a mini atx 775 board with an Intel E6400 Core 2 Duo and 4 gigs of RAM.

Stephen Brown

Posted 2010-07-26T08:05:13.497

Reputation: