Oh what fun, Server 2016 Essentials

If you have been paying attention in the last while, with the release of Server 2016 Microsoft changed the license structure somewhat (ie, things cost more, generally). Fortunately there is still an entry-level placed server edition (Server Essentials) that is functional and usable, more or less. Unfortunately it appears to have some foibles for installation that can be frustrating when you first smash up against them. Nothing that a half-dozen re-install attempts can't fix, but this post is here to try to help someone possibly save a couple of hours of 'fun'.

The basic drill that has been observed:

  1. Setup in Proxmox, your new VM, specify suitable CPU Ram Disk. Use an IDE Disk and an E1000 NIC out of the gate. Yes, the performance stinks but can be fixed later. You can't install the OS Directly and use the paravirtual drivers because they are not sufficiently well signed to allow MS Installer to trust them. (Thanks Microsoft!)
  2. Once you have the VM base installed, before the Wizzard is allowed to proceed at all, setup your NIC with internet access routing IP address. Make sure this works before clicking "OK" anywhere on anything related to the wizzard for Server Essentials setup.
  3. Once the wizzard completes, you can do post-install tweaking, such as
    • Add a 1gig VirtIO HDD, and a VirtIO NIC, and then power off the VM cleanly
    • attach the ISO for VirtIO Drivers latest from Redhat
    • reboot and go into device manager, add drivers for Balloon / VirtIO NIC and VirtIO HDD.
    • Power off again, detach the ISO, and detach the HDD. Re-attach the HDD as VirtIO controller.
    • Delete the unwanted e1000 NIC
    • In Proxmox "Options" for the VM, adjust your boot order to make the VirtIO HDD the primary boot device (not IDE which is now gone)
    • Power up your VM, it should boot successfully from a VirtIO volume now.
    • setup proper IP address on the VirtIO NIC to mimic desired IP settings.
    • Hopefully your server is all hunky dory, performance on VirtIO will now be optimal, and life will be relatively good.

Problem scenarios were observed if,

  1. You power off and try to do the VirtIO config, BEFORE first completing the Essentials Wizzard.
  2. You interrupt the essentials wizzard in ANY way once it has started (ie, you clicked to allow it to proceed, oops!)
  3. So the general lesson, it seems, is to get wizzard happy and resolved first, and this means doing stock install and base config using crud IDE and e1000 NIC out of the gate. And then change these things only later once Essentials wizzard is ok. Otherwise you end up in an endless look of "an error occurred while configuring server essentials please try again". Have a nice day! Endless debugging of clean install is after all what life is for, right?!

FOOTNOTES