Score:1

Understanding how windows server storage spaces physical disk redundancy works dependent on where its configured

in flag

Im tasked with configured a windows server to used tiered storage using the following disks

  • 4x 900 GB SSDs
  • 10x 2.2TB HDDs

The SSD tier would be configured using parity with 1 redundant disk and the HHD tier would use parity with 2 redundant disks.

when configuring this via powershell I found that I could set the physical disk redundancy at two points, when creating the storage-tier and again when creating the virtual disk.

I would like to understand the effect this setting has at both points and if its necessary to set this at the virtual disk level given I'm already setting this earlier on.

I can confirm that setting -PhysicalDiskRedundancy at both level affected the storage efficiently of virtual disk.

I then created a script to generate several virtual disks with different config to validate the effect.

$SSD_Parity1  = New-StorageTier -FriendlyName SSD_Parity1 -StoragePoolFriendlyName Dtaa -FaultDomainAwareness PhysicalDisk -MediaType SSD -ProvisioningType Fixed -ResiliencySettingName Parity -PhysicalDiskRedundancy 1
$HDD_Parity1  = New-StorageTier -FriendlyName HDD_Parity1 -StoragePoolFriendlyName Dtaa -FaultDomainAwareness PhysicalDisk -MediaType HDD -ProvisioningType Fixed -ResiliencySettingName Parity -PhysicalDiskRedundancy 1

$SSD_Parity2  = New-StorageTier -FriendlyName SSD_Parity2 -StoragePoolFriendlyName Dtaa -FaultDomainAwareness PhysicalDisk -MediaType SSD -ProvisioningType Fixed -ResiliencySettingName Parity -PhysicalDiskRedundancy 2
$HDD_Parity2  = New-StorageTier -FriendlyName HDD_Parity2 -StoragePoolFriendlyName Dtaa -FaultDomainAwareness PhysicalDisk -MediaType HDD -ProvisioningType Fixed -ResiliencySettingName Parity -PhysicalDiskRedundancy 2


$SSD_Mirror1 = New-StorageTier -FriendlyName SSD_Mirror1 -StoragePoolFriendlyName Dtaa -FaultDomainAwareness PhysicalDisk -MediaType SSD -ProvisioningType Fixed -ResiliencySettingName Mirror -PhysicalDiskRedundancy 1
$HDD_Mirror1 = New-StorageTier -FriendlyName HDD_Mirror1 -StoragePoolFriendlyName Dtaa -FaultDomainAwareness PhysicalDisk -MediaType HDD -ProvisioningType Fixed -ResiliencySettingName Mirror -PhysicalDiskRedundancy 1

$SSD_Mirror2 = New-StorageTier -FriendlyName SSD_Mirror2 -StoragePoolFriendlyName Dtaa -FaultDomainAwareness PhysicalDisk -MediaType SSD -ProvisioningType Fixed -ResiliencySettingName Mirror -PhysicalDiskRedundancy 2
$HDD_Mirror2 = New-StorageTier -FriendlyName HDD_Mirror2 -StoragePoolFriendlyName Dtaa -FaultDomainAwareness PhysicalDisk -MediaType HDD -ProvisioningType Fixed -ResiliencySettingName Mirror -PhysicalDiskRedundancy 2

#$SSD_ParityExpectedCFG  = New-StorageTier -FriendlyName SSD_Parity22 -StoragePoolFriendlyName Dtaa -FaultDomainAwareness PhysicalDisk -MediaType SSD -ProvisioningType Fixed -ResiliencySettingName Parity -PhysicalDiskRedundancy 1
#$HDD_ParityExpectedCFG  = New-StorageTier -FriendlyName HDD_Parity22 -StoragePoolFriendlyName Dtaa -FaultDomainAwareness PhysicalDisk -MediaType HDD -ProvisioningType Fixed -ResiliencySettingName Parity -PhysicalDiskRedundancy 2


