Server 2016-Storage Spaces: Setup Different Number of Columns per Tier?

Discussion in 'Windows Server, Hyper-V Virtualization' started by DieHarke, Apr 30, 2017.

  1. DieHarke

    DieHarke New Member

    Joined:
    Mar 16, 2017
    Messages:
    19
    Likes Received:
    0
    Hello guys I have the following problem:

    I have setup a storage pool with 6x8TB HDDs and 3x256GB SSDs. I managed to create a tiered parity space with the following commands:

    Code:
    # paramter section
    $spName = "StoragePool0"
    $vdName = "VirtualDisk0"
    $cols_ssdTier = 3    # how to incorporate those value?
    $cols_hddTier = 6    # how to incorporate those value?
    $s_ssdTier = 350GB   # maximum possible size
    $s_hddTier = 29700GB # maximum possible size
    $s_WBC = 50GB        # maximum possible size accorsinf to above sizes
    
    # create storage tiers
    $ssdTier = New-StorageTier -StoragePoolFriendlyName $spName -FriendlyName "SSD_Tier" -MediaType SSD
    $hddTier = New-StorageTier -StoragePoolFriendlyName $spName -FriendlyName "HDD_Tier" -MediaType HDD
    
    # create and initialize the virtual disk
    Get-StoragePool $spName | New-VirtualDisk -FriendlyName $vdName -StorageTiers $ssdTier, $hddTier -StorageTierSizes $s_ssdTier, $s_hddTier -ResiliencySettingName "Parity" -WriteCacheSize $s_WBC
    Initialize-Disk -VirtualDisk (Get-VirtualDisk -FriendlyName $vdName)
    
    The problem is that the maximum available is only around 30TB. I think storage spaces is setting up both tiers with a column size of three, so that I loose the capacity for two HDDs.
    The real capacity for the six 8TB HDDs is around 7.28 for each, wich will give us the following numbers:
    • 6 columns (loose one disk): 5 * 7.28TB = 36.4TB
    • 3 columns (loose two disks): 4 * 7.28TB = 29.12TB -> exactly what storage spaces is showing
    My question is now how to setup the correct number of columns?
    @cesmith9999: I have read on your posts that different column sizes are possible in Server 2016 now and that you are using such kind of configuration already. So could you maybe help me please?

    Best regards
    DieHarke
     
    #1
    Last edited: Apr 30, 2017
  2. Jetlag

    Jetlag New Member

    Joined:
    Jun 7, 2016
    Messages:
    17
    Likes Received:
    4
    Move the resiliency settings to the New-StorageTier lines. You can even mirror the SSDs if you want.

    Code:
    # paramter section
    $spName = "StoragePool0"
    $vdName = "VirtualDisk0"
    $cols_ssdTier = 3    # how to incorporate those value?
    $cols_hddTier = 6    # how to incorporate those value?
    $s_ssdTier = 350GB   # maximum possible size
    $s_hddTier = 29700GB # maximum possible size
    $s_WBC = 50GB        # maximum possible size accorsinf to above sizes
    
    # create storage tiers
    $ssdTier = New-StorageTier -StoragePoolFriendlyName $spName -FriendlyName "SSD_Tier" -MediaType SSD -ResiliencySettingName "Parity" -NumberofColumns $cols_ssdTier
    $hddTier = New-StorageTier -StoragePoolFriendlyName $spName -FriendlyName "HDD_Tier" -MediaType HDD -ResiliencySettingName "Parity" -NumberofColumns $cols_hddTier
    
    # create and initialize the virtual disk
    Get-StoragePool $spName | New-VirtualDisk -FriendlyName $vdName -StorageTiers $ssdTier, $hddTier -StorageTierSizes $s_ssdTier, $s_hddTier -WriteCacheSize $s_WBC
    Initialize-Disk -VirtualDisk (Get-VirtualDisk -FriendlyName $vdName)
    
     
    #2
    Last edited: Apr 30, 2017
  3. DieHarke

    DieHarke New Member

    Joined:
    Mar 16, 2017
    Messages:
    19
    Likes Received:
    0
    Thanks for your fast answer. The commands for creating the storage tiers seems to work. When I look into their parameters I can see the correct column sizes. But sadly the command New-VirtualDisk is returning the error, which give not really meaningful information. Surprisingly the error is not thrown immediately. The cmdlet is running a short time.

    Code:
    New-VirtualDisk : Invalid Parameter
    Activity ID: {3a0b5e53-856f-498b-9225-f6e55491d27f}
    In C:\Users\Administrator\Desktop\ccreateStorageSpace.ps1:17 Zeichen:27
    + ... l $spName | New-VirtualDisk -FriendlyName $vdName -StorageTiers $ssdT ...
    +                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidArgument: (StorageWMI:ROOT/Microsoft/...SFT_StoragePool) [New-VirtualDisk], CimEx
       ception
        + FullyQualifiedErrorId : StorageWMI 5,New-VirtualDisk
    
    I also tested your commands you have posted in the other thread about how to configure a parity and mirror tier, which gave me a similar error.
     
    #3
    Last edited: Apr 30, 2017
  4. Jetlag

    Jetlag New Member

    Joined:
    Jun 7, 2016
    Messages:
    17
    Likes Received:
    4
    I guess the fast tier has to be a mirror?

    Code:
    # paramter section
    $spName = "StoragePool0"
    $vdName = "VirtualDisk0"
    $cols_hddTier = 6    # how to incorporate those value?
    $s_ssdTier = 350GB   # maximum possible size
    $s_hddTier = 29700GB # maximum possible size
    $s_WBC = 50GB        # maximum possible size accorsinf to above sizes
    
    # create storage tiers
    $ssdTier = New-StorageTier -StoragePoolFriendlyName $spName -FriendlyName "SSD_Tier" -MediaType SSD -ResiliencySettingName "Mirror"
    $hddTier = New-StorageTier -StoragePoolFriendlyName $spName -FriendlyName "HDD_Tier" -MediaType HDD -ResiliencySettingName "Parity" -NumberofColumns $cols_hddTier
    
    # create and initialize the virtual disk
    Get-StoragePool $spName | New-VirtualDisk -FriendlyName $vdName -StorageTiers $ssdTier, $hddTier -StorageTierSizes $s_ssdTier, $s_hddTier -WriteCacheSize $s_WBC
    Initialize-Disk -VirtualDisk (Get-VirtualDisk -FriendlyName $vdName)
    
     
    #4
    Bill Leuze likes this.
  5. DieHarke

    DieHarke New Member

    Joined:
    Mar 16, 2017
    Messages:
    19
    Likes Received:
    0
    Okay I have tested to setup a SSD mirror tier and a HDD parity tier. And what should I say it's actually working ;)! I tested it with 2 SSDs (kind of raid 1) and 4 SSDs (kind of raid 10) and in both cases it is setting up the tiers correctly. Now I'm struggling to use either 2 SSDs or 4 SSDs ...

    But thank you very much!
     
    #5
  6. Connorise

    Connorise Member

    Joined:
    Mar 2, 2017
    Messages:
    45
    Likes Received:
    10
    Thanks for sharing this one.
     
    #6
  7. Bill Leuze

    Bill Leuze New Member

    Joined:
    Mar 8, 2018
    Messages:
    3
    Likes Received:
    0
    Thanks for this thread. I struggled for quite a while and was finally able to get my New-VirtualDisk to run by following your and JetLag's examples.

    The biggest difference between your setup and mine is that I have just 3 SSDs which means one is wasted in the required mirror setup - so I will likely be buying a 4rth SSD. I am curious about your "4 SSDs (kind of raid 10) " comment. So how do I use -NumberOfColumns to get the (kind of raid 10) performance with 4 SSDs? I basically have 2 choices, use 1 column or 2, and I am guessing one option will give me a plain mirror, and the other will give me a sort of striped mirror (kind of raid 10), but I am not clear which option makes which. Can anyone help with this?
     
    #7
    Last edited: Mar 8, 2018
  8. Bill Leuze

    Bill Leuze New Member

    Joined:
    Mar 8, 2018
    Messages:
    3
    Likes Received:
    0
    I found the answer here: https://social.technet.microsoft.co...ow_does_Storage_Spaces_decide_how_many_to_use.

    4 disk mirrir with 1 column is mirror only (like RAID 1)
    4 disk mirror with 2 columns is stripe of mirrors (like RAID 10)

    From above linked wiki article:
    Example 3: A Two-Column Two-Way Mirror Space
    Another example is a two-column two-way mirror space. Mirror spaces add a layer of data copies below the stripe, which means that a two-way mirror space duplicates each individual column's data onto two disks.

    For the first stripe of data in this example, Storage Spaces writes 256 KB of data to the first column, which is written in duplicate to the first two disks. For the second column of data, Storage Spaces writes 256 KB of data to the second column, which is written in duplicate to the next two disks.
     
    #8
  9. Bill Leuze

    Bill Leuze New Member

    Joined:
    Mar 8, 2018
    Messages:
    3
    Likes Received:
    0
    I also learned this is not true, one SSD is not wasted. I guess this mirror is not like a true RAID 1 because, with the 3 disks of 447 GB each, in a 1 column mirror storage tier, I get 670 GB of storage space. A true RAID 1 would use just 2 disks and I would only have 447 GB useable space. But storage spaces rotates the stripes amongst all three disks giving me 1.5 times the size I would with straight RAID 1
     
    #9
  10. Jahan

    Jahan New Member

    Joined:
    Mar 18, 2018
    Messages:
    1
    Likes Received:
    0
    As far as I understand, both SSD and HDD tier should have same number of columns, but can be of different resiliency.

    Create Tiers

    $PerformanceMirrorTier = New-StorageTier -FriendlyName PerformanceMirror -MediaType SSD -StoragePoolFriendlyName $StoragePoolName -ResiliencySettingName Mirror -PhysicalDiskRedundancy 1 -NumberOfDataCopies 2 -NumberOfColumns 3

    $CapacityMirrorTier = New-StorageTier -FriendlyName CapacityMirror -MediaType HDD -StoragePoolFriendlyName $StoragePoolName -ResiliencySettingName Mirror -PhysicalDiskRedundancy 1 -NumberOfDataCopies 2 -NumberOfColumns 3

    $CapacityParityTier = New-StorageTier -FriendlyName CapacityParity -MediaType HDD -StoragePoolFriendlyName $StoragePoolName -ResiliencySettingName Parity -PhysicalDiskRedundancy 1 -NumberOfDataCopies 1 -NumberOfColumns 3

    $PerformanceParityTier = New-StorageTier -FriendlyName PerformanceParity -MediaType SSD -StoragePoolFriendlyName $StoragePoolName -ResiliencySettingName Parity -PhysicalDiskRedundancy 1 -NumberOfDataCopies 1

    Create Volume

    $VolumeName = 'Master'

    New-VirtualDisk -StoragePoolFriendlyName $StoragePoolName -FriendlyName $VolumeName -StorageTiers @($PerformanceParityTier,$CapacityParityTier) -StorageTierSizes 440GB, 9600GB -WriteCacheSize 4GB
     
    #10
  11. Connorise

    Connorise Member

    Joined:
    Mar 2, 2017
    Messages:
    45
    Likes Received:
    10
    >4 disk mirrir with 1 column is mirror only (like RAID 1)
    4 disk mirror with 2 columns is stripe of mirrors (like RAID 10)

    This is true, the thing is that S2D basically stripes the data across the disks thus provides the 1.5 usable rather than 1x.
     
    #11
Similar Threads: Server 2016-Storage
Forum Title Date
Windows Server, Hyper-V Virtualization Connectivity to a server on Hyper V which has a different VLAN May 16, 2018
Windows Server, Hyper-V Virtualization Question on Installing Win Server 2016 on RAID 1 Volume Apr 30, 2018
Windows Server, Hyper-V Virtualization Server 2016 Hyper-V Host with Linux iSCSI Target Mar 22, 2018
Windows Server, Hyper-V Virtualization New version of Windows Server Mar 20, 2018
Windows Server, Hyper-V Virtualization File server Windows Essentials 2016 Mar 17, 2018

Share This Page