Azure Stack HCI で固定ボリュームからシン プロビジョニング ボリュームに変換する
適用対象: Azure Stack HCI バージョン 22H2
この記事では、Windows PowerShellを使用して、既存の固定プロビジョニング ボリュームを Azure Stack HCI クラスター上のインラインでシン プロビジョニング ボリュームに変換する方法について説明します。
固定プロビジョニングとシン プロビジョニング
固定プロビジョニングでは、作成時に記憶域プールからボリュームのフル サイズが割り当てられます。 この方法は、ボリュームが空であるにもかかわらず記憶域プールのリソースの一部が使い果たされるため、非効率的です。
固定ボリュームからシン プロビジョニング ボリュームに変換すると、未使用のストレージがプールに戻され、他のボリュームが利用できるようになります。 データがボリュームに追加または削除されると、それに応じてストレージ割り当てが増減します。
PowerShell を使用してボリュームを変換する
PowerShell を使用して、次のように固定プロビジョニングからシン プロビジョニングに変換します。
PowerShell を管理者として実行します。
ボリュームの割り当てられたサイズ、サイズ、プロビジョニングの種類を確認します。
階層化されていないボリュームの場合は、次のコマンドを実行します。
Get-VirtualDisk -FriendlyName <volume_name> | FL AllocatedSize, Size, ProvisioningType
前のコマンドの出力例を次に示します。
PS C:\> New-Volume -FriendlyName NonTierVol -Size 5TB -ProvisioningType Fixed DriveLetter FriendlyName FileSystemType DriveType HealthStatus OperationalStatus ----------- ------------ -------------- --------- ------------ ----------------- NonTierVol CSVFS_ReFS Fixed Healthy OK PS C:\> Get-VirtualDisk -FriendlyName NonTierVol | FL AllocatedSize, Size, ProvisioningType Allocated Size : 5497558138880 Size : 5497558138880 ProvisioningType : Fixed
階層化ボリュームの場合は、次のコマンドを実行します。
Get-StorageTier -FriendlyName <volume_name*> | FL AllocatedSize, Size, ProvisioningType
前のコマンドの出力例を次に示します。
PS C:\> Get-StorageTier -FriendlyName TierVol* | FL AllocatedSize, Size, ProvisioningType AllocatedSize : 80530636800 Size : 80530636800 ProvisioningType : Fixed AllocatedSize : 26843545600 Size : 26843545600 ProvisioningType : Fixed
次のように、ボリュームを固定プロビジョニングからシン プロビジョニングに変換します。
階層化されていないボリュームの場合は、次のコマンドを実行します。
Set-VirtualDisk -FriendlyName <volume_name> -ProvisioningType Thin
階層化ボリュームの場合は、次のコマンドを実行します。
Get-StorageTier <volume_name*> | Set-StorageTier -ProvisioningType Thin
変更を有効にするためにボリュームを再マウントします。 回復性ファイル システム (ReFS) では、マウント時にプロビジョニングの種類のみが認識されるため、再マウントが必要です。
単一サーバー クラスターの場合は、次の手順を実行します。 ワークロードに若干の中断が発生する場合があります。メンテナンス時間中にこの操作を行うことをお勧めします。
クラスター共有ボリューム (CSV) 名を取得します。
Get-ClusterSharedVolume
次に、ボリュームをオフラインにします。
Stop-ClusterResource -Name <name>
前のコマンドの出力例を次に示します。
PS C:\> Stop-ClusterResource -Name "Cluster Virtual Disk (TierVol)" Name State Node ---- ----- ---- Cluster Virtual Disk (TierVol) Offline NodeA
次に、ボリュームをオンラインに戻します。
Start-ClusterResource -Name <name>
2 ノード以上のクラスターの場合は、次の操作を行います。
CSV 名とノード名を取得します。
Get-ClusterSharedVolume
次に、CSV を別のノードに移動して、ボリュームを再マウントします。
Move-ClusterSharedVolume -Name <name> -Node <new_node>
前のコマンドの出力例を次に示します。
PS C:\> Get-ClusterSharedVolume Name State Node ---- ----- ---- Cluster Virtual Disk (NonTierVol) Online NodeA Cluster Virtual Disk (TierVol) Online NodeB PS C:\> Move-ClusterSharedVolume -Name "Cluster Virtual Disk (TierVol)" -Node NodeA Name State Node ---- ----- ---- Cluster Virtual Disk (TierVol) Online NodeA
次に、CSV を元のノードに戻します。
Move-ClusterSharedVolume -Name <name> -Node <original_node>
(省略可能)固定後のスペース再利用は、時間の経過と同時に自然に発生します。 プロセスを高速化するには、次のコマンドを使用して、ボリュームが存在するノードからスラブ統合を実行します。
Get-Volume -FriendlyName <name> | Optimize-Volume -SlabConsolidate
Note
スラブ統合は、既定で優先度が低い状態で実行されます。 スラブの統合を迅速に完了し、フォアグラウンド I/O への影響が小さい場合は、 パラメーターを指定して上記のコマンドを
-NormalPriority
実行します。が に
Thin
設定され、AllocatedSize
ボリューム サイズ (Size
) より小さいことをProvisioningType
確認します。階層化されていないボリュームの場合は、次のコマンドを実行します。
Get-VirtualDisk -FriendlyName <volume_name> | FL AllocatedSize, Size, ProvisioningType
階層化ボリュームの場合は、次のコマンドを実行します。
Get-StorageTier -FriendlyName <volume_name*> | FL AllocatedSize, Size, ProvisioningType
次の手順
ストレージ シン プロビジョニングの詳細については、こちらを参照してください。