$Pairs =@($SSD_Parity1,$HDD_Parity1),($SSD_Parity2,$HDD_Parity2),($SSD_Mirror1,$HDD_Mirror1),($SSD_Mirror2,$HDD_Mirror2),($SSD_Mirror1,$HDD_Parity2)

$details = @()

$ErrorActionPreference = "Continue"
$disks += $Pairs | %{
    $name = "$( $_[0].FriendlyName ) $($_[1].FriendlyName )"
    New-VirtualDisk -FriendlyName "$name (default)" -StoragePoolFriendlyName DTAA -StorageTiers $($_[0]),$($_[1]) -StorageTierSizes 25GB,25GB #-FaultDomainAwareness PhysicalDisk
    New-VirtualDisk -FriendlyName "$name (pd2-mirror)" -StoragePoolFriendlyName DTAA -StorageTiers $($_[0]),$($_[1]) -StorageTierSizes 25GB,25GB -ResiliencySettingName 'Mirror' -FaultDomainAwareness PhysicalDisk -PhysicalDiskRedundancy 2
    New-VirtualDisk -FriendlyName "$name (pd1-mirror)" -StoragePoolFriendlyName DTAA -StorageTiers $($_[0]),$($_[1]) -StorageTierSizes 25GB,25GB -ResiliencySettingName 'Mirror' -FaultDomainAwareness PhysicalDisk -PhysicalDiskRedundancy 1
    New-VirtualDisk -FriendlyName "$name (pd2-parity)" -StoragePoolFriendlyName DTAA -StorageTiers $($_[0]),$($_[1]) -StorageTierSizes 25GB,25GB -ResiliencySettingName 'Parity' -FaultDomainAwareness PhysicalDisk -PhysicalDiskRedundancy 2
    New-VirtualDisk -FriendlyName "$name (pd1-parity)" -StoragePoolFriendlyName DTAA -StorageTiers $($_[0]),$($_[1]) -StorageTierSizes 25GB,25GB -ResiliencySettingName 'Parity' -FaultDomainAwareness PhysicalDisk -PhysicalDiskRedundancy 1
}

$disks += New-VirtualDisk -FriendlyName "NoTier (default)" -StoragePoolFriendlyName DTAA -Size 50GB
$disks += New-VirtualDisk -FriendlyName "NoTier (pd1-mirror)" -StoragePoolFriendlyName DTAA -Size 50GB -ResiliencySettingName 'Mirror' -FaultDomainAwareness PhysicalDisk -PhysicalDiskRedundancy 1
$disks += New-VirtualDisk -FriendlyName "NoTier (pd2-mirror)" -StoragePoolFriendlyName DTAA -Size 50GB -ResiliencySettingName 'Mirror' -FaultDomainAwareness PhysicalDisk -PhysicalDiskRedundancy 2
$disks += New-VirtualDisk -FriendlyName "NoTier (pd1-parity)" -StoragePoolFriendlyName DTAA -Size 50GB -ResiliencySettingName 'Parity' -FaultDomainAwareness PhysicalDisk -PhysicalDiskRedundancy 1
$disks += New-VirtualDisk -FriendlyName "NoTier (pd2-parity)" -StoragePoolFriendlyName DTAA -Size 50GB -ResiliencySettingName 'Parity' -FaultDomainAwareness PhysicalDisk -PhysicalDiskRedundancy 2

output from script


