Storage Spaces Direct with 3 VMs using Windows Server 2016 Technical Preview 5

In this blog post let’s looks at creating a Storage Spaces Direct Hyper Converged solution using three virtual machines. For production deployment, it is recommended to use physical servers instead of virtual machines. I will be using Windows Server 2016 Technical Preview 5 version which was just released few days back for this blog post.

Before I move any further, I would like to highlight some of the key features introduced part of Windows Server 2016 Technical Preview 5

– Automatic Configuration

– Storage Spaces Direct Management Using Virtual Machine Manager

– Chassis and Rack Fault Tolerance

– Deployment with 3 Servers

– Deployments with NVMe,SSD and HDD

Overview of Storage Spaces Direct


Storage Spaces Direct enables building highly available and scalable storage systems using local storage. We can utilize storage locally attached to individual nodes such as HDD, SSD and NVMe drives for creating Storage Spaces Direct volumes.

There are two deployment scenarios with Storage Spaces Direct. Hyper-Converged scenarios and disaggregated scenario. In this post, I will be demonstrating Hyper-Converged scenario.

In this blog post let’s look at how we can create, Storage Spaces Direct with 3 Virtual Machines with mirrored resiliency. This deployment is resilient for a single node failure.

Step 01 – Create 3 Virtual Machines with 2 Networks and 3 Hard Drives (1 for OS and the other two for Storage Spaces Direct). Add all 3 Virtual Machines to a domain.



Step 02- is for us to go and install Failover Clustering features and File Services. You can do so by using PowerShell command below.

Install-WindowsFeature –Name File-Services, Failover-Clustering –IncludeManagementTools -ComputerName $VMname

Step 03 – Before go ahead and create the cluster, let’s go ahead and validate our cluster configuration.

Test-Cluster –Node ‘ws164cls1′,’ws164cls2′,’ws164cls3’ –Include “Storage Spaces Direct”,Inventory,Network,”System Configuration”


Validate Test comes back with a failure for Disk Configuration. This is due to Technical Preview 5 not recognizing Virtual Hard Drive storage media type. This will be fixed in the next release, but for now we need to proceed ahead and skip some of the validation for this to work within Technical Preview 5.



Step 04 – Let’s go ahead and create a new cluster without any storage.

New-Cluster –Name ‘ws164cluster1’ –Node ‘ws164cls1′,’ws164cls2′,’ws164cls3’ –NoStorage


Step 05 – I will configure Cloud Witness for this cluster

Set-ClusterQuorum –CloudWitness –AccountName <AccountName> -AccessKey <AccesKey>


Step 06 – Now that we have created a cluster, next option is for us to go ahead and enable Storage Spaces Direct. Please note that we cannot use the commends we used part of Technical Preview 04 since the enable option will fail as it cannot detect required storage disks. This is due to Technical Preview 5 not recognizing Virtual Hard drives and due to this reason we need to skip eligibility checks.

Enable-ClusterS2D -CacheMode Disabled -AutoConfig:0 -SkipEligibilityChecks -Confirm



Step 07 – Once we have enabled Storage Spaces Direct, we need to go ahead and manually create Storage Pool. If we were using Physical Server, we could use auto configuration but this will not work at the moment for Virtual Machines.

New-StoragePool -StorageSubSystemFriendlyName *Cluster* -FriendlyName S2D -ProvisioningTypeDefault Fixed -PhysicalDisk (Get-PhysicalDisk | ? CanPool -eq $true)




Step 08 – Create Storage Tiers

$pool = Get-StoragePool S2D

New-StorageTier -StoragePoolUniqueID ($pool).UniqueID -FriendlyName Performance -MediaType HDD -ResiliencySettingName Mirror

New-StorageTier -StoragePoolUniqueID ($pool).UniqueID -FriendlyName Capacity -MediaType HDD -ResiliencySettingName Parity

Step 09 – Create a Volume

New-Volume -StoragePool $pool -FriendlyName Mirror -FileSystem CSVFS_REFS -StorageTierFriendlyNames ‘Performance’,’Capacity’ -StorageTierSizes 50GB, 200GB




Within Cluster Manager we can now see that we have a new CSV disk available, which can be used by Hyper-V for hosting Virtual Machines.



As mentioned before, if a single node fails, we still have access to storage


Turnoff WS164CLS3



CSV disk is still online and we can see that it has moved in to WS165CLS2. We can still do read/write


However, if we have two node failures, then we will lose access to storage




References for more information

Technet-Storage Spaces Direct in Windows Server 2016 Technical Preview

Technet-Storage Spaces Direct Hardware Requirements

