2017 The Battle Begins: Managing Modern Labs
I see the question posted a lot in the community forums – what OS to use for a lab environment. The main theme to the question is always the same thing – the technician wants to be able to use data deduplication.
Deduplication, if you're not familiar with it, maximizes your storage space by looking at data files at the block level and gathers duplicates and discards the repeats – the only blocks that remain are the unique ones. This works great in the case of lab environments where blocks of data on OS volumes across VMs are likely to be identical. Rather than filling the disk with 5 copies of identical blocks, deduplication decides what to keep and what to ignore allowing you to more than double the amount of VMs in any given lab.
So what route to go then?
In Windows 10, deduplication isn’t native and you can’t always install a server OS on hardware intended for a client OS. The only option you have is to either buy a very large SSD for your lab environment or to use a (very shiny) community deduplication package. On the other hand, there are plenty of cases where client hardware (like, surprisingly a laptop) isn’t an issue for server install – the drivers just work and that’s great if you can afford a license for the OS. There’s also the case where you have the media, the key, and the hardware, and you’re left without the drivers – specifically the network driver. What do you do in that then?
You’re left with choosing which (likely) unsupported route you want to take.
Option 1: Buy a large SSD. For me (and probably most) 1TB isn’t enough so you’ll need an SSD that’s at least 2TB in size.
Option 2: Use the dedup package provided by Arthur Remy (if you’re not on Twitter, get on Twitter). It’s shiny, it’s free, and it works – here’s his blog: http://myitworld.azurewebsites.net/2016/10/14/enable-deduplication-windows-10/. All but one of my Hyper-V hosts are Windows 10 boxes with this package. This allows me to fit a lot of labs onto 4 hosts and I’ve spent less than $100 on the storage and it works on Windows 10 Pro and above (https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v). You’ll want to have your host on the Windows 10 CBB schedule as upgrading your host on CB schedule will mean you likely wont be able to access the data on the deduped volume because the community deduplication package doesn’t upgrade with the OS – you need to wait for it. If you don’t understand CBB vs CB, please read the Windows 10 as a service blog provided by Microsoft: https://technet.microsoft.com/en-us/itpro/windows/manage/waas-quick-start.
Server 2012 R2/ Server 2016
Option 1: Buy server class hardware that has drivers that support the OS
Option 2: Hack the net driver for the client hardware you’re wanting to use. We have a post about doing this for NUC. You might get lucky and find that the Windows 10 drivers work even though the server OS isn’t listed as supported. Our Skull Canyon NUC happily runs Server 2016. Johan installed Windows 10 on it and that wasn’t good enough for me so I just used ISO media and installed Server 2016 – no hacking required. It wont always work this way so you have to decide what works best for you. If you do decide to go the route of hacking the driver you need for your install, you’ll need to use MDT to deploy the system because ConfigMgr and unsigned drivers don’t go together at all.