Category: Hyper-V

Windows Server 2019

Which Windows Server 2019 Installation Option should I choose?

Windows Server 2019 will bring several installation options and tuning options for virtual machines, physical servers as well as container images. In this blog post I want to give an overview about the different installation options of Windows Server 2019.

Installation Options for Windows Server 2019 Physical Servers and Virtual Machines

As always, you can install Windows Server 2019 in virtual machines or directly on physical hardware, depending on your needs and requirements. For example you can use Windows Server 2019 as physical hosts for your Hyper-V virtualization server, Container hosts, Hyper-Converged Infrastructure using Hyper-V and Storage Spaces Direct, or as an application server. In virtual machines you can obviously use Windows Server 2019 as an application platform, infrastructure roles or container host. And of course you could also use it as Hyper-V host inside a virtual machine, leveraging the Nested Virtualization feature.

Installation OptionScenario
Windows Server CoreServer Core is the best installation option for production use and with Windows Admin Center remote management is highly improved.
Windows Server Core with Server Core App Compatibility FODWorkloads, and some troubleshooting scenarios, if Server Core doesn’t meet all your compatibility requirements. You can add an optional package to get past these issues. Try the Server Core App Compatibility Feature on Demand (FOD).
Windows Server with Desktop ExperienceWindows Server with Desktop Experience is still an option and still meets like previous releases. However, it is significantly larger than Server Core. This includes larger disk usage, more time to copy and deploy and larger attack surface. However, if Windows Server Core with App Compatibility does not support the App, Scenario or Administrators still need the UI, this is the option to install.

Installation Options for Windows Server 2019 Container Images

For containers Microsoft offers three types of container images with different sizes and different application compatibility levels. You can use the Nano Server and Windows Server Core container image you already know from Windows Server 2016, or you can leverage the new Windows container image, which adds additional application compatibility to beyond the Server Core image.

NameSizeScenario
Nano Server~200MBNano Server is great for new applications for example for .NET Core applications. This image is the smallest of the Microsoft Windows container images. It is lightweight and fast.
Windows Server Core~3.3GBThe Windows Server Core image offers the same application compatibility like the Windows Server 2019 Core Installation option.
Windows~8.0GBThe Windows container image, Microsoft is offering a new option for applications who need more components which are not included in Windows Server Core, like DirectX or proofing support.

Installation Options for Windows Server 2019 in Microsoft Azure

Of course Azure is a great place to run Windows Server. You can run Windows Server 2019 as Azure VMs with the same installation options you have available if you download it. You can also run Windows Server Containers in multiple Azure services.

And of course Windows Server is used in the Azure back-end and powers a large amount of services.

What do you think? Let me know in the comments!



Microsoft NetWork 9

Speaking at Microsoft NetWork 9 in Neum

Today, I am happy to announce that I will be speaking at the Microsoft NetWork 9 conference in Bosnia again. The Microsoft NetWork 9 conference will take place from March 27-29 in Neum, Bosnia. I will present two sessions focusing on the Microsoft Hybrid Cloud and Azure. This will be my second time at this conference, after speaking in 2016.

Mastering Azure using Cloud Shell!

Azure can be managed in many different way. Learn your command line options like Azure PowerShell, Azure CLI and Cloud Shell to be more efficient in managing your Azure infrastructure. Become a hero on the shell to manage the cloud!

Windows Server 2019 - Next level of Hybrid Cloud

Join this session for the best of Windows Server 2019, about the new innovation and improvements of Windows Server and Windows Admin Center. Learn how Microsoft enhances the SDDC feature like Hyper-V, Storage and Networking and get the most out of the new Azure Hybrid Cloud Integration and Container features. You’ll get an overview about the new, exciting improvements that are in Windows Server and how they’ll improve your day-to-day job.

I remember it is great event, with a great community and a lot of interesting sessions. I am looking forward to the event and hope to see you at Microsoft NetWork 9!

If you want to learn more about Windows Server 2019 and Azure CloudShell, check out my blog.



Cluster Functional Level and Cluster Upgrade Version

Learn about Windows Server Cluster Functional Levels

