I want to play with VMs

This topic was created by Neoc .

  1. Neoc

    I want to play with VMs

    A few years ago, a local company moved and sold some of its IT equipment. I purchased their rack cabinet, all 1.9 meters of U's.

    First thing I built was a storage box - got a rackmountable computer case and stuffed it with 9x2TB worth of hard-drives. Still running like a charm after 3+ years of almost no downtime.

    Now, I want to play with Virtual Machines, Hypervisors and the ilk. So my question is: considering that this is a home project, what should I get i terms of hardware and software? I have a fileserver with enough storage (well... two now - I got bored), so local storage is probably low on the list. But what CPU/motherboard would be best for a home set-up? What about the choice of Hypervisor - bare-metal or running in an existing OS? And if so, which?

    Choices, choices, choices. What are your pearls of wisdom?

    1. DaLo

      Re: I want to play with VMs

      To quote the old saying "how long is a piece of string".

      You can run a number of VMs on a $300 laptop or require a server with 4 processors running 12 cores and 32Gb RAM and anything in between.

      It depends what you want to run and achieve with it?

      However in basic terms, everything will be shared between all the VMs. So make sure you have enough total cores that can be presented to each VM as a (a quantity of) virtual core(s) and enough RAM to share amongst each VM.

      As for Hypervisors, if you are using a machine especially for testing VMs then I would recommend using the free Bare Metal VMware. Load it on via DVD, connect using the VSphere Client and away you go, very easy to set up. Use the VMware converter to convert a physical machine to a virtual for a quick start.

      Your issue will be licensing the OS though. Unless you are running Linux as the Guest OS, every two VMs will need a WIndows Server Licence. Now Technet is not available, test licences are restricted to trials.

      1. Neoc

        Re: I want to play with VMs

        Thanks. Licensing is not a problem - I have a few old WinXP licences from dead machines, a spare Win7 Home licence, I play around with Linux/BSD and I think I have a disk with MacOS X Leopard on it with two spare install licences - although I understand that last OS may be a moot point in terms of install on non-Apple hardware.

        1. Tim99 Silver badge

          Re: I want to play with VMs

          @Neoc

          Thanks. Licensing is not a problem - I have a few old WinXP licences from dead machines, a spare Win7 Home licence, I play around with Linux/BSD and I think I have a disk with MacOS X Leopard on it with two spare install licences - although I understand that last OS may be a moot point in terms of install on non-Apple hardware.

          Licence compliance is one reason why large consultants "justify" their prices, although they often get licencing deals that you can't. While it is a "home setup", it is unlikely that anyone will care too much. If you try and charge money, things can go wrong quickly.

          If you do earn a crust from this, the Mac Licences are more than a moot point, they are not kosher. Check that the WinXP licences are retail, because otherwise they are probably OEMs and are not transferrable to other machines. The Linux stuff (unless it is, say, Red Hat, or Oracle commercial) is probably OK - You may need to be a registered developer though. The BSD stuff is likely to be OK.

          Your power bill may be a bit more than you think too :-)

          1. Neoc

            Re: I want to play with VMs

            @Tim99

            No consultancy, no getting paid. This is me in my man-cave with a pile of hardware to play with. By me, for me.

      2. dogged

        Re: I want to play with VMs

        Also worth bearing in mind that Windows Hyper-V Server is free and will happily run linux VMs.

        1. Skoorb

          Re: I want to play with VMs

          And a Hyper-V is built into Windows 8 Pro if you have it: http://windows.microsoft.com/en-gb/windows-8/hyper-v-run-virtual-machines. If you want some free basic certifications take a look at http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200331171 (if you get it done soon you can take the in person exam for free) or http://www.joshodgers.com/2013/10/06/vmware-certified-associate-data-center-virtualization-cloud-and-workforce-mobility/ for VMWare.

    2. dredeyedick
      Linux

      Re: I want to play with VMs

      Take a Look at This. http://vmblog.com/archive/2013/11/15/penguin-computing-launches-new-hpc-cloud-appliance.aspx

    3. Robert T

      Re: I want to play with VMs

      I guess that you want to learn by playing, and you don't have a specific purpose in mind. I'm very familiar with Linux and KVM, and work with reasonably large clusters.

      Virtualisation itself is a commodity nowadays. There are minor differences between the different hypervisors, but all in all, they require compute, network, and storage and they spit out VMs. For your purposes, any compute unit with virtualisation extensions should be fine, and pick a hypervisor that you can easily script against (ie. there's an API). For most purposes, standard networking setups suffice - you will want to learn about VLANs and bridges in Linux; at some point you might want to look into the Software-Defined-Networking software, but this is usually only relevant for public cloud deployments. Storage is the most interesting, as virtualisation adds more layers into the mix and introduces mixed usage patterns - for a very simple setup, store VMs on local disks or on an NFS mount, and provide NFS as extra storage for VMs. Later, you might want to invest time exploring Ceph/Rados, Sheepdog, GlusterFS, or similar. In my opinion, iSCSI is more trouble than it's worth - too many vendors do things too differently (and storage folks don't like you messing with their kit), so you usually end up running your own iSCSI targets if you want the most flexibility, which introduces more points of failure and a lot of work to do it right.

      The real interesting parts of virtualisation and where most effort is being invested nowadays is around the supporting management infrastructure. If you have hundreds or thousands of virtual machines running across many independent clusters, you need a way to manage them. You need to know which VMs are running on which servers; you need to have sensible VM allocation (and reallocation) algorithms; you need good monitoring; you need DHCP and DNS servers; you need some kind of CMDB storing metadata; you need user access control; you probably want to use image-based deployments, so you'll want a management solution for that which the VM-deployment-scripts can make use of; and you'll want to support PXE installations (at least for the physical servers, if not for the VMs); you'll want full lifecycle management of the infrastructure and VMs, from initial resource allocation and creation through to migration and recovery from failures and finally to decommissioning.

      On top of that comes the management of applications and services on individual servers, and the orchestration of deployments using the IaaS-APIs and configuration tools (such as CFEngine, Chef, Puppet, Ansible, SaltStack, etc.). At the very least, you'll want a reproducable way to configure your physical servers and keep them up to date and consistent.

      For KVM, you might want to look at http://www.linux-kvm.org/page/Management_Tools for some tools other people and companies have written.

      If you really want to understand with a bottom-up approach, I recommend starting by setting up redundant DNS & DHCP servers with support for PXE, and using virt-manager to create VMs on remote servers using a single VLAN and bridged networking using local disks or NFS backed storage. Once you've managed that, start automating things yourself, but evaluate different tools as you go along. For KVM, there is no one standard, and every software solution manages things their own way. There are lots of moving parts, and any full solution will be necessarily complex (or simple but inflexible). Oh, and don't forget to design monitoring into your solution: Make sure you have the possibility to extract metrics at every step (no need to collect them all from the start - you'll figure out what's important as you go along).

      When you're done with this, you may then decide that virtualisation itself is not that important for your situation, and the same management and orchestration toolbox can be applied to general application and resource management where you'll get much better performance/better ROI by deploying smarter software stacks running on bare metal, in containers like LXC, or using external IaaS providers.

      Good luck!

    4. Anonymous Coward
      Anonymous Coward

      Re: I want to play with VMs

      If you want to go down the free route (and remember that ESXi and HyperV are very much *not* free once you start needing some of the more advanced management features), I would suggest:

      1. For virtualising desktops: VirtualBox. Very easy to install and use. Available for Windows, OSX and Linux.

      2. For virtualisation on a single server box: Linux with KVM and libvirt (virt-manager GUI, virsh CLI). A little clunky but gets the job done. Each VM is just a KVM process, so it's very easy to see what's happening.

      3. For a resilient, production-grade cluster: Ganeti. This is a project developed by Google and released to the world; it manages KVM or Xen virtual machines. Its USP is that it manages DRBD for node-to-node disk replication without needing a SAN, and can live-migrate individual VMs by flipping around the master/slave. A bit of a learning curve, but absolutely worth it.

      4. Then if you want to try the whole "private cloud" shebang, look at Synnefo. This has a Cloudstack-compatible API and a beautiful web interface, but uses Ganeti underneath for the actual grunt. Synnefo has an online demo site so you can try it out first without installing anything, but the entire codebase is free to download and install yourself.

      Hardware-wise: just make sure your processor supports both 64-bit instructions *and* virtualisation extensions (VT-x for Intel, AMD-V for AMD). Most modern processors do, but at the low-power end often they don't. Make sure you have plenty of RAM growing room, spare DIMM slots for example.

      If your VMs are not compute-intensive - and let's admit it, most VMs sit around idle most of the time - then actually you don't need a whole load of cores or high clock speed, and it may make sense to choose a low-power part. Hyperthreading is nice to have though, as it reduces the overhead of context switching.

      If you want something small enough to fit in carry-on: it's hard to beat the power-to-weight ratio of a Mac Mini server (i7 quad core) loaded with 16GB of RAM and two SSDs.

      If you want something to sit in your rack: a Dell R210-II (1U) configured with 4 x 2.5" front-loading drives makes a very nice starting VM server, and a pair of those will give you your resilient Ganeti cluster for little more than a grand. Throw in an extra NIC in the spare PCI slot, so you can have a private replication network.

      Of course, if you're happy to build yourself, just shove a motherboard in a case. There are plenty of rackmount cases (example: xcase.co.uk). One of the Supermicro boards with built-in lights-out management might be a good choice.

      1. Anonymous Coward
        Anonymous Coward

        Re: I want to play with VMs

        "ESXi and HyperV are very much *not* free once you start needing some of the more advanced management features), "

        That's the case for Vsphere, but not Hyper-V. The free Hyper-V version is FULLY functional. Even things like replication are included...

    5. Anonymous Coward
      Anonymous Coward

      Re: I want to play with VMs

      For hardware, I would suggest you look out for the frequent cashback deals on the HP ML110 server (takes 32GB RAM) or similar HP deals

      For Software, I would install Hyper-V Server 2012 R2 (completely free download from Microsoft and is fully featured with no functionality limits - outperforms open source hypervisors such as KVM or Xen, and doesn't have the functionality limits of the 'free' VMWare versions...)

      I run a pair of these in a resilient setup....

  2. RonWheeler

    Depends

    If you just want to try out various operating systems, set up test environments and the like, VMWare Player or VirtualBox running on windows are fine. Both have been rock stable too so the only real pain is the overhead of the background OS. They also give you familiar easy ways to access the filesystems behind the scenes, make backups and so on. i.e. for most home use, fine.

    Want to step it up a bit - basix ESXi or HyperV are both free (I think...) but both more difficult to use and (esp. ESXi) create some hardware restrictions, quirks like access to VMFS etc. Only really for businesses or people who want to geek-out a bit.

    1. Dave 126 Silver badge

      Re: Depends

      It might be worth a quick Google search of your choice of Host, Hypervisor and Guest combination before you start, just in case it lets you side-step any known issues that can waste half an hour.

      Re VMWare Player - if you choose to try a Windows host and VMWare Player for a virtual Ubuntu installation, don't use the 'Easy' option when VMWare Player presents it to you ('Normal' works fine). It may have been fixed by now, but the VMWare Player Tools caused issues at the time so that I couldn't reach the guest desktop.

      The 'Tools' were just to allow things like 'copy and paste' and 'drag and drop' to work between Host OS application windows and Guest OS application windows.

      Have fun!

  3. Pete 2 Silver badge

    Pearls of wisdom?

    As far as hardware goes, I'd suggest 1 core, plus another one for each VM you plan to run and as much memory as you can afford. As a start, reckon on 2GB + 1GB per VM. Add more as the fancy takes you.

    > What about the choice of Hypervisor

    OK, as you say that you're "playing" I'd suggest you get straight on and ... play.

    A quick google search of all the technical terms you have mentioned will give you all the alternatives and possibilities you are searching for.

    Start off by grabbing copies of all the *free* bare metal hypervisors and giving each of them a test drive. After that, load up whatever O/Ss you are licenced for and try out the other VM environments you can download.

    At some point you'll either find a product (there aren't that many) that jumps out at you and seems to do all the things you want - hopefully part of your experience gaining process will allow you to come up with a list of features you value - or at least fail to tick the fewest possible boxes.

    At that point, I'd be interested to hear how you got on.

    The only thing to remember is that if you don't know where you're going, you'll never know when you've arrived. So apart from playing around, you could help yourself by taking half an hour to work out what your goals are: learning, running some "production" services, gaining some marketable experience or whatever.

    Have a nice play.

  4. Trigun
    Coffee/keyboard

    My recommendation:

    (there's something weird going on with the formatting of this post so I've added asterisks as multiple blank lines etc don't work)

    Hi

    ** If you want to play around a bit, but nothing too serious (i.e. just to see what VMs are like):

    Install in existing windows or linux host

    Use VMplayer or VirtualBox

    H/W spec:

    CPU: Dual core with hyper-threading (so you get 4 virtual cores), or quad core (with or without hyper threading). CPU must be able to virtualise - most desktop ones can, but not all. Speed per core is not overly important unless you're setting up something that number crunches alot.

    Mobo: Mobo must be able to virtualise. Most modern ones can, but not all.

    RAM: 4GB+ (8GB+ highly recommended)

    Disc space: Think of 30-40GB per VM you wish to run on top of what the host uses and you'll be fine. This can be juggled as different OS's have different disc footprint sizes.

    ** If you're a bit more serious (virtualising small to medium computer networks, MS exchange, etc):

    Dedicate an entire PC (or server) to the project

    Use Hyper-V (bare metal or Server 200R2/2012 w/Hyper-V if you have a spare Server 2008R2/2012 license) or (my favourite)VMware's ESXi (license is free for up to 32GB and one physical processor last I looked)

    H/W spec:

    CPU: Quad core (with (preferred!) or without hyper threading). CPU must be able to virtualise - most desktop ones can, but not all. If you can afford a Xeon or Opteron then get one, but if you're not rich then stick to a dekstop CPU. Speed importance as above.

    Mobo: as above

    RAM: 8GB+ minimum (16GB+ highly recommended). Server 2008R2 Standard RAM is capped at 32GB and I think ESXi's free licensing caps at 32GB as well.

    Disc space: as above

    ** My home setup (which I use for testing network & server solutions for work and for hosting my mail server+DC) - it's probably a bit OTT :D -

    OS: ESXi v5

    CPU: Xeon E1650

    RAM: 64GB (32GB usuable atm due to licensing)

    Mobo: Super Micro Workstation board

    Disc: 64GB SSD for ESXi booting, 4x1TB Seagates in RAID 10 for VMs, Seagate 750GB VM backup drive

  5. Sil

    You can have only one hypervisor at the same time.

    If you use visual studio you'll have to use hyper-v, at least if you want phone emulation.

    Last time I checked hyper-v had no sound support & limited USB emulation, whereas VirtualBox has both.

    However if you don't need these functionalities and are on Windows, hyper-v is perfectly adequate.

    If you want to play with UNIX don't forget there's life outside of Linux, FreeBSD comes to mind, although a Suse Linux distro will be much easier to setup.

    If you want to test windows servers or other ms server software they are often conveniently available as vm drive.

    1. Anonymous Coward
      Anonymous Coward

      Hyper-V has supported sound for at least 4 years:

      http://sqlblog.com/blogs/john_paul_cook/archive/2009/09/14/enabling-sound-on-hyper-v.aspx

      And the current version (2012 R2) supports USB devices...

  6. Blane Bramble
    Pint

    You need to define what you want to achieve

    Do you want to play with virtualisation in order to learn about the guest OS's (the ones you will run inside the Hypervisor), or to learn about how to run virtual loads (i.e. how to use the Hypervisor) - if the former then you can pick any Hypervisor - either a built in to an OS one such as Hyper-V on Windows or KVM on Linux, or even VMWare Player etc. and just build a machine with decent resources - any 64 bit processor with the relevant virtualisation extensions will do. You can play in as littles as 4GB if you only need one VM at a time (or several tiny ones), but 8 or 16GB is more realistic.

    If you want to learn about Hypervisors, then the choice depends on what you want to learn - for the corporate markets then it's probably Hyper-V or ESXi (which has a free version), possibly XenServer (also has a free version). The free versions are generally missing some of the high-end tools, but enough to get started. If you want to learn from a hosting/ISP point of view, then look at offerings such as CloudStack, OpenStack etc - there are development environments that will run on a single machine for test purposes, but these are generally aimed at a multi-machine setup (storage servers, compute nodes, cloud controllers etc.).

    Or, if you have the time, and far better if you do, try all of them. Get to grips, work out which interests you the most and does what you're looking for.

    Have fun. Here's a beer to drink whilst waiting for installs to complete!

    1. Davidoff

      XenServer (also has a free version)

      XenServer *is* free (Citrix has made it open source recently):

      www.xenserver.org

      (Although I had better luck running various Linux distros on Hyper-V Server 2012 than on XenServer)

  7. stizzleswick

    How I do it

    Two scenarios: first, occasional use of a different OS needed. Second, several different OS needed a lot of the time.

    First case

    I prefer using VirtualBox for my own use-case (got two pieces of software that require XP--not any versin of NT/Windows, but XP specifically); it's FOSS, relatively lean, easy to handle and pretty flexible. Good driver support for guest OSs, too. I have it running on both my main workstations (one on MacOS X, one on Debian GNU/Linux) for that quick access to the special bits, and for testing Linux and BSD distributions I plan to install on my own or my customers' machines before doing so. Need something with good tech support, I'd go for VMware.

    Second case

    I'd suggest a full hypervisor running on a dedicated machine with lots of RAM. Lots and lots of RAM. From experience, I recommend Xen. Got that up and running for a customer in 10 minutes flat. I'm not kidding. Installer disc in drive, fire up machine, ten minutes later I was importing the first set of VMs from the customer's failed previous hypervisor (Hyper-V. Big failure, as in, several VMs trashed in the process and customer as well as administrator swore never to use the product again). Alternatively, use Zen. Both are free and are Linux-based; Zen comes with some goodies from the SuSE project and optional tech support.

  8. ian_m

    I've been evaluating VM's on second hand servers from Ebay. We got a HP ML110 G5, dual core Xeon 2.3GHx, 8GB RAM, 4 off 250GB disks and two network ports all for £110, bargain. Processor supports VM's, but not SLAT, so not the nippiest and 8GB RAM is limiting, but £110....

    Been using Server 2012 R2 running Hyper-V evaluating virtualising our real servers and work loads at work.

    In fact worked out really handy, as one of our real servers died (motherboard !!) and it happened to be a HP ML110 G5, so lost my test server, but company SQL database was up and running in under an hour. Ordered another two from Ebay £140 and £180, one had only 4GB RAM and not so many disks. Also an Adaptec 3405 RAID card (£55) to put OS on. Been using the two servers to test live migration of VM's and fall over.

    Server 2012 R2 for 180day trial is available for download.

    In fact the VM bit was not the most interesting bit of Server 2012 R2, the VM bit it just worked, the most interesting is data deduplication. Let it loose on our 5TB of files stored on our NAS (loads and loads of Windows images) and it came back with 60% saving storing in 2TB. Considering these are expensive SAS disks, that is a considerable money saving out of the box.

  9. Vatsan

    Hi,

    If you just want to get a feel of Virtualization:

    (My current) Hardware: Intel Core 2 Duo 2.66GHz, DDR2 800Mhz, 250Gb SATA (7200rpm) HDD.

    (My current) Software: Ubuntu Linux 12.04 x64, Virtual Box 4.3.2

    (My current) Guest OS-es: Lubuntu x32 13.10, Ubuntu 13.10 x32, WordPress Appliance from http://www.turnkeylinux.org

    Ofcourse, the latest H/w like Core i7 1600Mhz DDR3 RAM can only be better.

    The best part is, if you add an Internal Host-only Adapter (in addition to the default NAT one) you could communicate with the guest OS as if it is a regular wkstn / server. In my case, I could access the WordPress page by using the internal IP of the guest as the hostname in the URL.

    I have been playing with VBox for the past 5 years and my H/w is still not outdated for me ;-)

  10. Ned (the original)

    Cores, ram disk speed

    You need cores, don't be fooled by over subscribing virtual machines to number of cores unless you have over 4 cores. Hyper threading just makes things worse when vm's start fighting for some CPU.

    You need a decent amount of ram to avoid any swapping, I know KVM does but you can deduplicate ram usage for a bit of overlap between vm's.

    Disk speed is also important for virtualising nas or database systems. If you are using your storage boxes then your network speed is important.

    Personal choice but centos with KVM in production, virtual box on my laptop.

  11. William Boyle

    Learning, and doing

    Different things. Use something like Oracle's Virtual Box to learn about VMs. Assuming you are running LInux or similar, use KVM (Kernel Virtual Machine) for production. I use VirtualBox on my Linux and Windows systems to run other operating system images (R&D or personal use), but if I need to run production systems, KVM is a better (more efficient) option.

  12. Hugh 5

    Get a bog standard PC and start using Oracle's FREE VirtualBox

    Simple. Straightforward and brilliant.

    I run a Windows VM on my Mac (to run PC specific software at work) and Ubuntu and Jolicloud VMs on a PC (which I connect via Microsoft Remote Desktop from my desktop Mac) as a hobby-platform.

    Loads of fun. Loads of opportunity to experiment without building a system from scratch. Great for just "trying" things out. Good luck.

    1. Joe 37

      Re: Get a bog standard PC and start using Oracle's FREE VirtualBox

      Problem is the encryption stuff required by work blows up VMs horribly. As in reinstall from backup. Repeatedly. Now have to image USB sticks and decrypt them at home on a real Winders box. Which dies often. The encryption stuff sucks goat bits badly.

  13. pootle

    been doing this for many years now...

    unless your vms are going to be genuinely busy, you don't need anything like 1 core per VM.

    I started using vmware , but switched a few years ago to using linux (ubuntu) server running kvm, i've got a reasonably gutsy server server now, (core i5, 24Gb RAM, 4 discs in raid 10 array) but only need the power when I start doing serious map generation, the rest of the time it trickles along.

    I do it not 'cos I'm keen on virtualisation, but 'cos I want to mess about with a number of different machines from time to time.

    The single most important thing is to make sure you get a CPU with proper virtualisation support. Intel are a pita for this - you need to check the detailed spec of the specific CPU you are thinking of buying as they seem to switch it off and on on diferent CPUs on the same range at the drop of a hat. It was easy when AMD processors were the best choice by far, 'cos they all did it, but now intel are way faster in their more powerful CPUs. Oh and you might want to check for I/O virtualisation support as well, which is less common than CPU virtualisation.

    Unless you are planning to run some sort of serious data centre or other heavyweight processing, you don't need an awful lot of CPU, memory and disc I/O are far more important.

    I run:

    1) a pfsense firewall

    2) a linux apt proxy (so I only need to fetch updates from t'internet once - really helped enourmously when I started as I had a rather damp internet connection (3Mb on a good day), and dead easy to set up (large raspberry blown in general direction of windoze at this point)

    3) a basic linux lamp host with some standard open soource stuff on plus my own coded web server I used to store and manage photos etc.

    4) a fairly heavy linux machine running openstreetmap database / software

    5) a lightweight linux server serving up music to all and sundry in the house (windoze, linux android and sony blu-ray boxes

    I tend to run up a baby VM for each thing, 'cos then I can easily back them up and mess around with them.

    In days of old I ran a baby data centre supporting a full micorsoft exchange service with all the bells and whistles on an early Fujitsu blade server with 4 blades, with most VMs running off the blade's internal discs (used external discs for backup etc of course). It supported about 200 users.

    Oh yes what trigun said - mobo is important too. If you're using KVM check on t'internet to see what is behaving itself ('speshully if you want I/O virtualisation)

  14. Mad Chaz

    Just another post

    Hello everyone.

    Started reading and then I figured I wanted to ask a few more questions and would make one assumtion. As you spoke about having a rack, I suspect you want to use it. As such, I'll assume you want something that will sit inside the same rack. So physically close.

    Now the questions.

    First, what kind of storage do you have? As in, what kind of OS do you have on it.

    The reason I ask is you might want to actually make use of it. If so, I'd suggest you look into what kind of connectivity you can get to it. This is where the OS becomes important. No clue if you can do this in windows, but it's relatively easy to get either iSCSI (over ethernet, 10g would be best) or fiber cards working on Linux. If your storage boxe(s) have the connectivity and/or free PCIe slots, you can use it for your virtual machine storage. Then you can just skip spending on disks and use those you have.

    Getting a motherboard with more then one PCIe port migh then be a good idea, so you can get good connectivity. My personal favorite would be iSCSI over 10G, but that's only because I have made it work on 1G and it was almost trivial. I suggest using the raw exported devices for VM disks instead of sitting things on a file system if you can do it, as that avoids some overhead.

    For CPU, I would suggest number of cores over processing power, so go AMD. As this is a `for fun` setup, this gives you better interactivity between machines, as you can limit the number of CPU each can use. Memory is what most people will recommend you spend a lot on, but it depends on what kind of machines you want to run on it. Get a pen and paper our (or notepad) and just add up how much you want to give each, then give yourself some room to play. I have 8G on my home setup and it's swap as never been touched running 8 VMs.

    If you want a nice easy GUI to play with, Virtualbox on Linux is nice. You need to do a litle command line to setup the virtual disks if you want to use raw devices, but other then that it's simple as pie.

    If the command line doesn't scare you, KVM all the way. The only downside I have found to KVM is the lack of proper USB support. If you do everything over the network, that's not an issue. It's a lot more efficient at idle, so your machine will burn less power when it's not working, as less CPU cycles are wasted. On my own home setup, it's a constant 20W less draw on KVM then Virtualbox at idle, according to the UPS anyway. I've also found you could get a litle more CPU power at full use with KVM then with Virtualbox.

    On the legal side, remember that microsoft might not like you using home versions inside virtual machines, but I haven't bothered to read up on it. My understanding, and I'm not a law person, is you can use pro licences fine, as long as it's 1vm, 1 licence. No clue if they put actual technical barriers to it or not. Linux of course doesn't care and works wonderfully under VMs.

  15. Anonymous Coward
    Anonymous Coward

    My suggestion is to try out LXC, which is short for Linux Containers. It's not a VM in the strictest sense of the word, but more of a glorified chroot. It is, however, pretty easy to administer and blazingly fast (practically zero overhead). If you are scared of command lines you could look into libvirt, which can manage LXC in a graphical environment (only with very limited functionality).

    1. Skoorb

      OpenVZ is another container style solution to have a look at if you have time to read a few wikipedia articles.

  16. A Long Fellow

    I'll cast another vote in favour of the free base version VMWare ESXi. While OS-based hypervisors are fine to start with and for casual desktop use, the additional features of ESXi are well worth the marginal learning curve. With all due respect to my colleagues, I maintain that the desktop hypervisors don't offer a compelling platform for somebody who really wants to explore the power of a VM infrastructure.

    As for hardware, any contemporary CPU is an acceptable starting point, but I would consider 16gB RAM to be a reasonable minimum. I would also very strongly recommend having four (or more) network ports, allowing you to manage traffic more effectively. Start with a capable but humble bit of server hardware, knowing that ESXi will allow you to shape hardware utilization far more effectively than a non-virtualized OS. Also understand that, in 12-18 months, your new-found understanding of virtualization -- and your own requirements/interests -- will allow you to spec your _next_ VM host far more efficiently.

    Of course, this may only be the start of your voyage into the lovely world of VMs, but using ESXi and a low-end server config will give you enough experience to venture into some fairly deep waters.

  17. Mr_Pitiful

    I use Oracle virtualbox on my server

    Quad core 8gb with 6tb storage

    my vms are Win 98, Win xp, win Vista, win 7 & win 8.1

    as long as you don't start them all up at the same time it's fine

    just dedicate 1 cpu core per vm and you'll be fine

  18. Anonymous Coward
    Anonymous Coward

    If you like UNiX OSes, consider SmartOS, OmniOS or OpenIndiana, with those you get some great features, namely kvm, containers, zfs, crossbow, dtrace etc

    FreeBSD's bhyve is relatively new but coming along nicely, currently supports FreeBSD, Linux and OpenBSD guests, performance is very good.

    Personally I enjoyed the Solaris based OSes most, its easy to get virtual networks up and running and the amount of options to play with was mind-boggling. All put together very nicely for virtualization.

    SmartOS was great to explore, more hands-off than OmniOS/OpenIndiana, a case of pull in the dataset you want, or create one from a template and deploy it. Very solid OS.

    Nice comparison/reading - http://dtrace.org/blogs/brendan/2013/01/11/virtualization-performance-zones-kvm-xen/

  19. Anonymous Coward
    Anonymous Coward

    VMBeware: (1) licencing (definitely) (2) shared IO performance (maybe)

    I've been a happy VMware Player user (mostly under Windows with Linux as a guest) at work and at home for a number of years (at work because IT insisted there's no place for UNIX, at home because it gives me a compatible but non-IT-owned setup I can safely prototype on).

    As of a couple of Player releases back I am looking for an alternative (particularly for work) because the Player is no longer zero-cost for commercial use (£80 or so in the UK for single licence, at which point I lost interest).

    ESXi might be zero cost now. Who can say what it will cost in two years time?

    When my group played briefly with ESXi at work a couple of years back, we found a weird "timesharing" effect with disk IO. The Linux workload under test was bottlenecked by disk IO, not by CPU or memory. Performance with one VM active was reasonably close to bare machine. Add another VM, even if the second guest wasn't actually doing any disk IO (or anything much at all except an OS idle loop), and the elapsed time to completion of the job in question was doubled.

    Same observation with three, or four guest instances (we stopped at that point). As though the IO bandwidth was being allocated per guest instance in Nths (N=1,2,3,4) whether or not it was actually needed for any given guest VM. None of our IT department "experts" could shed any light, and nor could a brief trawl of the VMware/ESXi Interwebs (what would you search for?). The application went away but when it does come back we'll need to do much better than that.

    Suggestions?

  20. Youvegottobe Joking

    PCI Passthrough!!!!

    I wanted to set up a FreeNAS server in a VM for home use and wanted to use commodity hardware and found that it is strongly recommended not to do it using virtualised storage (RDM's, VMDK's etc), it needs bare metal access to the storage. So now your options are limited because as far as I know all the hypervisors virtualise storage....

    After some research I found that later versions of ESXi support PCI passthrough (also called IOMMU and VT=d) with the right CPU/Motherboard combo (partial list = http://en.wikipedia.org/wiki/List_of_IOMMU-supporting_hardware). Some checking on d'internet shows AMD A10 procs and some compatible mobos do this. £150 should get you both....

  21. Eddy Ito

    I currently use virtualbox on my laptop for simple OS testing and to maintain a portable firewall (first m0n0wall now pfsense) when I'm traveling. I haven't played much beyond that but I figured it was time to at least start figuring it out. Toward that end I'm building, as money allows, a small HA cluster (3 machines) to run Xen figuring if it's good enough for Amazon's EC2 it would be good enough for anything I could throw at it and, as I understand it, will also run Windows without modification even though it uses paravirtualization. I'm hoping others who are more knowledgeable will chime in if I'm wrong.

    For the hardware I'm keeping it simple with price being the main factor. For the CPU I'm looking at the Opteron 4334 and Xeon E3-1220 since they support AMD-V and VT-[x,d] respectively, are fairly cheap (~$200) and easily upgraded. Each box will get a (probably) SuperMicro MB with 16 GB ram (to start, budget dependent). I'm assuming my current NAS box can handle the system images. Unfortunately the first system never made it together as the parts were appropriated as a computer repair/upgrade for the missus so I begin again.

  22. Anonymous Coward
    Anonymous Coward

    VM's on a laptop

    While this is not strictly on topic, I use a lot of VM's for my work and need to take my VM rig with me to various parts of the world.

    I use the setup to simulate a complex industrial site.

    The laptop is a HP Elitebook 8770W 17in screen, I7 quad + 32Gb Ram.

    The storage is THREE 1TB SSD's. When docked at home it drives 2x 24in 1920x1200 screens.

    I boot up into Windows 7 and my VM's are all running in VMWare Workstation.

    I've just finished testing the EndOfYear process for my current client. 6VM's all of 4Gb RAM. The whole thing was kicked off at 5pm last night and ended an hour or so ago.

    Ok, this is not typical but it goes to show what can be done with a luggable system.

  23. Virag0

    ESXi on Mac Mini server 16Gb

    I am going to get a Mac Mini server, upgrade to 16GB and run ESXi on it for about 4 VM's.

    We are a home shop, so power constraints are my biggest concern. The Mini will only ever

    draw 80 watts maximum, so that is within my power allocation with the other computers.

    I want to use ESXi as there are benefits down the track if I need to grow the infrastructure more.

    Our home systems are all Mac, but as I work in the UNIX realm, need a couple of Linux

    and Solaris VM's to work with. The ESX image needs a couple of tweaks to work with the

    Mini, but there are images out there already pretweaked - google it!

  24. Dryroasted

    Like the OP I just wanted to have a play with VMs and learn a little about servers in general, my background is non IT but an interest in it (currently pursuing Cisco CCNA)

    Last year I picked up a Dell power edge 860 from eBay for about £110 very basic with none of the bells and whistles like raid etc but does the job with a single duel core Xeon and 4mb ram Looking on eBay now shows old rack servers galore for peanuts.

    I installed the free esxi hyper visor, installed vsphere on my laptop and grabbed the 120 day trial of win server 2008r2 to install on it.

    The initial setup of esxi and installing the VMs was very simple even for a noob like me, and for when you feel adventurous google is, as always, your friend.

    I would warn the OP though, the nagging from 'er in doors about the constant whine from the fans can lead to trouble! Then again the fans on the PE860 were but a whisper compared to the "orangutan in a blender" howl of the freebie PE2950 from work :D. Wonder if I can water cool it?

  25. Mubes

    Xenserver

    There's not too much love for XenServer being shown here, which is a bit of a shame. Take a look. Recent license changes make it free in all configs (you pay for support) and its really quite powerful, especially in comparison with the free-version-limits that some other products have... Xen itself is the basis of lots of virtual machine resellers' infrastructure, but was late to the party with a small marketing budget in comparison with the bigger players out there.

  26. Gene Cash Silver badge

    Switched from VMware to VirtualBox because it was more stable

    I use Debian Linux as my desktop without any Windows install at all, so I used to use VMware for whatever I needed for work that absolutely required Windows, such as testing with various flavors of IE or using work's install of Cisco VoIP.

    Well every time Debian released a new kernel, VMware died until I found a patch somewhere by some bloke on the net, NOT from VMware support itself. After a while I got tired of that, and tried VirtualBox on a friend's suggestion.

    It turns out that not only does Oracle have a perfectly working Debian repository, but they integrated with DKMS (Dynamic Kernel Modules Support) so that it compiles what's needed to work with your current kernel.

    So upgrading to a new version is as easy as running "apt-get install virtualbox" which fetches it, installs it, compiles the kernel modules for each of your installed kernels, installs those, and inserts them in the running kernel. And this works too. I haven't had it fail ever.

    Now that's pretty goddamned slick, and takes a load off my system admin duties.

    Second is "cloning" - with VirtualBox you can make a "linked clone" of a VM, sharing a snapshot of the disk image. The advantage of this over a "full clone" is this only takes a couple seconds as opposed to the however long it takes to copy 20-50gb on your system. Then you can install a new version of IE or whatever you want to test, and when you're done, deleting the image is almost as fast.

    (VMware can probably do this too, I just never got that far with it)

    The advantage to being able to create/delete images quickly is fewer images needing security updates. You keep a "base" image around and do the "oh I want to try this software" on linked clones.

    Third is sharing the host disk. VirtualBox has host shared folders, which are directories on the host you can define to appear as mapped network drives on the guest OS. You don't need samba installed on the host or anything. I know VMware had this, but I also know I could rarely get it working, and I had to fall back to samba to transfer files. The advantage is you can do things like keep the IE9/10 upgrade executables on your host and run them from new VMs to install whatever version of IE for testing. This means you don't have to flop around with the Microsoft download page saying "you don't really want IE 7, here's IE 10" or whatever fucked up shit it does these days.

  27. John Doe 6

    I run...

    VMware ESXi 5.1 on an old Proliant DL385 (2x Dual Core Opteron 2.4 GHz, 16Gb RAM, 6x 73 Gb U320 disks on SmartArray) and a QNAP TS459U NAS as storage.

    I do not have a vCenter server (because that is what you pay for now) so I can only do manual off-line cloning and can't make snapshots.

    I run 6 ~ 8 Linux servers on this and it works very well (and is FREE).

    Microsoft is "free" for use when you have license for the appropriate Windows Server and there are restrictions on how many Windows machines you may run on it (2 Windows VMs on a standard W2K8 Server).

  28. Anonymous Coward
    Anonymous Coward

    Each of the major hypervisor vendors also have "free" licenses. You just have to have the right "relationship" with them. So, even with TechNet gone, MS still has free licenses for some designated "partners", e.g. a Microsoft MVP. Also, VMware has free licenses for their vExperts. If you happen to be a Microsoft MVP, Oracle ACE or OCM or a SAP Mentor, VMware gives you free licenses to some of their choice products through what they call the "Guru Licensing program".

    1. Anonymous Coward
      Anonymous Coward

      "Each of the major hypervisor vendors also have "free" licenses.....MS still has free licenses for some designated "partners", e.g. a Microsoft MVP. "

      Hyper-V Server is free to anyone. Fully featured. No limits.

  29. roly

    Try them all out and see what you like

    Ok interesting question! A couple of years ago having sold my company I decided I wanted to go back to learning things rather than just "firefighting" so similarly built up a rack cabinet of machines. I've tried KVM, Xen (open source and citrix), ESXi, vmware server 1, headless virtualbox (yes you can run it like a server) LXC, Proxmox and Openstack.

    They are all very different and give you different options. ESXi is a good product for learning how to do things in a corporate environment, though Citrix Xen is good for that sort of thing too. Open source Xen and KVM are much more for tinkering with things. I'd advise you to just try them all and see what fits. They all have a learning curve but they are all worth trying. I would warn you that ESXi is very picky about hardware. KVM will support anything youi throw at it as long as you have the Hardware Virtualisation on the CPU. The rest tend to be in between. Openstack is worth trying if you want to concentrate on the management of large amounts of VM's. I'd recommend trying StackOps for that. Oh and I can very much recommend you sign up with Stacklet (stacklet.com). They provide very nice lean Linux images for most of the major technologies ready to deploy. They've got all the popular Linux distro's too. For windows just download the trial versions. They run out of course but it gives you something to play with. In terms of hardware I have a mix of cheap Dells bought in auctions and home made servers. The Dells let you muck about with things like DRAC and IPMI and are more likely to work with things like ESXi, whereas the custom builds tend to be cheaper for new kit and allow you to decide exaclty what you want. Most of all have fun learning all this stuff!

  30. Anonymous Coward
    Anonymous Coward

    Go cloud or go home

    Sell all your hardware and open an amazon AWS account.

  31. P Taylor
    Paris Hilton

    Vote for VMware.

    VMware ESXi 5.1 is free, and supports up to 2 physical CPU's, and unlimited cores.

    So I have a couple of old Dell 1950 servers with Dual quad core Xeon's and 32gb of ram. They can be had for under 200 quid on the bay of evil. Good cheap workhorses and great for running ESXi.

    Dell 1950's use SAS drives, but you can also slot in regular SATA drives and they work just fine. So storage is cheap.

    I personally prefer to use the Dell supplied ESXi 5.1, rather than the one direct from VMware. As the Dell version has all the management agents built in. Plus drivers for raid controllers, and fan controllers, etc.

    Paris, because shes all Virtual.

  32. Anonymous Coward
    Anonymous Coward

    How about a Windows Surface? It's virtual in that no-one actually owns one. It runs Windows 8.1, so it's virtually unusable too.

    1. Anonymous Coward
      Anonymous Coward

      "How about a Windows Surface? It's virtual in that no-one actually owns one"

      I own one - they are great - real tablet computers - not cut down OSs like Android or IOS - and include a proper version of Office too - I would definitely recommend them for anyone that wants to do more than content consumption...

  33. thondwe

    Msdn and dreamspark

    Technet has died unfortunately, visual studio + msdn can get you access to both windowss server/system centre for longer than the feeebee trials. It also includes access to azure for all sorts of play scenarios. Not that cheap though.

    Also, if you're a student with a registered organisation, then you may get access to dreamspark, which provides free licking for various developer products including windows server datacenter edition!

    I've had good mileage out of proxmox in the past - combined KVM + openvz platform

    A search for VMware/hyperv labs will reveal a few similarly minded individuals too.

  34. Anonymous Coward
    Anonymous Coward

    Don't be afraid of trying embedded hypervisors. It can make your brain hurt a bit, but is very effective at saving you time.

    For example, on my lowly laptop (HP Elitebook 8640p) running Windows XP with 4G RAM I started by putting on the free VMware workstation. Then I loaded ESXI into a workstation instance, and created VMware instances in that.

    This runs slow, but my purpose (and yours) is to experiment with VM, not to run applications efficiently within sessions. Getting virtual switches set up and understanding how to make something at the top/XP layer (Vsphere) talk to ESXI two layers 'in' over IP all within this virtual world was fascinating for me.

    It's possible to set up whole networks within a single machine, with switches, routers, hosts etc all talkgin without knowing they are in a playpen. It's cool.

  35. Hellcat

    Missed the boat...

    HP have been flogging N54L microservers with £100 off for the last year or so. You might be able to get some from the bay of E but no doubt people are trying to make a fast buck on their servers that they bought.

    My home setup is:

    ESXi hosts - 2x 8GB N54L booting ESXi 5.1 from internal USB - 1x 250GB SATA (came with the server)

    iSCSI NAS - 1x 4GB N54L booting Nas4Free from internal USB - 4x 2TB SATA storage.

    Network - Cisco 3550 12G + Cisco 3500XL

    This allows you to experience a lot of functionality used professionally since 50% of the VM setup is getting the networking correct. If you want Windows PCs/Servers on your VMs, you get 180 days evaluation if you install without a serial key. That is more than enough time to experiment with the various functionality. It is a shame you can't use the advanced VM functionality vmotion/DRS etc without a valid key.

  36. pyite

    Linux + KVM + libvirt is easy

    First a comment about hardware - just about any hardware is going to do fine with hypervisors these days, just make sure you can load up on memory for your expected set of VM's.

    I have worked with many systems and the easiest way to get started using free software is to load your favorite Linux distro (I recommend Ubuntu 12.04) and load libvirtd. This is a very basic VM database that will manage your VMs. Once you have this installed you can just point it an an ISO to install from disc, or download a pre-installed OS such as the Ubuntu UEC images.

    The most annoying part will probably be setting up bridged networking, but these components are all quite mature so 5 minutes on Google should be all you need.

    libvirt is designed to manage VM's on one system. Once you have the hang of libvirt, try OpenStack -- it builds on libvirt and has a more advanced OS image system. This will let you have multiple servers and more advanced networking and automation -- if you need it. Best of all, this software will all cost you $0.

    Good luck,

    Mark

  37. Neoc

    Many thanks.

    I would like to thank all of those El Reg readers who have answered my question. Over the holidays I will try out VMWare, KVM and VirtualBox on a re-purposed Dell which can handle x64 and VTd. Should be fun. ^_^

    Many, many thanks.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon