I couldn’t find the exact guidance I was after here for what I potentially plan to do so would any of you kind folk be able to look over my proposal and let me know all the pitfalls that I’ve overlooked as this will be my first time (be gentle)

Situation: I have a server 2012 R2 box with Hyper-V that’s hosting 2 VMs. Currently it’s set up old school - RAID1 for the host OS, RAID6 for data drive (VM VHDs etc)

Desire: Replace the 146GB drives that make up the RAID1 with 450GB disks to match the RAID6 disks, nuke both RAIDs and rebuild the server on RAID10. Partition off the RAID, rebuild the Host OS from Windows Server Backup, and reinstate the VMs

My current thinking is that the time to restore from bare metal via WSB shouldn’t actually be that long as the OS literally is just OS and Hyper-V. However for peace of mind I’d like to actually bring the 2 VMs up on another Hyper-V host during the rebuild just in case

Am I right in thinking that I could shut the VMs down, copy the complete contents of the Hyper-V folder (contains the VM details files and VHDs) over to the second host, import the machines and attach the VHDs. Once I’m done I could do all the work on the old host, then repeat the copy process back once I’m done

Please tell me it’s this easy? It probably isn’t so please let me know where I’m going to fail and what I’m going to need to deal with. Also I’m aware there are probably better ways of doing this but this to me seems the easiest. I’ve done the whole copy/paste Hyper-V folders before when I changed the RAID5 to RAID6 on the machines, but I wasn’t technically moving the VMs as they went back onto the same host

9 Spice ups

There is this school of thought that the OS especially hypervisor or Server 2012/2016 should not be on the same partition as the data.

We have been practicing that since physical server days.

So there is no real benefit of using RAID 1 + RAID 6 or RAID 10 vs RAID 10 with 2 RAID “virtual disks”…other than space increase and that very slight performance increase (RAID 6 vs RAID 10…in theory approx 50-80 IOPS increase for 6 SAS HDD).

You should have a Hyper-V manager installed on a “admin” lappy so that you can transfer VMs from one Hyper-V host to another.

If for any reason you want to reinstall (for testing, for recreating RAID or for future-proof), then do consider Hyper-V 2016 server instead of Server 2012/2016 with Hyper-V. Else try VMware (can install on SD cards, recommend VMware Essentials Plus with at least 2 hosts).

In terms of copying stuff, what I did when upgrading a hyper-V host was:

  1. I stopped all VMs

  2. I exported all the VMs to external USB drive (took a LONG while as USB2! - but the VMs took up something like 650GB.

  3. totally upgraded the hardware

  4. Copied the Exported VMs back to main disks

  5. Imported each Vam

  6. Cracked open a great bottle of red wine, and had a G&T while the wined was decanted…

2 Spice ups

If there’s another host you can shut the machines down and literally move them from Hyper-V manager to that host. Otherwise you can export the machine and make your life a bit simpler on the temp host as well. Copying directly also works, but I’m a fan of using the builtin tools where possible.

Expanding out to a big RAID10 is fine. I agree with adrian to consider running Hyper-V 2016 instead of doing a full Server 2012/2016 installation. Also, not that it’s mentioned much, but have you looked at your restore time and tested those WSB backups? It works, however, there are quite a few free products that can make your life easier and safer as well.

It should take longer to transfer the VMs than it will to restore the host backup if there’s any amount of data on them.

1 Spice up

I’ve had a few instances where merely copying the contents of the VM from one host to another didn’t work. The VM would not import on the new host. I had to recreate the VM and attach the VHDs. While it did boot up the VM OS saw everything as new hardware and I had licensing and activation issues.

I’d do what others have said and export the VM then import it. I’ve never had that not work properly.

If you want to minimize downtime replication is the way to go. Replicate to a temp hyper-v host. Shut down the VM then do a failover. Remove the replication and redo your main host. Once it’s ready replicate back to it then do another failover. Downtime is just a few minutes each way but it is a lot more work to setup compared to exporting and importing.

2 Spice ups

I was thinking of just installing Hyper-V minus the OS but again I’ve never done this. As a company there really isn’t a downside to me installing a full blown server OS on the host, plus I’m much more used to managing that and feel more comfortable with it

My other question on just installing hyper-v would be licensing requirements. Because we’re an SMB I basically have a copy of server 2012 R2 standard ready to plug in to allow me to host 2 vms, so how would I license the VMs on this new host if I just had hyper-v and no OS? with our other VM host the vms get their license activation from the host but if I’m not installing the OS that wouldn’t happen?

Long story short I might give just installing hyper v a go to see what happens but I’ll probably end up with the OS fully installed. And I’ll also use the new hardware to do a complete bare metal test of the image I’d restore the first host from just to make sure it definitely restores correctly

Thanks for all the responses so far

For me my initial motivation in using “Hyper-V Server Core” instead of Windows Server with Hyper-V role installed" was to help keep my clients properly licensed. With the full GUI available it seemed like too much of a temptation for people to use that host OS for roles other than Hyper-V. Whether it was file sharing, ftp server, or what have you - it seemed someone would end up using the host server for something thus breaking the licensing terms on the 2 VMs they were running. :confused:

But with Hyper-V Core no one would mess with it because all they really had was a command line. :slight_smile: And I had 5-nine manager installed for those times where I needed to do get to the VM console from the host console.

As for activating your two VMs on Hyper-V Server Core - just activate them with the same product key. It’ll work.

1 Spice up

I would use Hyper-V Manager to do a shared nothing migration of the VMs to the temporary host. No possible way to screw it up. If the migration works, the VM will go. If something isn’t setup right, the VM will remain on the original host and it will error out quickly. Much faster than trying to export and then hope you did it right when you then try to import. The migration doesn’t affect the VM state, and can even be done with the VMs running (you may need processor compatibility turned on).

I agree that going to Hyper-V 2016 is a good idea. Unless you already have Windows 2016 licenses and CALs, you really ought to use Hyper-V Server 2016 and not full Windows Server 2016. Hyper-V Server is moderate learning curve over full Windows, but IMHO you are ready for it.

2 Spice ups

sounds like it might be time to dig out my 2012 MCSE training again… I think I’ve managed to get a few things working but I’m not sure if I’m doing it right and if I’m honest its actually scaring me a little doing things like disk partitioning/formatting from a remote mmc - fear of being in the wrong config window at the wrong time

Am I right in assuming that doing admin on hyper-v 2012/2016 is essentially like cli admin on server core installs? so a combination of cmd and ps? Because if so damn am I rusty on that!

Anyway, that’s all sliding into the realms of a different topic. For now I “believe” I have a dev server set up with hyper-v 2012 R2 installed, the disks partitioned and the machine is finally loaded into Hyper-V manager on my win 10 admin laptop so I can play around with configs and do a test migration of a zero impact server. No doubt something will moan at me during the migration as I still have so many gaps in knowledge when it comes to all this remote management with no host GUI

(P.S no user CALS for 2016, only up to 2012 R2. I know that wouldn’t affect hyper-v server but unless 2016 has life changing benefits to it I may as well keep things where they are)

For Windows Core/Hyper-V Server, I don’t do that much locally or even remotely. Install OS, and create the smaller C partition during the install. Use diskpart.exe to create D partition after installation.

Use sconfig to join to domain and rename the server.

NIC teaming is done remotely using lbfoadmin.exe IIRC.

Setting IP address is done via sconfig. Patching is through sconfig.

Vswitch creation and all VM management via Hyper-V Manager as usual.