Help me get started with virtualization
March 16, 2015 11:49 AM   Subscribe

I'm behind the times on running VM on servers. What do I need to know?

So I've got a new Dell Windows 2012 server. Based on what I've been reading in threads like
this one, this one and this one, there is basically no occasion to run a server anymore from the bare metal install, even for a single server. Ok, got that.

What I don't know understand is how this works. Is the visualization software installed first from the bare metal and then the operating system is installed inside of that? Or, from this Hyper-V guide, it sounds like you do install the base OS first and then the VM's within that (which sounds like you still have a point of failure in the base OS install.. since it isn't virtualized..?)

Help me understand the best way to virtualize this Windows 2012 server I have now. What's the best way to do this?
posted by dukes909 to Computers & Internet (11 answers total) 4 users marked this as a favorite
 
you still have a point of failure in the base OS install.. since it isn't virtualized..?

Yeah, you do. But that's also true of all the hypervisors, and of course of the underlying hardware. The point of virtualizing a server is that you can do nice things with it like snapshot it, back it all up, and move it from one host to another without disturbing its internal setup in the slightest.

The basic idea is to run the hypervisor and/or host OS in a configuration that's as close to default as you can possibly get away with so that when it does break, bringing your VM back up again involves nothing more complicated than setting up a new host OS on new hardware - a fairly quick job when you scarcely need to tweak it at all - then importing your VM and starting it.

The downside of virtualization generally is that it's really tempting to end up relying on some horribly creaky old system that somebody virtualized 20 years ago, just because you can. On the other hand, even that works a lot better than relying on some horribly creaky old system from 20 years ago tied to physical hardware from 20 years ago for which you can no longer get spare parts.

The best way for somebody without much VM experience to virtualize anything is to pick whatever hypervisor/host OS and guest OS are most easily available to you, run with those until you strike irritating limits, then look around for other solutions that don't have those limits. It's a continuous process of play: best practices are really only accessible to people who have played with this stuff long enough to have a good feel for what they can do.

Moving a VM from one kind of host to another is typically much easier than moving the same OS installation across different kinds of physical hardware; make clones of your VM guests and try them out under different hosts to see which ones you enjoy most.
posted by flabdablet at 12:37 PM on March 16, 2015


Response by poster: Thanks - so, for the example I gave of a single Windows 2012 server, it sounds like I would install a base Windows 2012 install, and then the hypervisor software inside that (whatever flavor it is), and then a virtualized Windows 2012 inside there. Is that the gyst of it?
posted by dukes909 at 12:44 PM on March 16, 2015


That is true for HyperV.

VMWare ESX is it's own operating system (based on Linux), so you do install that one on bare metal.

Xen is its own operating system (not based on anything), so you also install that one on bare metal.

Linux KVM is similar to HyperV in that it runs inside Linux. There are all kinds of wrappers for KVM that have different names too, so most people don't actually use KVM directly.
posted by miyabo at 12:51 PM on March 16, 2015 [1 favorite]


I see you're linking SpiceWorks threads.

Spiceworks actually has a 'virtualization 101' course that's half-decent.
posted by BrandonW at 12:53 PM on March 16, 2015 [1 favorite]


Docker is popular; it makes the host OS less of a "requirement". Its appeal lies in swapping out the OS like just another piece that can be inserted to the VM environment, to help test and host applications under different versions of platforms.
posted by a lungful of dragon at 12:55 PM on March 16, 2015 [1 favorite]


> sounds like you still have a point of failure in the base OS install.. since it isn't virtualized..?

As pointed out before, this is the case with every hypervisor. There's always something sitting between the VMs and the bare metal.

That said, the 'bare OS' for Hyper-V, even when deployed as a role install on Server 2012, isn't actually the full Server 2012 OS. When you install the role, it actually 'lifts' the Server 2012 install into a management VM instance, and slides Hyper-V underneath. For whatever reason, Microsoft has gone to great lengths to obscure this...but that's how it works.

And for the record, Server 2012/2012R2 standard licenses entitle you to both the management VM (but it can't have any roles beyond Hyper-V installed), as well as 2 guest VMs.
posted by BrandonW at 12:55 PM on March 16, 2015 [2 favorites]


@a lungful of dragon: I'm lol'ing at proposing Docker to a virtualization novice that wants to visualize Server 2012
posted by BrandonW at 12:59 PM on March 16, 2015 [1 favorite]


When you install the role, it actually 'lifts' the Server 2012 install into a management VM instance, and slides Hyper-V underneath. For whatever reason, Microsoft has gone to great lengths to obscure this...but that's how it works.

That's an important point, and it distinguishes Hyper-V from older virtualisation approaches like Microsoft Virtual Server (or VirtualBox or VMWare Server) where an unrelated problem on the host system could bring down your VMs. Both Hyper-V and ESXi are very thin and self-contained and there's not a massive amount that can go wrong with them as long as you're running compatible hardware and not making heroic tweaks to the config.

My guess is that the obscurity was meant to ease the transition for admins who wanted to install Hyper-V and keep local management. It's a nice bit of bootstrapping.
posted by holgate at 2:14 PM on March 16, 2015


> it distinguishes Hyper-V from older virtualisation approaches like Microsoft Virtual Server (or VirtualBox or VMWare Server) where an unrelated problem on the host system could bring down your VMs

Yep, it converts the box to a Type-1 hypervisor.

>Both Hyper-V and ESXi are very thin and self-contained

For what it's worth, Hyper-V's footprint is positively MASSIVE compared to ESXi. You're talking about > 5GB (double that if installed as a Windows role initially) versus ~200MB.

> there's not a massive amount that can go wrong with them

Speak for yourself. I'm a consultant that lives and breathes virtualization and works with clients that operate at mind-bogglingly huge scales. There are incredible amounts of things that can and do go wrong with both platforms at the host level, but on the whole, VMware's is more reliable.

>My guess is that the obscurity was meant to ease the transition for admins who wanted to install Hyper-V and keep local management. It's a nice bit of bootstrapping.

In my view, it's incredibly stupid. The management instance cannot be managed like other VMs that are installed, and more or less dies when the physical hardware dies. As far as virtualization goes, this is as backwards as it gets.
posted by BrandonW at 2:52 PM on March 16, 2015


I'm with BrandonW, in that MS's methodology for Hyper-V is a little bassackwards. But if you're looking to stay all MS, then it's the method you'll need to learn.

If you're used to installing OS's on bare metal, you'll be familiar with the processes of installing all the drivers and crap that are specific to that hardware, so that what you're installing on that hardware. But then you can't move it.
It's like pouring something into a complicated mold to fill all the nooks and crannies; but once it's in there, it takes that shape and you can't get it out again. Virtualization lets you get your server OS back out again, and keep your server/hardware configuration as generic as possible, by putting a Hypervisor in between the bare metal and the OS. The Hypervisor (Hyper-V, ESXi, Xen, etc) is what gets poured into the nooks and crannies, allowing the OS to run on top of a nice smooth surface (and get peeled of to run on other hardware, or get easily cloned, etc.)
Once virtualized, the Server administration is exactly the same as for a bare-metal install, with the exception that all the hardware it'll detect is generic and/or abstract (it'll just show that it has a 'USB Controller', instead of a specific make and model of controller that's actually on the system board - they hypervisor handles that part). You install an operating system so you can run programs; you install a hypervisor so you can run operating systems.

So you're in either a good or bad spot getting started from scratch, because you don't have any habits yet.
Depending on the time you have to mess around with this, and how much you want to learn, I'd suggest trying more than one hypervisor, before you get too far into using the server. Your investment here is time, since Hyper-V and ESXi (vSphere) and Xen are all free. You're going start choosing which hypervisor's control panel layout & soforth you want to start working with, so it's (possibly) worth your time to test-drive more than one.

You'll get differing opinions about Hyper-V vs. VMWare vs. Xen. My $0.02 is that if you're never really going to be touching any Linux Servers, you can skip Xen when you're starting out, but the free version of VMware's hypervisor is worth comparing against Hyper-V.
posted by bartleby at 5:40 PM on March 16, 2015 [1 favorite]


The idea that there is no occasion to run servers on bare metal anymore is incorrect, but it is a little closer to true every year. We've been pretty successful at virtualizing early- to mid-2000 workloads, but things that required a beefy server in 2010 or later can be very hit or miss. Some of it is more possible if you can compensate for the crappiness of shared storage by using dedicated or SSD datastores.

There are a lot of benefits to virtualization, but you need to identify what you are trying to do. ESXi is considered one of the most mature platforms, but requires you to learn "new stuff" that feels different than Windows. Hyper-V is great if you're very used to Windows. Xen is probably something to avoid unless you want to learn about Linux along the way. All of them will do at least an acceptable job of virtualizing typical workloads, but be prepared for some bumps and bruises along the way.
posted by jgreco at 4:16 PM on March 17, 2015 [1 favorite]


« Older Damn girl, your hair is fine   |   Help me find a 1980s pop/dance song based on this... Newer »
This thread is closed to new comments.