How to PROPERLY adjust storage space size (maximum) after adding drive

Page 2 of 2 FirstFirst 12

  1. Posts : 913
    CP/M
       #11

    Gonzo said:
    my QNAP JBOD app had a link to Storage Spaces
    If you want to try it, use the following commands to create your own storage space:

    Code:
    $PhysicalDisks = Get-StorageSubSystem -FriendlyName "Windows Storage*" | Get-PhysicalDisk -CanPool $True
    New-StoragePool -FriendlyName "QNAP StoragePool" -StorageSubsystemFriendlyName "Windows Storage*" -PhysicalDisks $PhysicalDisks
    Update-StoragePool -FriendlyName "QNAP StoragePool" -Confirm:$False
    
    $VirtualDiskSize=Get-VirtualDiskSupportedSize -StoragePoolFriendlyName "QNAP StoragePool" -ResiliencySettingName Simple
    New-VirtualDisk -StoragePoolFriendlyName "QNAP StoragePool" -FriendlyName "QNAP VirtualDisk" -Size $VirtualDiskSize.VirtualDiskSizeMax -ProvisioningType Thin  -ResiliencySettingName "Simple" -NumberOfColumns 8
    
    Initialize-Disk -VirtualDisk (Get-VirtualDisk -FriendlyName "QNAP VirtualDisk") -passthru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -NewFileSystemLabel "QNAP Volume" -FileSystem NTFS -Confirm:$false -ClusterSize (32KB)

    Hope parameters are correctly set for your needs:
    -ResiliencySettingName Simple ... no redundancy used
    -NumberOfColumns 8 ... optimized for speed, use 1 for JBOD-like speed
    -ClusterSize (32KB) ... you can use 64KB if you plan to add more disks.
    Last edited by muchomurka; 07 Jun 2020 at 16:13.
      My Computer


  2. Posts : 8
    Windows 10 Pro
       #12

    Thanks for the new procedure! I think I'll give this a try in the next couple of days just to see how it works and learn something new. Why did you specify "-ProvisioningType Thin" instead of Fixed?

      My Computer


  3. Posts : 913
    CP/M
       #13

    Gonzo said:
    Thanks for the new procedure! I think I'll give this a try in the next couple of days just to see how it works and learn something new.
    You're welcome. Please let us to know whether you achieve success. And try to understand what the commands do, powershell is very powerful and valuable tool; it can be useful in the future as your administrator's skill.

    Why did you specify "-ProvisioningType Thin" instead of Fixed?
    I did some re-testing and found out that "-ProvisioningType Fixed" blocks possibility to extend virtualdisk & volume after adding more physical disks to the pool.

    Correction: Because I wrongly calculated new size for virtualdisk extension; Get-VirtualDiskSupportedSize command returns some weird values different than I expect. Storage spaces creation works ok, I am still working on method how to extend it.

    Update: Resolved, see post #16.
    Last edited by muchomurka; 08 Jun 2020 at 22:09.
      My Computer


  4. Posts : 8
    Windows 10 Pro
       #14

    I usually thought of thin provisioning as something like the "auto extend" setting on a database table. Instead of running out of storage and crashing the app, thin provisioning will add storage space as needed to the volume. Of course, your pool must have the unallocated space available for thin provisioning to make sense. In my case, my disk array has a physical limit of 8 disks, and I'm going to allocate all space so there really isn't anything left for thin provisioning to work with....
      My Computer


  5. Posts : 913
    CP/M
       #15

    Thin provisioning - Wikipedia
    So something like set-size-past-the-physical-limits. Useful if you have several virtual disks in one pool - their declared sizes (not exhausted yet) can be much greater than the real pool size.
    Last edited by muchomurka; 08 Jun 2020 at 03:19.
      My Computer


  6. Posts : 913
    CP/M
       #16

    To overcome many limitations of Storage Spaces applet in Control Panel (size limit, missing parameters etc), Powershell procedures must be used instead. Here they are:

    How to create new Storage Space with Simple resiliency (no redundancy)
    The safest parameters (cluster size, number of columns, provisioning) are used. Only advanced users should change them.
    Code:
    $pool="DataPool"
    $vdisk="DataVirtualdisk"
    $volu="DataVolume"
    $provis="Fixed"
    $colu=1
    $clus=64KB
    
    # Do not change these lines
    $stor="Windows Storage*"
    $resil="Simple"
    
    $Harddisks = Get-PhysicalDisk -CanPool $True
    New-StoragePool -FriendlyName $pool -StorageSubsystemFriendlyName $stor -PhysicalDisks $Harddisks
    Update-StoragePool -FriendlyName $pool -Confirm:$False
    
    $VirtualDiskSize=Get-VirtualDiskSupportedSize -StoragePoolFriendlyName $pool -ResiliencySettingName $Resil
    New-VirtualDisk -StoragePoolFriendlyName $pool -FriendlyName $vdisk -Size $VirtualDiskSize.VirtualDiskSizeMax -ProvisioningType $provis  -ResiliencySettingName $resil -NumberOfColumns $colu
    
    Initialize-Disk -VirtualDisk (Get-VirtualDisk -FriendlyName $vdisk) -passthru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -NewFileSystemLabel $volu -FileSystem NTFS -Confirm:$false -ClusterSize ($clus)

    How to extend existing Storage Space with Simple resiliency (no redundancy)
    Number of disks added must correspond with number of columns.
    Code:
    $pool="DataPool"
    $vdisk="DataVirtualdisk"
    
    # Do not change these lines
    $stor="Windows Storage*"
    $temppoolname="Dummy"
    
    $Tempdisks = Get-PhysicalDisk -CanPool $True
    New-StoragePool -FriendlyName $temppoolname -StorageSubsystemFriendlyName $stor -PhysicalDisks $Tempdisks
    Update-StoragePool -FriendlyName $temppoolname -Confirm:$False
    $resil = (Get-VirtualDisk $vdisk).ResiliencySettingName
    $AddedDiskSize=Get-VirtualDiskSupportedSize -StoragePoolFriendlyName $temppoolname -ResiliencySettingName $resil
    Remove-StoragePool -FriendlyName $temppoolname -Confirm:$False
    
    $Newdisks = Get-PhysicalDisk -CanPool $True
    Add-PhysicalDisk -StoragePoolFriendlyName $pool -PhysicalDisks $Newdisks
    
    $Virtualdiskresize =  ($AddedDiskSize).VirtualDiskSizeMax + (Get-VirtualDisk $vdisk).Size
    Resize-VirtualDisk -FriendlyName $vdisk -Size ($Virtualdiskresize)
    
    $VirtualDisk = Get-VirtualDisk $vdisk
    $Partition = $VirtualDisk | Get-Disk | Get-Partition | Where PartitionNumber -Eq 2
    $Partition | Resize-Partition -Size ($Partition | Get-PartitionSupportedSize).SizeMax

    Regarding Mirror & Parity procedures... maybe next time.
      My Computer


 
Page 2 of 2 FirstFirst 12

  Related Discussions
Our Sites
Site Links
About Us
Windows 10 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 10" and related materials are trademarks of Microsoft Corp.

Designer Media Ltd
All times are GMT -5. The time now is 03:20.
Find Us




Windows 10 Forums