A couple of weeks ago, I released a blog post about Hyper-V VM Configuration versions to give an overview about the version history of Hyper-V virtual machines. After that I had the chance to work with John Marlin (Microsoft Senior Program Manager High Availability and Storage) on a similar list of Windows Server Cluster Functional Levels.

Why Cluster Functional Levels are important

With Windows Server 2016, Microsoft introduced a new feature called Cluster OS Rolling Upgrade or Cluster Rolling Upgrade. This feature allows you to upgrade the operating system of the cluster nodes to a new version, without stopping the cluster. With mixed-OS mode, you can have for example 2012 R2 and 2016 nodes in the same cluster. Keep in mind that this should only be temporary, while you are upgrading the cluster. You can basically upgrade node by node, and after all nodes are upgraded, you then upgrade the Cluster functional Level to the latest version.

List of Windows Server Cluster Functional Levels

Since the feature Cluster OS Rolling Upgrade was first introduced with Windows Server 2016, you never really knew about Cluster Functional Levels before. However, it already existed since Windows Server NT4.

Windows Server VersionCluster Functional Level
Windows Server 201911
Windows Server RS410.3
Windows Server RS310.2
Windows Server 20169
Windows Server 2012 R28
Windows Server 20127
Windows Server 2008 R26
Windows Server 20085
Windows Server 2003 R24
Windows Server 20033
Windows Server 20002
Windows Server NT41

Tips and PowerShell

If you want to know more about Cluster OS Rolling Upgrade, you can check out the Microsoft Docs. Together with John, I created a quick list of some tips for you, and some of the important PowerShell cmdlets.

To check which Cluster Functional Levels your cluster is running on, you can use the following PowerShell cmdlet:

If you have upgraded all nodes in the cluster, you can use the Update-ClusterFunctionalLevel to update the Cluster Functional Level. Also make sure that you upgrade the workloads running in that cluster, for example upgrade the Hyper-V Configuration Version or in a Storage Spaces Direct Cluster, the Storage Pool version (Update-StoragePool).

In Windows Server 2019 the Clustering team introduced a new PowerShell cmdlet to check how many nodes of the cluster are running on which level. Get-ClusterNodeSupportedVersion helps you to identify the Cluster Functional Level and the Cluster Upgrade Version.

Cluster Functional Level Get-ClusterNodeSupportedVersion

This means that the functional level is 11 (Windows 2019).  The Upgrade version column is what you can upgrade to/with, meaning 11.1 or Windows 2019 only.

Cluster Functional Level and Cluster Upgrade Version

This means your Cluster Functional Level is 10.  Meaning you can add basically anything 10.x (2016, RS3, RS4) and 11 (2019) to it.

If you are running System Center Virtual Machine Manager, the Cluster OS rolling upgrade, can be fully automated as well. Check out the Microsoft Docs for Perform a rolling upgrade of a Hyper-V host cluster to Windows Server 2016 in VMM.

To find out more about information Cluster operating system rolling upgrade, like how-to, requirements and limitations, check out the Microsoft Windows Server Docs page.



Veeam Vanguard 2019

Veeam Vanguard 2019

Beginning of this week I got some fantastic news. I was awarded with my third Veeam Vanguard award. I was on of the first Veeam Vanguards in 2015 and was awarded directly after that in 2016. I am proud to again receive the Veeam Vanguard Award in 2019.

A Veeam Vanguard represents the Veeam brand to the highest level in many of the different technology communities in which Veeam engages. These individuals are chosen for their acumen, engagement and style in their activities on and offline.

I am looking forward to community in this virtualization and cloud journey. I also want to thank Veeam, it is an honor to be part of the Veeam Vanguard community again.



Hyper-V VM Configuration Version

Hyper-V VM configuration version supported features

A couple of months ago, I wrote an article about the new Microsoft Hyper-V UEFI in Windows Server 2019 and Windows 10 virtual machines. With that version Microsoft also released a new Hyper-V VM configuration version 9.0. This is not unusual, the Hyper-V teams usually bumps up the version number from release to release, since new Hyper-V features are introduced. In the comments, the question came up, what is new in this version of the Hyper-V VM configuration, Since the version was still a preview release of Windows Server and Windows 10, Microsoft didn’t share the full list of features per configuration version. However, now the documentation is ready and you can find the documentation here.

