Blog written by Sripresanna in the Storage, Network & Print Team.
Cluster aggregated view for Windows Storage Provider (Asymmetric storage configuration)
This is a continuation of previous blog, where I explained cluster aggregated view for Windows Storage Provider for symmetric storage configuration. We strongly encourage to use Symmetric storage configuration and this blog is just to illustrate how cluster aggregate feature (in Windows Server 2012 R2) will work for an Asymmetric storage configuration.
Consider the asymmetric storage configuration in the below cluster:
The cluster aggregated view for storage objects works the same way for symmetric and asymmetric storage (not fully shared storage across all cluster nodes) configurations. The two differences for asymmetric storage is that:
The cluster primordial pool will contain these Physical disks – {P1, P2, P3, P4}. To create a concrete pool on the cluster, the StorageNode PhysicalDisk association should be used to determine the set of disks that are physically attached to a set of nodes (and CanPool = true) and then form the concrete pool with those Physical Disks. In this case such valid sets would be (Sample script in the last section )
N1-N2-N3/N1-N2/N2-N3/N1-N3/N1: {PD1, PD3}
N2: {PD1, PD2, PD3}, {PD1, PD2}, {PD2, PD3}, {PD1, PD3}, {PD1}, {PD2}, {PD3}
N3: {PD1, PD3, PD4}, {PD1, PD3}, {PD3, PD4}, {PD1, PD4}, {PD1}, {PD3}, {PD4}
Here’s the asymmetric storage cluster which will be used to walkthrough the below workflow.
Two Storage Subsystems
This also has the local and cluster storage subsystems
PowerShell snippet to show the 2 Storage subsystem on each node
a. Enumerate physical disks in each subsystem
PowerShell snippet showing the Physical Disk in each Storage subsystem on node 1, 2, 3 and 4
b. Creating a Storage pool
The below two PowerShell snippet enumerates primordial pools in local and cluster Storage System. You will notice that primordial pool in cluster Storage System from all nodes show same output.
PowerShell snippet to create a pool on local storage system of node1 & enumerate
PowerShell snippet to create a pool on cluster subsystem from node1 & enumerate
Few things to note:
The below PowerShell snippet illustrates this.
Set-StorageSubsystem –EnableAutomaticClustering $false on the clustered subsystem
From then on, to add the pool to the cluster, the Add-ClusterResource cmdlet should be used.
c. Creating virtual disk
PowerShell snippet to enumerate pool in local Storage System, create Virtual Disk and enumerate it
PowerShell snippet to enumerate pool in local Storage System, create Virtual Disk and enumerate it
Script to generate sets
$count = Read-Host -Prompt "Enter number of nodes"
[String[]] $nodesarray = @()
For ($i=0; $i -lt $count; $i++)
{
$nodesarray += Read-Host -Prompt "Enter node"
}
$temp = Get-StorageNode -name $nodesarray[0] | Get-PhysicalDisk | select UniqueId
$PD = $temp | select -expand UniqueId –Unique
$NPD = $PD
foreach ($element in $nodesarray)
{
$temp = Get-StorageNode -name $element | Get-PhysicalDisk | select UniqueId
$PD = $temp | select -expand UniqueId –Unique
$NPD = $NPD | ?{$PD -contains $_}
}
$PD = @()
foreach ($element in $NPD)
{
Write-Host $element
$PD += Get-PhysicalDisk -UniqueId $element
}
$PD
Get-StorageSubSystem -FriendlyName "clu*" | New-StoragePool -FriendlyName "testpool" -PhysicalDisks $PD
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.