Windows Server 2016 comes with al lot of new options and Hyper-converged is one of the new options. In this blog post I’ll show you what options you have when using VMM and S2D. The tools are great but so is PowerShell and it always depends on what and how you are building things.
Storage Spaces Direct is a bit like building a Do It Your Self San multiple heads lots of Storage can lose one Head , low costs.
Storage Spaces Direct seamlessly integrates with the Hyper-V / Files Servers you know today. The Windows Server 2016 software defined storage stack, including Clustered Shared Volume File System (CSVFS), Storage Spaces and Failover Clustering.
The hyper-converged deployment scenario has the Hyper-V servers and Storage Spaces Direct components on the same cluster. Virtual machine’s files are stored on local CSVs. This allows for scaling Hyper-V clusters together with the storage it is using. Once Storage Spaces Direct is configured (Enable-ClusterS2D) and the CSV volumes are available, configuring and provisioning Hyper-V is the same process and uses the same tools that you would use with any other Hyper-V deployment on a failover cluster. but now with System Center Virtual Machine Manager 2016 we can also configure this during the deployment.
Above are the layers shown, as you can see the Storage is defined in 3 parts physical disks, spaces and the CSV volumes.
So basically we can configure the cluster with Storage Spaces Direct by hand (PowerShell) or if you are using VMM you can do this by using templates and the GUI. but is this the same and is this handy ? The only change I did in this post is create a Scale out file server to use the Storage Spaces Direct volumes.
Well it is nice that you can do this but when configuring this by hand it gives you much more flexibility and configuration and yes maybe more complex but understanding the method is better than following a wizard.
Let see the options we have in VMM there are a couple of ways to configure this it all depends.
Create a Hyper-V cluster and tap the enable Storage Spaces Direct option.
Or Create a Scale Out file server and check what you want shared Storage or enable Storage Spaces Direct option.
But you can also Create the cluster in VMM and configure later the Storage Spaces Direct. The fact is that VMM 2016 can create and maintain the Storage layer. all from a single interface.
So for this demo I use 4 Servers Sofs02,Sofs04,Sofs06,Sofs08 each server has 8 local Disks
These 4 servers will be transformed to a Storage Space Direct Cluster
first let me check of all the disks on the server.
Get-PhysicalDisk | ? CanPool -EQ 1 | FT FriendlyName, BusType, MediaType, Size
Storage Spaces Direct uses BusType and MediaType to automatically configure caching, storage pool and storage tiering. In Hyper-V virtual machines, the media type is reported as unspecified. So if you are using tools that are expecting certain types of disk you need to fix this.
else when running the cluster validation the cluster creation will fail.
Found a disk with unsupported media type on node ‘Sofs02.mvp.local’. Supported media types are SSD and HDD.
Step one is creating a Hyper-v cluster.
As my servers are in the Storage VMM host group I’ll pick this group. Give the cluster a name and Check the Storage Spaces Direct check box.
So typical when creating this by hand you would do this in PowerShell
install-WindowsFeature "Failover-Clustering","RSAT-Clustering" -IncludeAllSubFeature –ComputerName “sofs02”,”sofs04”,”sofs06”,”sofs08”
Test-Cluster -Node “sofs02”,”sofs04”,”sofs06”,”sofs08”
New-Cluster –Name Democlu201 -Node “sofs02”,”sofs04”,”sofs06”,”sofs08” -NoStorage -StaticAddress "10.255.255.110"
Enable-ClusterS2D -CacheMode Disabled -AutoConfig:0 –SkipEligibilityChecks ( as you are running VHDX disks )
The big difference here is you can’t customize this cluster during this step so no Quorum or any other settings.
Selecting all the nodes
Giving the Cluster a Fix IP or pick one random from the IP pool
All the tasks are running an in a few minutes we have a Cluster that holds a Storage Space Direct unless it Fails the cluster validation test.
If you are using the S2D you must run the Cluster validation test and remember only SSD and HDD media type Disks are supported. So if the media type is unspecified or unknown the Validation report will fail and so is this job.
In our case the job went successful and the cluster with Storage Space Direct is ready for usage.
Now that the cluster is ready you can use the Storage after creating the pool.
And if you already have build a hyper-converged Cluster Hyper-V servers and Storage Spaces Direct components then you can us this also in VMM.
Now that the Cluster is added we can create a Pool.
In case you build the Storage Spaces Direct with Powershell you end up with something like this :
#Create storage pool
New-StoragePool -StorageSubSystemName Pool01.mvp.local –FriendlyName Pool01 -WriteCacheSizeDefault 0 -FaultDomainAwarenessDefault StorageScaleUnit -ProvisioningTypeDefault Fixed -ResiliencySettingNameDefault Mirror -PhysicalDisk (Get-StorageSubSystem -Name Pool01.mvp.local| Get-PhysicalDisk)
#list Storage pool
#removal of the Storagepool
Remove-StoragePool –Name Pool01.mvp.local
But when using the VMM Gui tool you will not get the friendly name as when you do this in Powershell
But this is easy changable
TO check if the Cluster Storage Spaces Direct is enabled you can run a PowerShell command
Or check your Cluster under Storage en Enclosures Every server is listed as his own enclosure.
Now that the Enclosures are listed We create the pools and the disks
We select the Clustered Pool and do manage to create the Virtual disk
We create a New Pool and if you not created a Classification you will need to do this to.
Give this a name and Pick the disk that you want I select all the Disk and use them for one big Pool.
Now that we have selected all the disk and created the pool we can create a Virtual disk on the Pool
Creating the disk can be a little confusing in the VMM GUI as you need to press Cancel and OK.
Give the disk a name
Pick the right Size as my pool s 168GB and I can only do a Mirror you understand I can’t create a 160Gb disk, I have 4 nodes press ca
How can this guide help you? You can use this guide and the Software-Defined Storage Design Calculator spreadsheet to design a storage solution that uses the Storage Spaces and Scale-Out File Server functionality of Windows Server 2012 R2 along with cost-effective servers and shared serial-attached SCSI (SAS) storage enclosures.
#Create virtual disks
New-Volume –StoragePoolFriendlyName Pool01 -FriendlyName CSV02 -PhysicalDiskRedundancy 1 -FileSystem CSVFS_REFS –Size 48GB
As you can see I created a Scale out file server and used the Storage Spaces Direct as storage.
New-StorageFileServer –StorageSubSystemName DemoClu201.mvp.local –FriendlyName Demosofs201 -HostName Demosofs201.mvp.local -Protocols SMB
#Create file shares and Folders
New-SmbShare –Name VM01 -Path C:\ClusterStorage\Volume1\shares\VM01 -FullAccess "mvp\Domain Admins"
Now that the File share and SOFS is in place we can add the share to the hyper-v server or cluster for usage.
When creating a VM we can use the Storage Spaces Direct to place a VM but as you can see in this post there are several methods to do things and each option has a different choice the right one well it is all on you and it depends. see this table below with the pros and cons.
Storage Spaces deployment tools
Failover Cluster Manager & Server Manager
System Center Virtual Machine Manager
Microsoft Deployment Toolkit
After writing this post I can see If you should do this then I would use PowerShell to build the cluster and Storage Spaces direct and add them to VMM but for deploying the basics VMM could be very handy but it all depends on your infra structure.
Follow Me on Twitter @ClusterMVP
Follow My blog https://robertsmit.wordpress.com
Linkedin Profile Http://nl.linkedin.com/in/robertsmit
Google Me : https://www.google.nl
Bing Me : http://tinyurl.com/j6ny39w