After spending I don’t know how long on various adventures through first setting up Hyper-V 2019 on the server then further adventures of properly configuring networking on the server I’ve come to the conclusion the performance of the virtual machines is not good enough.
I went through several iterations of what I’m loosely calling “benchmarks” to reach this conclusion: I used a Windows 10 ISO with an answer file configured so I didn’t have to deal with Cortana or click next. I made sure to try and start and end the timer at the same point every time. I changed what variables I could like VHD versus VHDX and dynamic versus statically sized VHD/VHDX but it always came back the same within 2 or 3 minutes: Windows 10 takes an hour, give or take 5 minutes, to install.
Contrast this with the same ISO installing in virtual box (with a Win 7 host no less, roughly same era of hardware) and it took all of 20 minutes.
So either there’s something obvious I’m missing or hyper-v is literally 3 times worse that virtualbox.
Not a very scientific test perhaps but there’s obviously something wrong if it takes 20 minutes on one thing and an hour on another.
I think I have an idea of what I need to change in order to rectify this however. It will require disassembling the whole whole drive pool and re-building it. It might actually require re-installing the whole host OS although I’m going to try and avoid that.
I think the issue is how the physical disks are coming through to the OS.
When I installed the OS as it currently is, I had thought perhaps moving the firmware configuration from legacy BIOS (or whatever passes for that in a server like the R520) to UEFI would help move me forward into future technology. And it could be I’m missing something. Because right now (in UEFI mode) the physical disks show up as RAID devices (as reported by “Server Manager”). But I think what I want is much more of a “pass through mode” for disks. So the disks are not necessarily going through the perc card. Or they are but it’s just there to pass the disks on to the OS so the OS can deal with it. I think that’s the problem.
So if I can’t figure out how to re-configure it through the perc firmware then I will set it back the legacy/BIOS mode and go from there.
At the very least I will have to back up my VM folder structure and destroy my pool/virtual disk. Luckily I wrote down how to create everything I need and have it on my other blog posts.
References and Resources
- An explanation of Hyper-V networking thanks to altaro.com
- Hyper-V Server 2019 post about setting up storage pool
- Hyper-V server 2019 post about first-setup, networking, RPD etc
- Day 31 of my 100 days of code has some information (day 32 has some info too)
- I also wrote a post about the R520 in particular
- General information on deploying storage spaces (MS Docs)
- PowerShell reference for disk-related tasks (MS Docs)