Supported features

The following table shows the minimum virtual machine configuration version required to use some Hyper-V features.

Windows ServerWindows 10VersionFeature
Windows Server 2016 Technical Preview 3Windows 10 15076.2Hot Add/Remove Memory
Windows Server 2016 Technical Preview 3Windows 10 15076.2Secure Boot for Linux VMs
Windows Server 2016 Technical Preview 3Windows 10 15076.2Production Checkpoints
Windows Server 2016 Technical Preview 3Windows 10 15076.2PowerShell Direct
Windows Server 2016 Technical Preview 3Windows 10 15076.2Virtual Machine Grouping
Windows Server 2016 Technical Preview 4 Windows 10 15117.0Virtual Trusted Platform Module (vTPM)
Windows Server 2016 Technical Preview 57.1Virtual machine multi queues (VMMQ)
Windows Server 2016Windows 10 Anniversary Update8.0XSAVE support
Windows Server 2016Windows 10 Anniversary Update8.0Key storage drive
Windows Server 2016Windows 10 Anniversary Update8.0Guest virtualization-based security support (VBS)
Windows Server 2016Windows 10 Anniversary Update8.0Nested virtualization
Windows Server 2016Windows 10 Anniversary Update8.0Virtual processor count
Windows Server 2016Windows 10 Anniversary Update8.0Large memory VMs
Windows Server 1803Windows 10 April 2018 Update8.3Increase the default maximum number for virtual devices to 64 per device (e.g. networking and assigned devices)
Windows Server 2019/1809Windows 10 October 2018 Update9.0Allow additional processor features for Perfmon
Windows Server 2019/1809Windows 10 October 2018 Update9.0Automatically expose simultaneous multithreading configuration for VMs running on hosts using the Core Scheduler
Windows Server 2019/1809Windows 10 October 2018 Update9.0Hibernation support

Source: Microsoft Docs (Thanks to Rene Moergeli for the link)

How to list the supported VM configuration versions

You can list all supported VM configuration versions on your Hyper-V host using the Get-VMHostSupportedVersion cmdlet.

Get-VM Hyper-V VM Configuration Version

If you want to see the version of a Hyper-V virtual machine, you can use Hyper-V Manager or the following PowerShell command:

Full list of Hyper-V VM versions

Here you have a full list of VM configuration versions of Hyper-V VMs together with the operating system.

Windows ClientWindows ServerVersion
Windows Server 20081.0
Windows Server 2008 SP12.0
Windows Server 2008 R23.0
Windows 8Windows Server 20124.0
Windows 8.1Windows Server 2012 R25.0
Windows 10 1507Windows Server 2016 Technical Preview 36.2
Windows 10 1511Windows Server 2016 Technical Preview 47.0
Windows Server 2016 Technical Preview 57.1
Windows 10 Anniversary UpdateWindows Server 20168.0
Windows 10 Creators Update8.1
Windows 10 Fall Creators UpdateWindows Server 17098.2
Windows 10 April 2018 UpdateWindows Server 18038.3
Windows 10 October 2018 UpdateWindows Server 2019 / 18099.0
Windows 10 April 2019 UpdateWindows Server 19039.1
PrereleasePrerelease254.0
ExperimentalExperimental255.0

How to upgrade Hyper-V VM configuration version

Hyper-V vNext Update VM Configuration Version

Upgrading the Hyper-V VM version is pretty straight forward. If the VM is running on a host supporting a newer version of Hyper-V VMs, you can right click the virtual machine in the Hyper-V Manager and click on upgrade or you can run the Update-VMVersion PowerShell cmdlet.

I hope this blog was help full for understanding Hyper-V VM versions, let me know if you have any questions in the comments!



Windows Server 2019

Windows Server 2019 – App Compatibility Feature-on-Demand

In Windows Server 2019 Microsoft is focusing on a couple of things. One of the things Microsoft wants to improve with Windows Server 2019, is the Windows Server Core experience. Bringing a great remote management experience with Windows Admin Center is one thing, the other feature which should improve the Server Core experience, is the Server Core App Compatibility feature-on-demand (FOD).

In the past you might have some problems running application that required a local GUI interaction on Server Core. Some of the applications you couldn’t install, failed after the installation or just didn’t work right. With the Server Core App Compatibility FOD, Microsoft improves this situation in Windows Server 2019 Core. FoD improves application compatibility of Windows Server Core by adding binaries and packages from Windows Server with Desktop Experience, without adding the Windows Server Desktop UI.

Here are some Operating system components that are available with in the FOD package.

  • Event Viewer (Eventvwr.msc)
  • Performance Monitor (PerfMon.exe)
  • Resource Monitor (Resmon.exe)
  • Device Manager (Devmgmt.msc)
  • Microsoft Management Console (mmc.exe)
  • File Explorer (Explorer.exe)
  • Internet Explorer
  • Windows PowerShell (Powershell_ISE.exe)
  • Failover Cluster Manager (CluAdmin.msc)

Like the new Windows Container Image, the Server Core App Compatibility FOD should make sure you can run more apps on Server Core.

How to install Windows Server 2019  App Compatibility Feature-on-Demand

Windows Server 2019 App Compatibility Feature-on-Demand

First you will need to download the Feature-on-Demand ISO and safe it on your server. Mount the ISO Image:

Install Server Core App Compatibility

After that you can use DISM to add the FOD package to your Windows Server 2019, installation. Just be sure, this only works on Windows Server Core, Desktop Experiences already has these binaries.

Windows Server 2019 Core App Compatibility FOD

You will need to restart your server. After the restart you can run tools like explorer.exe, Device Manager and many more on Windows Server Core.

When to use which Windows Server 2019 Installation Option

With WIndows Server 2019 you now get a couple of installation options, I tried to summrize this in this table:

Installation OptionScenario
Windows Server CoreServer Core is the best installation option for production use and with Windows Admin Center remote management is highly improved.
Windows Server Core with Server Core App Compatibility FODWorkloads, and some troubleshooting scenarios, if Server Core doesn’t meet all your compatibility requirements. You can add an optional package to get past these issues. Try the Server Core App Compatibility Feature on Demand (FOD).
Windows Server with Desktop ExperienceWindows Server with Desktop Experience is still an option and still meets like previous releases. However, it is significantly larger than Server Core. This includes larger disk usage, more time to copy and deploy and larger attack surface. However, if Windows Server Core with App Compatibility does not support the App, Scenario or Administrators still need the UI, this is the option to install.

Windows Server 2019 Insider Preview for Server Core App Compatibility FOD

As of today Windows Server 2019 is still only available as Windows Server Insider Preview. You can download the Windows Server 2019 Preview and the App Compatibility Feature-on-demand from the Windows Server Insider download page.

You can read more about the Server Core App Compatibility Feature-on-Demand on the Windows Server Blog.

 



Windows Sandbox

Windows Sandbox – Isolated Windows Desktop

Today Microsoft announced a new feature called Windows Sandbox. Windows Sandbox is built based on Windows Container technology, which allows you to spin up an isolated, temporary, desktop environment where you can run untrusted software. The software you run and install in the Windows Sandbox does not affect the host. If you shut down the Windows Sandbox all changes and all software you installed in the Sandbox are gone again. This sounds very similar to the technology Windows Defender Application Guard already used to build a sandbox environment for Microsoft Edge.

Windows Sandbox Overview

Windows Sandbox

Windows Sandbox has the following properties:

  • Part of Windows – everything required for this feature ships with Windows 10 Pro and Enterprise. No need to download a VHD!
  • Pristine – every time Windows Sandbox runs, it’s as clean as a brand-new installation of Windows
  • Disposable – nothing persists on the device; everything is discarded after you close the application
  • Secure – uses hardware-based virtualization for kernel isolation, which relies on the Microsoft’s hypervisor to run a separate kernel which isolates Windows Sandbox from the host
  • Efficient – uses integrated kernel scheduler, smart memory management, and virtual GPU

Windows Sandbox brings the advantages of Windows Containers and also adds a desktop. If you compare this to a Windows 10 Virtual Machine, the Windows Sandbox will consume much less resources, it starts up match faster and will be much more efficient with hardware resources. You can think of it as a lightweight virtual machine, which can share the same hardware but also the same kernel and memory as the host system (like a container).