In a previous topic, I shown how to implement a Storage Space Direct on Windows Server 2016 TP2 (it is almost the same thing in Technical Preview 3). In this previous topic I created Storage Pool, storage space and some share from Failover Clustering console. In this topic, I’ll show you how doing the same operation from Virtual Machine Manager Technical Preview 3.
To follow this topic you need:
- A Scale-Out File Server implementation. In this topic I use storage space direct;
- A Virtual Machine Manager 2012R2 Update Rollup 8 installation (on my side I’m in Technical Preview 3).
Storage Space Direct implementation
To make this topic, I have deployed four virtual machines on Windows Server 2016 Technical Preview 3. These machine are in a cluster called HyperConverged.int.homecloud.net. I have installed Hyper-V and File Servers role on these servers because it is a POC for Hyper-Convergence (I’m waiting for nested Hyper-V on Windows Server J). Each virtual machine is connected to 5 disks of 40GB.
Each server is connected to four networks.
- Cluster: cluster communication;
- Management: AD, RDP, MMC and so on;
- Storage: dedicated network between Hyper-V and cluster for storage workloads;
- Live-Migration: dedicated network to migrate VM from one host to another.
The Scale-Out File Server role is deployed in the cluster. I called it VMSto. VMSto can be reachable from storage network.
To finish, I have added a vmm runas account in the Administrators group in each server.
Manage Storage Space Direct
Now I’m connecting to Virtual Machine Manager in the Fabric. I add a Storage Device (right click on Arrays, Add Storage Devices).
Next select the provider type. With Scale-Out File Server, select Windows-Based File Server.
Next type the cluster name and select the RunAs account related to the account that you have added in local Administrators group in each server.
Then the Scale-Out File Server should be discovered with 0GB capacity. It is because there is no Storage Pool created yet. Just click on next.
Then select the Scale-Out File Server to place under management and click on next.
Once the storage device is added to VMM, you can navigate to File Servers and right click on the device. Select Manage Pools.
In the next window, there is the list of storage pool. Because no storage pool is created nothing appears. So click on New to create a storage pool.
Give a name to the storage pool and select a classification.
Then select disks that will be in this storage pool.
To finish you can specify the Interleave.
Once the storage pool is created, you should see it in Storage Pools window as below.
Next run a rescan on the provider and navigate to Array. Now a pool is managed by VMM.
Moreover it has been added to the right classification.
Now, I create a file share to store my VMs. So I select create file share. I give a name to the share and I select a storage pool.
Then I specify a size for the volume, a file system, the resiliency and an allocation unit size. If you have SSD and HDD in the pool, VMM will ask you if you want to Enable Storage Tiers.
Once the share is created, a new LUN (in fact it is a Cluster Share Volume) is added under the storage pool.
In File Share view, you should have your new File Share.
Now you have just to add the share in the Hyper-V configuration as below.
Now you can deploy VMs in this share as you can see below.
Overview in Failover Clustering console
If we come back in the failover clustering console, you should retrieve the Storage Pool, CSV and share that we have created from VMM. First if you navigate to Pools, you should have a new storage pool called Bronze-Tier01.
Then in Disks, you should have a new CSV belonging to your storage pool.
To finish, if you navigate to the Scale-Out File Server role and you select share tab, you should see the new file share.
Manage using PowerShell
Create the storage Pool
You can list disks available from VMM to add them to a storage pool. For that I used Get-SCStoragePhysicalDisk cmdlet.
Then I use the below script to create a storage pool with the selected physical disk.
$storageArray = Get-SCStorageArray -Name "Clustered Windows Storage on HyperConverged" $disksToAdd = @() $disksToAdd += Get-SCStoragePhysicalDisk -ID "69d0702d-5de1-4ac4-82f2-224d1b47676c" $disksToAdd += Get-SCStoragePhysicalDisk -ID "a77c70bd-96df-482c-87e2-314f288e7142" $disksToAdd += Get-SCStoragePhysicalDisk -ID "cb94acd1-4269-4db5-bab9-42aeea1897dd" $disksToAdd += Get-SCStoragePhysicalDisk -ID "97dd5243-7502-48cc-9302-433288a487f3" $disksToAdd += Get-SCStoragePhysicalDisk -ID "e44d24ab-9e47-44bd-94ea-5d57f25d8d66" $disksToAdd += Get-SCStoragePhysicalDisk -ID "c77e6d97-e7c7-4d88-abd8-72ffe468418d" $disksToAdd += Get-SCStoragePhysicalDisk -ID "90d7408f-d7be-4aaf-b88c-7cb3c0860c2e" $disksToAdd += Get-SCStoragePhysicalDisk -ID "5b6217ce-5eff-489c-b074-c97c64c9d1c6" $classification = Get-SCStorageClassification -Name "Bronze" $pool_0 = New-SCStoragePool -Name "Bronze-Tier01" -StoragePhysicalDisk $disksToAdd -StorageArray $storageArray -StorageClassification $classification
Create the file share
To create the file share in a storage pool, I use the New-SCStorageFileShare cmdlet as below.
$storageFileServer = Get-SCStorageFileServer -Name VMSto.int.HomeCloud.net $storagePool = Get-SCStoragePool -name "Bronze-Tier01" $storageClassification = Get-SCStorageClassification -Name "Bronze" $storageFileShare = New-SCStorageFileShare -StorageFileServer $storageFileServer -StoragePool $storagePool -Name "Bronze01" -Description "" -SizeMB 102400 -RunAsynchronously -FileSystem "CSVFS_ReFS" -ResiliencySettingName "Mirror" -PhysicalDiskRedundancy "2" -AllocationUnitSizeKB "64" -StorageClassification $storageClassification