X

[記憶域プールをPowerShellで使いこなす]New-VirtualDisk

New-VirtualDisk

概要

New-VirtualDiskは、物理ディスクを束ねて作成した記憶域プールの上に、仮想ディスクを作成するためのコマンドレットです。

Windows Server 2012 R2以降は、New-Volume で仮想ディスクの作成からボリュームのフォーマットまでを1つのコマンドで実行できるようになりましたので、そちらを利用することが多いかもしれません。

Windows Server 2016のPowerShellで、

Get-help Get-VirtualDisk
 を実行した出力は以下の通りです。
名前
    New-VirtualDisk
    
概要
    Creates a new virtual disk in the specified storage pool.
    
    
構文
    New-VirtualDisk [-StoragePoolFriendlyName] <String[]> [-AllocationUnitSize <UInt64>] [-AutoNumberOfColumns] [-AutoWriteC
    acheSize] [-CimSession <CimSession[]>] [-ColumnIsolation {PhysicalDisk | StorageEnclosure | StorageScaleUnit | StorageCh
    assis | StorageRack}] [-FaultDomainAwareness {PhysicalDisk | StorageEnclosure | StorageScaleUnit | StorageChassis | Stor
    ageRack}] [-Interleave <UInt64>] [-IsEnclosureAware <Boolean>] [-MediaType {HDD | SSD | SCM}] [-NumberOfColumns <UInt16>
    ] [-NumberOfDataCopies <UInt16>] [-NumberOfGroups <UInt16>] [-OtherUsageDescription <String>] [-PhysicalDiskRedundancy <
    UInt16>] [-PhysicalDisksToUse <CimInstance[]>] [-ProvisioningType {Unknown | Thin | Fixed}] [-ReadCacheSize <UInt64>] [-
    ResiliencySettingName <String>] [-Size <UInt64>] [-StorageTiers <CimInstance[]>] [-StorageTierSizes <UInt64[]>] [-Thrott
    leLimit <Int32>] [-Usage {Other | Unrestricted | ReservedForComputerSystem | ReservedForReplicationServices | ReservedFo
    rMigrationServices | LocalReplicaSource | RemoteReplicaSource | LocalReplicaTarget | RemoteReplicaTarget | LocalReplicaS
    ourceOrTarget | RemoteReplicaSourceOrTarget | DeltaReplicaTarget | ElementComponent | ReservedAsPoolContributer | Compos
    iteVolumeMember | CompositeVirtualDiskMember | ReservedForSparing}] [-UseMaximumSize] [-WriteCacheSize <UInt64>] -Friend
    lyName <String> [<CommonParameters>]
    
    New-VirtualDisk [-AllocationUnitSize <UInt64>] [-AutoNumberOfColumns] [-AutoWriteCacheSize] [-CimSession <CimSession[]>]
     [-ColumnIsolation {PhysicalDisk | StorageEnclosure | StorageScaleUnit | StorageChassis | StorageRack}] [-FaultDomainAwa
    reness {PhysicalDisk | StorageEnclosure | StorageScaleUnit | StorageChassis | StorageRack}] [-Interleave <UInt64>] [-IsE
    nclosureAware <Boolean>] [-MediaType {HDD | SSD | SCM}] [-NumberOfColumns <UInt16>] [-NumberOfDataCopies <UInt16>] [-Num
    berOfGroups <UInt16>] [-OtherUsageDescription <String>] [-PhysicalDiskRedundancy <UInt16>] [-PhysicalDisksToUse <CimInst
    ance[]>] [-ProvisioningType {Unknown | Thin | Fixed}] [-ReadCacheSize <UInt64>] [-ResiliencySettingName <String>] [-Size
     <UInt64>] [-StorageTiers <CimInstance[]>] [-StorageTierSizes <UInt64[]>] [-ThrottleLimit <Int32>] [-Usage {Other | Unre
    stricted | ReservedForComputerSystem | ReservedForReplicationServices | ReservedForMigrationServices | LocalReplicaSourc
    e | RemoteReplicaSource | LocalReplicaTarget | RemoteReplicaTarget | LocalReplicaSourceOrTarget | RemoteReplicaSourceOrT
    arget | DeltaReplicaTarget | ElementComponent | ReservedAsPoolContributer | CompositeVolumeMember | CompositeVirtualDisk
    Member | ReservedForSparing}] [-UseMaximumSize] [-WriteCacheSize <UInt64>] -FriendlyName <String> -StoragePoolUniqueId <
    String[]> [<CommonParameters>]
    
    New-VirtualDisk [-AllocationUnitSize <UInt64>] [-AutoNumberOfColumns] [-AutoWriteCacheSize] [-CimSession <CimSession[]>]
     [-ColumnIsolation {PhysicalDisk | StorageEnclosure | StorageScaleUnit | StorageChassis | StorageRack}] [-FaultDomainAwa
    reness {PhysicalDisk | StorageEnclosure | StorageScaleUnit | StorageChassis | StorageRack}] [-Interleave <UInt64>] [-IsE
    nclosureAware <Boolean>] [-MediaType {HDD | SSD | SCM}] [-NumberOfColumns <UInt16>] [-NumberOfDataCopies <UInt16>] [-Num
    berOfGroups <UInt16>] [-OtherUsageDescription <String>] [-PhysicalDiskRedundancy <UInt16>] [-PhysicalDisksToUse <CimInst
    ance[]>] [-ProvisioningType {Unknown | Thin | Fixed}] [-ReadCacheSize <UInt64>] [-ResiliencySettingName <String>] [-Size
     <UInt64>] [-StorageTiers <CimInstance[]>] [-StorageTierSizes <UInt64[]>] [-ThrottleLimit <Int32>] [-Usage {Other | Unre
    stricted | ReservedForComputerSystem | ReservedForReplicationServices | ReservedForMigrationServices | LocalReplicaSourc
    e | RemoteReplicaSource | LocalReplicaTarget | RemoteReplicaTarget | LocalReplicaSourceOrTarget | RemoteReplicaSourceOrT
    arget | DeltaReplicaTarget | ElementComponent | ReservedAsPoolContributer | CompositeVolumeMember | CompositeVirtualDisk
    Member | ReservedForSparing}] [-UseMaximumSize] [-WriteCacheSize <UInt64>] -FriendlyName <String> -StoragePoolName <Stri
    ng[]> [<CommonParameters>]
    
    New-VirtualDisk [-AllocationUnitSize <UInt64>] [-AutoNumberOfColumns] [-AutoWriteCacheSize] [-CimSession <CimSession[]>]
     [-ColumnIsolation {PhysicalDisk | StorageEnclosure | StorageScaleUnit | StorageChassis | StorageRack}] [-FaultDomainAwa
    reness {PhysicalDisk | StorageEnclosure | StorageScaleUnit | StorageChassis | StorageRack}] [-Interleave <UInt64>] [-IsE
    nclosureAware <Boolean>] [-MediaType {HDD | SSD | SCM}] [-NumberOfColumns <UInt16>] [-NumberOfDataCopies <UInt16>] [-Num
    berOfGroups <UInt16>] [-OtherUsageDescription <String>] [-PhysicalDiskRedundancy <UInt16>] [-PhysicalDisksToUse <CimInst
    ance[]>] [-ProvisioningType {Unknown | Thin | Fixed}] [-ReadCacheSize <UInt64>] [-ResiliencySettingName <String>] [-Size
     <UInt64>] [-StorageTiers <CimInstance[]>] [-StorageTierSizes <UInt64[]>] [-ThrottleLimit <Int32>] [-Usage {Other | Unre
    stricted | ReservedForComputerSystem | ReservedForReplicationServices | ReservedForMigrationServices | LocalReplicaSourc
    e | RemoteReplicaSource | LocalReplicaTarget | RemoteReplicaTarget | LocalReplicaSourceOrTarget | RemoteReplicaSourceOrT
    arget | DeltaReplicaTarget | ElementComponent | ReservedAsPoolContributer | CompositeVolumeMember | CompositeVirtualDisk
    Member | ReservedForSparing}] [-UseMaximumSize] [-WriteCacheSize <UInt64>] -FriendlyName <String> [<CommonParameters>]
    
    