FriendlyName                         ResiliencySettingName FaultDomainRedundancy OperationalStatus HealthStatus  Size FootprintOnPool StorageEfficiency
------------                         --------------------- --------------------- ----------------- ------------  ---- --------------- -----------------
SSD_Parity1 HDD_Parity1 (default)                                                OK                Healthy      50 GB        72.25 GB            69.20%
SSD_Parity1 HDD_Parity1 (pd2-mirror)                                             OK                Healthy      51 GB       156.75 GB            32.54%
SSD_Parity1 HDD_Parity1 (pd1-mirror)                                             OK                Healthy      50 GB        102.5 GB            48.78%
SSD_Parity1 HDD_Parity1 (pd2-parity)                                             OK                Healthy      50 GB        92.75 GB            53.91%
SSD_Parity1 HDD_Parity1 (pd1-parity)                                             OK                Healthy      50 GB        72.25 GB            69.20%
SSD_Parity2 HDD_Parity2 (default)                                                OK                Healthy      50 GB        92.75 GB            53.91%
SSD_Parity2 HDD_Parity2 (pd2-mirror)                                             OK                Healthy      51 GB       156.75 GB            32.54%
SSD_Parity2 HDD_Parity2 (pd1-mirror)                                             OK                Healthy      50 GB        102.5 GB            48.78%
SSD_Parity2 HDD_Parity2 (pd2-parity)                                             OK                Healthy      50 GB        92.75 GB            53.91%
SSD_Parity2 HDD_Parity2 (pd1-parity)                                             OK                Healthy      50 GB        72.25 GB            69.20%
SSD_Mirror1 HDD_Mirror1 (default)                                                OK                Healthy      50 GB        102.5 GB            48.78%
SSD_Mirror1 HDD_Mirror1 (pd2-mirror)                                             OK                Healthy      51 GB       156.75 GB            32.54%
SSD_Mirror1 HDD_Mirror1 (pd1-mirror)                                             OK                Healthy      50 GB        102.5 GB            48.78%
SSD_Mirror1 HDD_Mirror1 (pd2-parity)                                             OK                Healthy      50 GB        92.75 GB            53.91%
SSD_Mirror1 HDD_Mirror1 (pd1-parity)                                             OK                Healthy      50 GB        72.25 GB            69.20%
SSD_Mirror2 HDD_Mirror2 (default)                                                OK                Healthy      51 GB       156.75 GB            32.54%
SSD_Mirror2 HDD_Mirror2 (pd2-mirror)                                             OK                Healthy      51 GB       156.75 GB            32.54%
SSD_Mirror2 HDD_Mirror2 (pd1-mirror)                                             OK                Healthy      50 GB        102.5 GB            48.78%
SSD_Mirror2 HDD_Mirror2 (pd2-parity)                                             OK                Healthy      50 GB        92.75 GB            53.91%
SSD_Mirror2 HDD_Mirror2 (pd1-parity)                                             OK                Healthy      50 GB        72.25 GB            69.20%
SSD_Mirror1 HDD_Parity2 (default)                                                OK                Healthy      50 GB        93.25 GB            53.62%
SSD_Mirror1 HDD_Parity2 (pd2-mirror)                                             OK                Healthy      51 GB       156.75 GB            32.54%
SSD_Mirror1 HDD_Parity2 (pd1-mirror)                                             OK                Healthy      50 GB        102.5 GB            48.78%
SSD_Mirror1 HDD_Parity2 (pd2-parity)                                             OK                Healthy      50 GB        92.75 GB            53.91%
SSD_Mirror1 HDD_Parity2 (pd1-parity)                                             OK                Healthy      50 GB        72.25 GB            69.20%
NoTier (default)                     Mirror                1                     OK                Healthy      56 GB        114.5 GB            48.91%
NoTier (pd1-mirror)                  Mirror                1                     OK                Healthy      56 GB        114.5 GB            48.91%
NoTier (pd2-mirror)                  Mirror                2                     OK                Healthy      52 GB       159.75 GB            32.55%
NoTier (pd1-parity)                  Parity                1                     OK                Healthy      52 GB         68.5 GB            75.91%
NoTier (pd2-parity)                  Parity                2                     OK                Healthy      56 GB        82.25 GB            68.09%

While this proves that setting the the disk redundancy works in both places I have yet to find out why.

thanks any help would be appreciated.

djdomi avatar
za flag
Requests for product, service, or learning material recommendations are off-topic because they attract low quality, opinionated and spam answers, and the answers become obsolete quickly. Instead, describe the business problem you are working on, the research you have done, and the steps taken so far to solve it.
MrDeanosupreamo avatar
in flag
@djdomi I wanted to understand the interactions between setting disk redundancy from new-virtualdisk and new-storagetier Is this still to close to learning material for this question to exist?
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.