Windows 10 の発売まであと残すところあと10日ほどとなりました。RTMビルドと噂される10240もWindows Insider向けに配信され、ほぼWindows 10の完成形がみえてきました。Windows 10で記憶域スペース/記憶域プールはどうなるのか少しまとめてみます。
Windows 8.1で利用できた機能はそのまま踏襲。
結論からいってしまうと、Windows 8.1で利用できた記憶域スペースの機能はWindows 10でもそのまま利用できます。Windows 8.1からGUI上の大きな変更点などもありません。
新たに記憶域プールに属する物理ディスク間の、ディスク使用量の最適化が可能に
Windows 8.1/Windows Server 2012 R2 までは、記憶域プールに属する特定の物理ディスクの領域使用率が上限に近づいた場合に、別の新たなディスクを追加してもすでにディスクに配置されているチャンクは追加されたディスクに移動させることはできませんでした。
これは、実際に利用していくと多くの利用者が直面する欠点でした。
参考:[FAQ:記憶域スペース]HDD毎に異なる使用率をバランシングできないのか
記憶域プールのディスク容量に対するアラームの閾値を変更する
Optimize-StoragePool コマンドによる最適化
たとえば、列の数2の双方向ミラーを例に以下のようなケースを考えます。
2TB×4台の物理ディスクから4TBの仮想ディスクを作成していますが、まだ2TBしか保存していないのに、物理ディスクの使用効率が80%に達してしまっています。
ここに、2TB×4台の物理ディスクを追加しましたが、もともと存在していた物理ディスクの利用率はこのままではならされることはなく、以下のように新しいディスクと古いディスクの使用率がアンバランスな状態になります。
新たに追加した物理ディスクの領域を使用して、物理ディスクの使用率を平準化したい場合、PowerShellを管理者権限で起動し、Optimize-StoragePoolコマンドを実行します。
Optimize-StoragePool -FriendlyName “記憶域プールの名称”
この処理ではディスク間で実際にデータを移動させるため、データ容量が多い場合はジョブの完了までにかなりの時間を要します。この場合、-Asjob オプションをつけて実行すると、ジョブが動作している間もPowerShellコンソールで他の処理を行うことができて便利です。
Optimize-StoragePool -FriendlyName “記憶域プールの名称” –Asjob
-AsJobをつけた場合、ジョブの進捗は、Get-StorageJobで確認できます。
Get-StorageJob
完了すると、以下のようにすべての物理ディスクの使用率がならされました。
このOptimize-StoragePoolコマンドレットは、TechNetではStorage Space Direct関連のコンテンツ(Storage Spaces Direct in Windows Server Technical Preview)の中で解説されています。しかし、Storage Space Directだけでなく、従来の記憶域プールに対してもこのコマンドレットを用いて最適化することができます。
バージョンの古い記憶域プールはプールのバージョンアップで最適化が可能
Windows 10 に、Windows 8.1で作成されVersionが”Windows Server 2012 R2″の記憶域プールを接続したところ、最適化はできないようです。これまでWindows 8.1やそれ以前のOSで記憶域プールを利用していた方は、Windows 10に記憶域プールを接続したのちに、プールのバージョンアップで最適化の恩恵にあずかることができそうです。ただし、プールのバージョンをアップすると、Windows 10以前のOSではプールを認識しなくなりますので注意が必要です。
Windows 10/ Windows Server 2016で記憶域スペースは完成に近くなってきた
記憶域スペースはSDS(Software Defined Storage)としてかなり完成の域に近づいてきた印象です。
未だにディスクの属性の変更など、従来同様にGUIからは完結せず、PowerShellを利用する必要があるものがいくつかあります。
しかしこれは記憶域スペースに限った話ではなく、Microsoftの最近の製品デザインの傾向でもありますので致し方ない面かもしれません。こういった点はまだまだ今後改善を求めていきたいところですが、Optimize-StoragePoolなど細かい使い勝手も向上してきました。
パワーユーザーは是非記憶域スペースを使ってWindowsでファイルサーバーを構築してはいかがでしょうか。
[参考]Windows 10で新たに追加になったStorage関連のCmdlet
Windows 10、Windows Server 2016 TP2では、Windows Server 2012 R2と比較して、Storage関連のCmdletは108個からOptimize-StoragePoolも含めて140個に増えています。増えたCmdletは以下の通りです。
Storage Space Directでクラスターを構成し、SOFSを構築することが可能になったことから、ノードに関する処理が可能になるなどいくつかのFunctionが追加となっています。
Block-FileShareAccess
Clear-StorageDiagnosticInfo
Debug-FileShare
Debug-StorageSubSystem
Disable-PhysicalDiskIdentification
Disable-StorageDiagnosticLog
Enable-PhysicalDiskIdentification
Enable-StorageDiagnosticLog
Get-DedupProperties
Get-DiskSNV
Get-DiskStorageNodeView
Get-FileShare
Get-FileShareAccessControlEntry
Get-StorageAdvancedProperty
Get-StorageDiagnosticInfo
Get-StorageEnclosureSNV
Get-StorageEnclosureStorageNodeView
Get-StorageFaultDomain
Get-StorageFileServer
Grant-FileShareAccess
New-FileShare
New-StorageFileServer
Optimize-StoragePool
Remove-FileShare
Remove-StorageFileServer
Revoke-FileShareAccess
Set-FileShare
Set-StorageFileServer
Start-StorageDiagnosticLog
Stop-StorageDiagnosticLog
Stop-StorageJob
Unblock-FileShareAccess