説明
    The New-VirtualDisk cmdlet creates a new virtual disk in the specified storage pool.
    

関連するリンク
    Online Version: http://go.microsoft.com/fwlink/?LinkId=816439
    Add-VirtualDiskToMaskingSet 
    Connect-VirtualDisk 
    Disconnect-VirtualDisk 
    Get-StoragePool 
    Get-StorageTier 
    Get-VirtualDisk 
    Hide-VirtualDisk 
    New-MaskingSet 
    Remove-VirtualDisk 
    Repair-VirtualDisk 
    Resize-VirtualDisk 
    Set-VirtualDisk 
    Show-VirtualDisk 

注釈
    例を参照するには、次のように入力してください: "get-help New-VirtualDisk -examples".
    詳細を参照するには、次のように入力してください: "get-help New-VirtualDisk -detailed".
    技術情報を参照するには、次のように入力してください: "get-help New-VirtualDisk -full".
    オンライン ヘルプを参照するには、次のように入力してください: "get-help New-VirtualDisk -online"


New-VirtualDiskの詳細は、MSDNおよびTechNetライブラリのNew-VirtualDiskを参照してください。

Windows Server 2016、Windows 10 New-VirtualDisk
Windows Server 2012 R2、Windows 8.1 New-VirtualDisk
Windows Server 2012、Windows8 New-VirtualDisk