Hyper-converged solution using Storage Spaces Direct in Windows Server 2016

Now Available! Windows Server and System Center 2016 Technical Preview 5!

Microsoft has released Technical Preview 5 for Windows Server 2016 and System Center 2016. This release is the last release before moving in to General Availability later this year.  

Microsoft made number of improvements within this Technical Preview 5 for both Windows Server & System Center products. To find out more on what’s improved / add please have a look at below resources

What’s New in Windows Server 2016 Technical Preview 5

What’s New in System Center 2016 Technical Preview 5

Use links below to download Technical Preview 5 

Windows Server 2016 Technical Preview 5

System Center 2016 Technical Preview 5



Why Nano Server

A common question that gets raised around new Windows Server 2016 Technical Preview is around Why we should deploy Nano Server and what’s the benefit. In this blog post I will discuss few benefits when using Nano Server deployment Method.

Starting with Windows Server 2012, we had 3 deployment options

  1. Server Core Deployment Option
  2. MinShell Deployment Option
  3. Full Desktop Experience Deployment Option

Back then, for deployments such as Hyper-V it was recommended to deploy Server Core due to limited attack surface and reduced patches/hotfixes which we had to deploy.

At the moment with Windows Server 2016 Technical Preview , we have following deployment options

  1. Nano Server deployment (Not exposed in the Setup wizard, you need to create your own media file)
  2. Server Core Deployment Option (Note that this option is selected by default)
  3. Full Desktop Experience Deployment Option

