Travails in Hyper-V R2eality: Tales of the Red Mist: A Messcellany
In my travails in Hyper-V R2eality, I’ve come across of number of facepalm moments – and also a number “I want to drive my fist through the screen” situations. Sadly, none of these individual add up to much on their own. Collectively they are more than the sum of their parts. I wanted to share those experiences with you – and I thought a “messcellany” might help facilitate that.
The kind of thing I’m getting at is the daily grind of not-workingness that you have to live with. Do you ever have days, weeks or months (years!) where everything seems broken, and you feel your will to live is slowly being sapped by software. That’s the kind of thing I’m thinking about. At all times you try to remain calm. Deploying all those strategies your therapist taught you in “Anger Management” classes. Perhaps I’m getting old and jaded, but my personal well of patience for things that don’t work is one that appears to get shallower and shallower as the years roll by. You would think after many years of working in IT, my levels of hope would have levelled off to such a low-level of expectation – that I would no longer experience the feeling of disappointment. Sadly, the battle scars of working in IT haven’t eviscerated all semblance of optimism. And I still have this crazy notion that stuff should work – all the time, and never break. I know I need my head examining…
Anyway, for the sake of my own sanity, I’ve tried to approach these with a big fat dose of humour – and some videos to amuse along the way… mainly on the theme of Monty Python sketches…
- To P2V or Not P2V
- When is an upgrade not an upgrade?
- Network Virtualization “Gateway” – Clusters in clusters…
- Remember NOT to store stuff in the C: drive
- Adding Windows Hyper-V Host to SCVMM
- A State of Job #Failure
- Prerequisites: No one expects the Spanish Inquisition
- It’s not Hypervisor, its naughty, naughty boy
- The RunAS Olympics…
- I tell you what’s wrong with it. It’s dead…
In SCVMM 2012 R2 Microsoft chose to remove the ability to convert a physical machine to a virtual machine. Well, yes I know where all 100% virtual now. Aren’t we? I’m being ironic, of course. The days of me printing money doing per-server conversion is long gone, but that doesn’t mean folks don’t need way of getting from A to B. Microsoft resolution to this issue. I kid you not. Is to run TWO management systems SCVMM 2012 and SCVMM 2012 R2. Use the functionality of the old management platform to covert the PM to a VM, and import it into the new SCVMM 2012 R2 environment.
The rumour on the street is Microsoft is planning to consolidate its many different utilities into single utility that handles all conversion types. No doubt they will call it “Microsoft Converter”. Ahem. Cough. I’m not sayin’ anything alright…
Update: This turn out to be true – this was released yesterday – http://blogs.technet.com/b/server-cloud/archive/2014/04/08/available-now-the-microsoft-virtual-machine-converter-2-0.aspx
When its actually a migration path in disguise. You can “seamlessly” get from Microsoft Hyper-V 2012 to Microsoft Hyper-V 2012 R2. It depends how define seamless really. What you do is upgrade the SCVMM 2012 to the R2 release, and then within it build a brand new cluster on R2. You then live storage migrate ALL the VMs from one cluster to another until the old cluster is empty. And after that its up to you. You could do upgrade of Windows, or could join the rest of us who live in the real world, and wipe and do a clean install. So really this upgrade is actually migration strategy that involves a lot of disk traffic….
Network Virtualization Gateway – Clusters in Clusters…
When R2 shipped Microsoft finally shipped a Network Virtualization Gateway host. That’s a fancy term for a router/firewall that can pass traffic from a virtualized network to the physical network. You’d think this would be some super-skinny appliance. It’s not. It’s actually a two-node MSCS cluster, running RRAS (yes, that popular networking solution that has been knocking round since Win2k days – I remember covering RRAS as MCT in late 90’s). This virtual cluster sits on top of a Microsoft Failover Cluster on Hyper-V. So you end with two layers of clustering – the physical layer of clustering AND the virtual cluster. All to move packets from one network to another. Now that’s what I (dont’) call lightly loaded…
First of all there’s no real supported method for converting Gen1 VMs created in Windows Hyper-V 2012 to Gen2 VMs Windows Hyper-V 2012 R2 VMs. Well, there is – its an unsupported, at your own peril script. There’s manual process that goes with this – but is so convoluted – that almost everyone would opt for the unsupported script. Here’s an overview of that manual process:
- Disable the recovery environment in Windows (reagentc /disable)
- Shutdown source VM, and mount VHD and export to WIM file (PowerShell/DISM)
- Create a new VHDX (Beware custom partition schemes!)
- Partition new disk in the GPT format & Loop mount it the VHDX (PowerShell/Diskpart)
- Clone Old VHD to New VHDX (DISM)
- Dismount the VHD/VHDX files
- Attach VMDX to new Gen2 VM (Putting back all your options and settings!)
- Rebuild recovery partition and re-enable recovery environment
- REPEAT & RINSE FOR EVERY OTHER VM
Remember NOT to store stuff in the C: drive
As with a lot of Microsoft products – the default location for storing large files always seems to be somewhere on the C: drive. That goes for Microsoft SQL and so on. And of course, with Hyper-V things are no different. You have to be careful to touch each Hyper-V host to tell the default location for storing both the virtual disk and the configuration files. That’s something you do not within SCVMM – where it would logical, but in Hyper-V Manager.
Adding Windows Hyper-V Host to SCVMM – Well, sometimes it works…
One of the basic things you will want to do with any virtualization management system – is once it is stood up – is add your virtualization hosts into it so you can, erm – manage them. For the most part this works 9/10 with SCVMM/Hyper-V. But frequently it does not. What I found is if you are successful on your first attempt, you generally okay. But, if it something goes wrong for what ever reason you more or less done for. That pretty much sums up my experience of Microsoft software in my 20 year career. If it works first time your okay, but if not it will be broken – sometimes beyond repair.
Here’s a filter on my “recent jobs” on the “Add Virtual Machine Host” task. Generally, everything looks peachy. You select your “RunAs…” account; type in a list of hosts to add (which I actually quite like); these are then discovered, and then you select and add the Windows Hyper-V 2012 host. Then this happens.
So name-resolutions works. The firewall is off. All the usual suspects have been dealt with. The resolution to this problem is to attach the SCVMM DVD to the failing host(s) and manual install the management agent.
A State of Job #Failure
On thing that’s a daily experience is “Job Failure”. Forgive me as I try to suppress a schoolboy snigger. You see where I come from “job” means something other than a task in SCVMM. Therefore “Job Failure” seems a mightily unpleasant experience to have to endure. I know I’m puerile. You get to live with that.
So occasionally as task will fail on a VM for some reason. This will cause a job to fail. What then happens is that the VM will enter a “failed” state where no management can be undertaken without first resolving or “repairing” the VM. This generally clears the VM of failed state. What concerns me about this is – as we pile more and more software on top of the virtualization layer – the robustness of that layer becomes more and more critical. This especially true in places like the cloud and virtual desktops – is doing some much “orchestration” of the virtualization layer protect the SysAdmin in those higher-level management layers from the complexity of the plumbing below.
So typically a job will fail like so:
Any attempt to make changes to that VM will result in this error message:
You’ll be forced to “repair” the VM
Prerequisites: No one expects the Spanish Inquisition
Onw thing that is unexpected after a decade of using VMware vSphere is how much is NOT built-in ready to use with SCVMM/Windows Hyper-V. I mean stuff you take for granted. There’s a couple of examples such as – enabling the Failover Cluster software on each host. My personal peeve is MPIO. In the world of virtualization its pretty much a given that more than one host will need access to the same LUN/Volume on FC-SAN. Of course, without MPIO a host with multiple HBAs, will see not one path to one disk – but many paths to the same disk. If MPIO is not installed on the Windows Hyper-V host you will get this error message:
It’s not a Hypervisor, its naughty, naughty boy
On of the things the Microsoft FUD machine enjoys is telling us how Windows Hyper-V is a Hypervisor, and not an operating system. The trick here is in the name – Windows. It’s the Windows you love/loath [Delete as appropriate]. I just wish that when they write these dialog boxes out – they don’t use the term OS. Anyway, it looks like the marketitcure is up for a polish. Microsoft is promoting the “Microsoft Cloud Operating System” – I don’t think it will be long before that evolves into the Microsoft Software-Defined Operating System – or MS-DOS for short. 😉
One thing that is “interesting” about SCVMM is the use of the RunAs… accounts. You sometimes to asked
exterminate escalate your privileges by using them. Typically, these are major operations like adding a host. Even if you have logged in with admin account to the main SCVMM that isn’t enough for Microsoft. Instead you need access to shared account held with the RunAs zone… These are held within the settings, and +Security, +Run As Accounts…
I guess I can understand the model fair enough. I just don’t see why special tasks need special accounts. Why not just assign what folks can and cannot do via their group membership to an Inventory (like vSphere vCenter does). Someone has to add these RunAs accounts and supply the password (what if that gets changed?), and the folks share these RunAs accounts for admin tasks. Personally, I don’t like this model. It feels too much like folks are “sharing” user accounts (although you’re not required to know the password). All in all it just seems to add an unnecessary set of steps to what can feel like very lengthy wizards…
I tell you what’s wrong with it. It’s dead…
Take a look at this screen grab. Spot anything untoward (apparent from the big red blobs obscuring my hostnames!) Well, actually the server called Lab18 is dead to the world. How do I know? Not from SCVMM I can tell you. I actually powered of LAB18 using the ILO/DRAC/BMC board to test if the Failover Cluster was working (It did work, by the way – the VM on LAB18 did get restarted). However, the management plane gave me no indication of the “unexpected” power outage…. A little bit of digging around (which isn’t what I’m looking for) told me that “LAB18” “Needed Attention”.
Yes, mate – its dead to the world. So it might indeed “Need Attention”.