TechNetライブラリのドキュメントは2012 R2までの情報ですが、2016の出力と比較すると、2016にはドキュメントにはない属性が存在しています。

Storage Spaces Direct で追加された機能と属性を調べるには、

Get-help New-VirtualDisk -detail

の出力を参照すると参考になります。

構文例

以下のような形で用いることができます。

例1:デフォルト設定を利用して、100GBの仮想ディスクを作成する
New-VirtualDisk -StoragePoolFriendlyName CompanyData -FriendlyName UserData -Size 100GB

companyDataという名前の記憶域プールの上に、UserDataという名前で100GBの仮想ディスクを作成します。

詳細を指定せずデフォルト設定で作成した場合、回復性タイプなどは記憶域プールで指定されているデフォルトの属性が用いられます。

例2:シンプロビジョニングで双方向ミラーの仮想ディスクを作成する
New-VirtualDisk -StoragePoolFriendlyName CompanyData -FriendlyName DataWarehouse –ResiliencySettingName Mirror -Size 42TB -ProvisioningType Thin

companyDataという名前の記憶域プールの上に、DataWarehouseという名前で42TBの仮想ディスクを作成します。

Thinプロビジョニングで、回復性タイプはミラーを指定しています。

例3:3方向ミラーの仮想ディスクを作成する
New-VirtualDisk -StoragePoolFriendlyName CompanyData -FriendlyName BusinessCritical -ResiliencySettingName Mirror -NumberOfDataCopies 3 -Size 42TB -ProvisioningType Thin

回復性タイプはミラーで、NumberofDataCopiesを3に指定することで3方向ミラーの仮想ディスクが作成できます。

回復性タイプをパリティにし、NumberofDataCopiesを2に指定するとデュアルパリティが作成できます。

例4:列の数を指定して仮想ディスクを作成する
New-VirtualDisk -StoragePoolFriendlyName CompanyData -FriendlyName BusinessCritical -ResiliencySettingName Mirror - -Size 42TB -ProvisioningType Thin -NumberOfColumns 2

NumberofColumnsの値を指定することで、列の数を指定して仮想ディスクを作成することができます。

例5:記憶域階層を用いて仮想ディスクを作成する
$SSD = Get-StorageTier -FriendlyName *SSD*
$HDD = Get-StorageTier -FriendlyName *HDD*
Get-StoragePool CompanyData | New-VirtualDisk -FriendlyName "UserData01" -ResiliencySettingName "Mirror" –StorageTiers $SSD, $HDD -StorageTierSizes 8GB, 32GB

あらかじめ作成した、それぞれSSDとHDDという名前の記憶域階層を用いて、仮想ディスクを作成します。
(記憶域階層を作成するには、New-StorageTierを用います)

あらかじめ、変数に記憶域階層をセットします。ここでは$SSDという変数にSSDというフレンドリー名の記憶域階層を、同じく$HDDという変数にHDDというフレンドリー名の記憶域階層を指定しています。

記憶域階層を利用する場合、StorageTiers属性に、高速階層と標準階層の順に用いる記憶域階層を変数を用いて指定します。高速階層に$SSDを、標準階層に$HDDを指定しています。

記憶域階層のサイズも同様に、高速階層と標準階層の順にサイズを指定します。

Windows Server 2016で拡張された属性

2016では、記憶域スペースダイレクト(Storage Spaces Direct、S2D)や、NVDIMMのサポートなどにより、拡張されています。

-ColumnIsolation

記憶域スペースダイレクトでは、列(Column)をどの単位で独立させるか指定することができます。ただし、通常はデフォルトでの利用が推奨されています。

— PhysicalDisk
— StorageScaleUnit
— StorageChassis
— StorageEnclosure
— StorageRack

-MediaType

NVDIMMのサポートにより、SCMが追加されています。

— SSD
— SCM
— HDD

-NumberOfGroups

デュアルパリティスペースを作成する場合、デュアルパリティで用いるイレージャーコーディングではLRC(Local Reconstruction Coding)のグループ数をデフォルトの2以外にも指定することができます。ただし、通常はデフォルトでの利用が推奨されています。

記憶域スペースを管理するPowerShellのCmdletに、その他にも主なコマンドレットの一覧を掲載しています。

ださっち: