Upgraded my homelab!!

Last week I’ve upgraded my homelab again. Now Windows Server 2019 is GA, this setup is running Windows Server 2019 with the Hyper-V server role enable. This machines has capacity enough to run several virtual machines and also nested virtualization. Very useful to install for example a virtual Storage Spaces Direct (S2D) cluster of other Hyper-V clusters!

So let’s rock and create some virtual machines running Windows Server 2016 and 2019!!

  • AMD A8 3870K 3.00GHz 4MB FM1 Box
  • Asus F1A75-V PRO AMD A75, SATA600 RAID, HDMI
  • Corsair 32GB PC3-14900 DDR3 SDRAM Vengeance (4x 8GB, 1866MHz
  • 1 x Samsung SSD 850 EVO 250 GB
  • 1 x Crucial CT512MX100SSD1 512 GB
  • 1 x WD Cavlar Green 1,5 TB

And this setup is fast….realy fast!! The boot tinme of a virtual machine running Windows Server 2019 is around the 5 seconds!!

     

     

Example failover scenarios with Windows Server 2019 S2D cluster

In my previous blogpost, I’ve installed and configured a two node virtual S2D cluster with Windows Server 2019 within Hyper-V on my laptop (Windows 10).

Now the full infrastructure is up and running, and the first guest virtual machine is a live, it’s also nice to take a view on some failover scenarios! In the following examples, you can see the high availability and resiliency of a Storage Space Direct (S2D) cluster. It’s realy, realy, realy powerfull and absolute the feature of virtualization!!

The following scenarios I’m going to cover:

  • Live migration virtual machine;
  • Pause a Hyper-V cluster node (drain roles)
    • for maintenance, for example patching, firmware updates or driver updates.
  • Power Off a Hyper-V cluster node
    • For example a power failure or hardware failure

Scenario 1 – Live Migration:

This feature is already present in the previous versions of Hyper-V and it’s realy powerfull to migrate a virtual machine to another Hyper-V host without any downtime!

        

Scenario 2 – Pause a Hyper-V cluster node:

In this scenario I’m going to ‘pause’ a Hyper-V cluster node with the ‘drain roles’ option. This can be for maintenance, for example: Patching, firmware updates, driver updates or just investigate some issues within Windows.

     

     

As you can see, in my two node S2D cluster, we can ‘pause’ one of the Hyper-V cluster nodes and the virtual machine is still up and running!!

Scenario 3 – Power Off a Hyper-V cluster node:

In this scenario I’m going to simulate a power failure or hardware failure, just to ‘Power Off’ on of the Hyper-V cluster nodes! The virtual machine is saved for a couple of seconds, migrated to the other Hyper-V node and started again!

              

With also with a hardware or power failure, the impact and downtime is that much!! Because the power of Storage Spaces Direct (S2D), your workloads are maximum protected and available!!

Wrap Up:

In this blogpost you’ve seen some scenarios with Storage Space Direct (S2D) in Windows Server 2019. Here you can see the high availability and resiliency of a Storage Spaces Direct infrastructure. Realy powerfull and it meets all your needs for your virtualization environment.

Build a virtual S2D cluster with Windows Server 2019 build 17744

Windows Server 2016 and 2019 Storage Sapces Direct (S2D) allows building HA storage systems using storage nodes with local storage, such as SATA or SSD disks.

In this blogpost, I’ll deploy a two node S2D cluster based on Windows Server 2019 build 17744. The main machine is a HP ProBook 450 G5 with Windows 10, 16 GB memory, 512 GB SSD disk, and Hyper-V enabled.

First of all, I’ve deployed the following virtual machines:

  • S2D-W2019-DC01 (Domain Controller, DNS, Group Policies)
    IP address: 172.16.0.100
  • S2D-W2019-HV01 (Hyper-V host, S2D node)
    IP address: 172.16.0.101 (LAN)
    IP address: 10.10.0.101 (Live Migration)
  • S2D-W2019-HV02 (Hyper-V host, S2D node)
  • IP address: 172.16.0.102 (LAN)
    IP address: 10.10.0.102 (Live Migration)

All the servers are installed with Windows Server 2019 build 17744. The first server I’ve configured is the domain controller. My internal domain is s2dlab.local.

For both S2D nodes (S2D-W2019-HV01 and S2D-W2019-HV02), you’ve to configure some additional settings, because this servers are virtual. So we’re going to run Hyper-V in Hyper-V and on that Hyper-V host there’re some guest virtual machines (nested virtualization) 😀 Cool stuff!!!


$S2DHOST1 = 'S2D-W2019-HV01'
$S2DHOST2 = 'S2D-W2019-HV02'

# List all virtual machines
Get-VM

# Enable nested virtualization on virtual machines
Set-VMProcessor -VMName $S2DHOST1 -ExposeVirtualizationExtensions $true
Set-VMProcessor -VMName $S2DHOST2 -ExposeVirtualizationExtensions $true

Next, you’ve to Configure the following settings within the VM configuration:

  • Disable dynamic memory;
  • Set the number of virtual processors to 2 or 4;
  • Turn on MAC address spoofing on your network interface(s);

           

Now the domain controller is up and running and both S2D nodes are installed and configured with Windows Server 2019, it’s time to add some storage. Both servers have 3 x 50 GB virtual disks attached! Note!! this is only for testing and demo!! 

So we’ve 300 GB storage available for our S2D cluster. After this is done, you can install the following roles and features within Windows Server:

  • (Role) File and Storage Services;
  • (Role) Hyper-V;
  • (Feature) Failover Clustering;

           

Now all the components are ready to build the cluster. It’s recommended to run the cluster validation before building your cluster! The name of my cluster is ‘S2D-CL01’ with IP address 172.16.0.200/16. Note!! Uncheck the option ‘Add all eligible storage to the cluster’!!

The cluster is up and running. As you can see within your Active Directory and DNS configuration, there’re three computer objects (two cluster nodes and one Failover Cluster object).

                 

The last step before enabling ‘S2D’ on our cluster is checking the disk configuration.


# List all available disks within the cluster nodes
Get-PhysicalDisk

# Enable Storage Spaces Direct on the cluster
Enable-ClusterS2D

# List all Storage Pools within the S2D cluster
Get-Storagepool S2D*

     

Now our cluster is Storage Spaces Direct (S2D) enabled. The last step is to create a virtual disk within our Storage Pool and add it as a Cluster Shared Volume (CSV) to the cluster, wo we can store workloads on it! Bacause we’ve a two node cluster, the only Resiliency type is Two-Way Mirror.

                 

Wrap Up:

In this blogpost we’ve builded a two nodes virtual Storage Spaces Direct cluster in Hyper-V (Windows 10). The S2D nodes are running Windows Server 2019. It’s really a nice opportunity to run this configuration virtual on your laptop or desktop, while nested virtualization is supported and it works great!!

In the next blogpost I’ll show you to install and configure a virtual machine within our S2D cluster. Also performing some live migrations to show the high availability and resiliency of our setup!

Demo movie: Storage Spaces Direct in Windows Server 2016

The following movie shows the power of Storage Spaces Direct in Windows Server 2016. From the local disks, to storage pools and cluster, all the layers are explained!! Very useful when you want to know exactly how Storage Spaces Direct (S2D) works.

Software Defined will be the feature! So prepare yourself….. 🙂