Unlike in Server 2012, we cannot switch back and forth in Server 2016 Technical Preview, so if you had selected Full desktop Experience, you will have to stick to it. More info(

Starting with Windows Server 2016, Hyper-V Team recommends the use of Nano Server deployment for all Hyper-V Deployments. Let’s look at benefits of using Nano Server compared to other deployment type.

  1. Compared to all other deployment types Nano Server requires least number of patches and requires least number of restarts (Comparing with Server Core, which had 8 patches over last 12 months, if we had Nano Server we would only need to deploy one patch requiring only one reboot)
  2. Around 90% smaller install footprint, which means that we can deploy Nano Server within 5 minutes running through the setup process.
  3. Faster reboot experience with Nano Server
  4. Lower memory requirements

Another interesting change with Nano Server deployment is that we need to decide on the purpose of the Server before we deploy Nano Server. Traditionally, we would deploy Windows Server 2012 R2, and then select Roles & Features which are required, but we cannot do this with Nano Server.

At the time of Image creation, we need to decide which roles needs to be included in the image and select. If it’s a Hyper-V Deployment, we would select Hyper-V Role and Failover Clustering features, If it’s a Scale out file Server, we would select the File Server role. List of available roles are available in this location ( and refer to my previous blog post for instructions on host to deploy Nano Server (

Azure Server Management Tools–Installation

In my previous post, I provided an Introduction to Azure Server Management Tools. In this blog post we will look at installing & configuration Server Management Tools.

First Step involved in setting up Server Management Tools is for us to create a Server Management Tools Connection. Once a connection has been created, we can go ahead and provision Server Management Tools gateway. Gateway is an essential component which provides Azure Server Management Tools service, connectivity in to your on-premises or azure hosted Server 2016 VMs (At the moment support is only for Windows Server 2016 Technical Preview).


Step 01 – Create Server Management Tools Connection

Login to Azure Portal and click New -> search for Server Management Tools

Create Server Management Tools Connection. Provide a computer name for a VM or Server running with Windows Server Technical Preview. Select your subscription and the local. Next step is for us to create the gateway.


Step 02 – Deploy Server Management Tools Gateway

After creating a Server connection navigate to Server management tools gateways -> click on the gateway and then click setup


Grab the installation link and access your Gateway Server VM. open your browser and then download the gateway deployment package.

Extract the package and then run GatewayService.MSI  (Make sure that you extract the package before running GatewayService.MSI).


Gateway Setup Installation -> Accept License Agreement and click Install


Installation should only take few minutes


Once you have configured navigate to -> Server management tools connections

Initially, there won’t be any data populated. it’s required to provide Management credentials to establish connectivity.


Once you have provided access credentials, we will be able to see performance data populated and also we get access to Server Management Tools.


Azure Server Management Tools (Preview)–Introduction

Microsoft recently released Azure Server Management Tools preview for web-based management tools for Windows Server 2016 Technical Preview running on-premises as well as in Azure.

Currently, Server Management Tools offer the following capabilities:

  • View and change system configuration
  • View performance across various resources and manage processes and services
  • Manage devices attached to the server
  • View event logs
  • View the list of installed roles and features
  • Use a PowerShell console to manage and automate

Having server management tools available in Azure gives me the flexibility to manage my on-premises Windows Server 2016 servers and also Azure Windows Server 2016 Servers using a single portal.

For more information, please visit official blog post from Microsoft

Next post I will talk about how we can install & configure Azure Server Management Tools.

Azure Portal General Availability

Today morning Microsoft announced general availability for Azure Preview Portal ( Logging in to the old portal(, we can now see a new banner that allows you to click and re-direct to the new Azure Portal.



Installing Nano Server on a Physical Machine using Windows Server 2016 Technical Preview 4

In this blog post we will look at how to deploy a Nano Server instance using Windows Server Technical Preview 4.

First of all there are two ways of deploying Nano Sever. First method is for deploying Nano Server on a VM and the Second method is for deploying Nano Server on a Physical machine. In this blog post, we will look at deploying Nano Server on a Physical machine.

Step 01 – Copy Nano Server creation Files

Create a folder to store Nano Server image


Download and mount Windows Server 2016 Technical Preview 4 Media and then copy following files in to your local hard drive (paste them in the folder which you created in the above step)

  1. Convert-WindowsImage
  2. NanoServerImageGenerator


Step 02 – Create Nano Server Image

Run the following PowerShell Command to create the Nano Server Image. Open PowerShell as an Administrator and navigate to the folder which has above scripts copied.

First import Nano Server Image Generator module by running the following command

Import-Module .\NanoServerImageGenerator.psm1 –verbose

Next step is to run the image creation command

New-NanoServerImage -MediaPath f:\ -BasePath .\Base -TargetPath .\NanoServerHV03.vhd -ComputerName “S3-NN-01” -OEMDrivers -Compute -Storage -Defender -DomainName “” -EnableRemoteManagementPort -Language EN-US

Note – Don’t forget to replace MediaPath, TargetPath, ComputerName, DomainName according to your environment. Language needs to be set to EN-US. If your Server supports for UEFI Boot, you could also name the target file with VHDX extension.

Provide local administrator password when prompted



After about 15 minutes, this process should be completed. It could take longer due to injecting all OEM Drivers, which is an optional process. I didn’t have a driver pack for the server which i was building so I had to use the OEM driver pack which is a large OEM driver package which could take more time in building the image.


Verify that the image has been created on the designated folder.


Step 03 – Create & Configure Boot Entry for booting Nano Server VHD

Open command prompt as an “Administrator” and run the following commands

bcdedit /copy {current} /d “Nano Server”

Make note of the Boot Entry GUID that gets created


Next step is to run the following set of commands against the Nano Server boot entry which we just created. Replace Boot Entry GUID with your own, and also the location of the  VHD/VHDX file.

  • bcdedit /set {0141898c-3e9e-11e3-8aa8-9b1588913cd5} device vhd=[c:]\NanoServer\NanoServer.vhd
  • bcdedit /set {0141898c-3e9e-11e3-8aa8-9b1588913cd5} osdevice vhd=[c:]\NanoServer\NanoServerHV03.vhd
  • bcdedit /set {0141898c-3e9e-11e3-8aa8-9b1588913cd5} path \windows\system32\boot\winload.exe


Next time when you restart your server, you will be prompted to select Nano Server Boot Option. If you need to we can also open System Configuration and set the Nano Server Boot record to be the default entry.


Based your boot records, you should see something similar when rebooting your server


Provide credentials to login to Nano Server. If you have not specified -DomainName option when creating the Nano Server image, Nano Server will not get added to your domain and you will have to login using local administrator credentials. In my environment, i have added my Nano Server to my lab domain environment, and i can login using my domain Administrator Account


After logging in to Nano Server, you will be able to see Nano Server Recovery Console which has information relating to your Server and also allows you to configure Firewall rules and networking. Note that we don’t have an option to run PowerShell commands locally, and the Nano Server instance needs to be managed Remotely using PowerShell Remoting or using Server Manager.


Step 04 – Connecting & Configuring Nano Server

Now that we have our Nano server up and running, lets have a look at some initial configuration that we can do on Nano Server. In order to do this, I’m going to open up Server Manager which is available on my local PC(Installed RSAT on my Windows 10 PC).


Add Nano Server Computers which are part of the Domain


Now that the servers are added to Server Manager, these servers can be remotely managed


All my VMs are hosted in my D Drive which is created with Storage Spaces and also it has Deduplication enabled. Since I’m going to access my D Drive from Nano Server and import these VMs I need to make sure that I enable Deduplication on my Nano Server.

Click on Manager and select Add Roles and Features


Select File and iSCSI Services and select File Server and Data Deduplication



After finishing the installation, Open Hyper-V Manager by selecting the Server and then right-click open Hyper-V Manager


Now we can remotely manage our Nano Server instance and Import my existing Hyper-V VMs

Windows Server 2016 & System Center 2016 Technical Preview 4

Microsoft released Technical Preview 4 for Windows Server 2016 and System Center 2016 on 19th November.
Note that the Technical Preview is not a supported production release and should not be used in a production environment.
Please find below some of the new / enhanced capabilities on Windows Server 2016 Technical Preview
  • Nano Server (DNS Server / IIS Server roles and also previously included scale out File Server & Hyper-V Role)
  • Windows Containers
  • Site-Aware Failover Cluster, Workgroup and Multi-domain Clusters
  • Hyper-V Virtual Machine Resiliency
  • Cloud Witness
  • Cloud Operating System Rolling Upgrade
  • Storage Spaces Direct
  • Storage Replica


Please use link below for obtaining Technical Preview install media
Windows Server Technical Preview 4
System Center 2016 Technical Preview 4

System Center Configuration Manager & Endpoint Protection Technical Preview 4

I will be writing on new capabilities introduced in Windows Server 2016 Technical Preview for in future posts starting with Nano Server, meanwhile have a look at below resources for information around new capabilities introduced with the product.
Additional Resources on Technical Preview 4 
What’s New in Failover Clustering in Windows Server Technical Preview
What’s New in File and Storage Services in Windows Server 2016 Technical Preview
Cluster Operating System Rolling Upgrade
Storage Replica in Windows Server 2016 Technical Preview
Storage Spaces Direct in Windows Server 2016 Technical Preview
Storage Quality of Service
Make innovation easier with Windows Server 2016 and System Center 2016 Technical Preview 4
Designing Windows Server in the cloud-first world
Announcing the release of Hyper-V Containers in Windows Server 2016 Technical Preview 4
Stand-alone version of the “Introducing Hyper-V Containers” video on Ch.9:
Moving forward in the cloud world with software-defined storage
4 Datacenter challenges and how Windows Server 2016 software defined networking can help
Moving to Nano Server, the new deployment option in Windows Server 2016
Protecting your datacenter and cloud: November update
Three “Tell me about IT” videos on WS.2016 by Jeffrey Snover:
Early look at containers in Windows Server, Hyper-V and Azure – with Mark Russinovich

Azure Announcements at AzureCon 2015

Quick post to summerize some of the new Azure Announcements at AzureCON 2015 event.

– 3 New Azure Datacentres Announced (3 in India), with this Microsoft has more datacentre than Google and AWS combined (24 Regions around the world)

– New N-Series VMs which has GPU Capabilities – for graphics-intensive workloads

– New next generation D Series Virtual Machines (DV2 – 35% Faster than D series VMs)

– Azure Security Centre Announced – to be made available later this year

– New Azure Pre-Purchase Billing Plan, starting 1st December

Azure SQL Data Warehouse now available in Public Preview (First enterprise-class cloud data warehouse)

General availability of ExpressRoute for Office 365 and Skype for Business

General availability of Azure File Storage. Geo-replicated managed File Share with SMB 3.0 protocol.

– General availability for Azure Backup for Application workloads, which supports direct backup of SQL Server, SharePoint and Microsoft Dynamics without having to deploy DPM 2012.

– New Azure Resource Health service which exposes Health Services for VMs, Websites and SQL Databases to quickly identify root cause. This service will be public preview in October

Azure IoT Suite is now available for Internet of Things projects

Azure Containers – Preview to be made available later this year

More information please visit below links

Wire Data Analysis with Operations Management Suite

Wire Data Analysis capability was made available to Operations Management Suite (OMS) recently, and i had a quick look at it today.

This solution provides network traffic analysis using existing OMS Agent for Windows 2012 R2 servers, Windows 8.1 clients and newer operating systems. To enable this functionality, all we need to do is to navigate to Solutions Gallery, Select Wire Data and click Add. Once you click add, OMS Agent will start collecting information and push them back to OMS Service.


After few hours adding Wire Data Solutions pack I was able to see network analysis dashboard. I can see traffic from each server VM and also most importantly I could see application protocol that’s consuming most of my network traffic.


OMS also provides a query function which allows us to filter and get specific information within each solutions pack.



This is a quick introduction regarding new Wire Data Analysis solutions pack and also how to enable this functionality using OMS. I will post back later with more details regarding Wire Data Analysis and other offerings with Microsoft Operations Management Suite.