[FAQ:記憶域スペース]HDD毎に異なる使用率をバランシングできないのか

記憶域スペース

記憶域スペースの物理ディスクの使い方

記憶域スペースでは、複数のディスクを束ねて1つの物理ディスクであるかのように取扱うことができます。記憶域プールへのデータの書き込みは、列の数(NumberofColumns)と回復性のタイプ(シンプル、双方向ミラー、3方向ミラー、パリティ、デュアルパリティ)により決定されるデータの複製数(NumberofDatacopies)を乗じた数の物理ディスクに跨ってストライピングされることとなります。

参考:記憶域スペースに関する理解を深める(パラメーター設定と振る舞い):(2)

記憶域スペースでは物理ディスクの使用率は平準化されない=同じサイズのディスクを接続するのが最も使用効率が高い

ディスクにはディスクIO毎に、同じサイズのデータが書き込まれていくこととなりますので、記憶域プールに接続されている物理ディスクの物理容量が異なっていた場合、各物理ディスクの使用率は当然異なる形となります。例えば、4台の物理ディスクに500GBずつデータが書き込まれたとすると、2TBの物理ディスクでは使用率25%、1TBのディスクでは使用率50%となります。

かつてWindows Home Serverで(WHSv1)採用されていたDrive Extender(DE)のように、ディスクの使用率を平準化するような物理ディスクの使い方をする仕様にはなっていません。また、プール内のいずれかの物理ディスクの使用率が閾値を超えると警告が表示され、どれか1つの物理ディスクの使用率が100%に達すると、プール全体がオフラインとなります。

参考:記憶域プールのディスク容量に対するアラームの閾値を変更する

この点を鑑みると、記憶域スペースに接続される物理ディスクは全て同じ物理容量のディスクとすることが、最も使用効率を高めることになります。

記憶域プールの特性を理解し、列の数(NumberofColumns)と回復性のタイプ(シンプル、双方向ミラー、3方向ミラー、パリティ、デュアルパリティ)により決定されるデータの複製数(NumberofDatacopies)、その他のパラメーターを考慮しながら事前に設計をしておく必要があります。

領域を増やす場合は(列の数×データの複製数)台のディスク増設が基本

記憶域プールの空き領域が少なくなってきた場合、物理ディスクを追加する必要があります。仮想ディスク(記憶域スペース)がシンプロビジョニングで作成されている場合、物理ディスクの増設により仮想ディスクに対してデータを更に保存することができるようになります。

この場合のディスク増設は、(列の数×データの複製数)台をセットで追加していく必要があります。ディスクIOを(列の数×データの複製数)台のディスクにストライピングしていくからです。

Windows Server 2012 R2から導入された並行リビルドを考慮すると、(列の数×データの複製数)台に加えて1~2台多い物理ディスクを備えておくのもよい設計になるでしょう。

参考:記憶域階層における並行リビルドが動作する条件

ディスクの使用率を平準化する方法はないのか?

記憶域プールでは、ディスク使用率のRebalancing のような概念はありません。従って、どうしてもディスク使用率の偏りをならす必要がある場合、かなりの手間を要す上に、必ずしも完全にならすことはできません。

具体的には、記憶域スペースで記憶域プールから物理HDDを取り外す場合の対処方法で説明した、「HDDは正常だが、他のHDDと入れ替えたい場合」の手順を活用します。なお、以下の手順は、回復性のタイプがシンプルの場合は実行出来ません。

現在、以下のような状態にあると仮定します。

2way-mirror, NumberofColumns=2
       
  Size Usage   rate
#1 500GB 500GB 100%
#2 1TB 500GB 50%
#3 1TB 500GB 50%
#4 1TB 500GB 50%

 

並行リビルドが無効な場合

Windows Server 2012、あるいは2012 R2以降で並行リビルドが無効な場合は、以下のようになります。

  1. 新しい1TBの物理ディスクをプールに追加する
  2. #1の物理ディスクのUsage属性を[Retired]に変更する
      Size Usage Usage rate
    #1 500GB 500GB 100% >Retired
    #2 1TB 500GB 50%  
    #3 1TB 500GB 50%  
    #4 1TB 500GB 50%  
    #5 1TB 0 0%  
  3. 記憶域の修復を実行することで、#1に割り当てられていたスラブが#5のディスクに割り当てられます。
      Size Usage Usage rate
    #1 500GB 0 0% >Retired
    #2 1TB 500GB 50%  
    #3 1TB 500GB 50%  
    #4 1TB 500GB 50%  
    #5 1TB 500GB 50%  
  4. 修復完了後に、#1のディスクを削除すると、平準化が完了します。
      Size Usage Usage rate
    #2 1TB 500GB 50%
    #3 1TB 500GB 50%
    #4 1TB 500GB 50%
    #5 1TB 500GB 50%

     

    並行リビルドが有効な場合

    Windows Server 2012 R2以降で並行リビルドが有効な場合、記憶域の修復時に他の物理ディスクの空きスペースを活用することから、以下のような状態になるのではないかと思います。これを50%にならすにはおそらく、全てのディスクを順番にRetiredにして取り外し、フォーマットした上で新規ディスクとして追加、修復するといった操作をする必要がありそうです。

      Size Usage Usage rate
    #2 1TB 625GB 62.5%
    #3 1TB 625GB 62.5%
    #4 1TB 625GB 62.5%
    #5 1TB 125GB 12.5%

    (実機では未検証のため、今度確認してみようと思います。)

    Windows 10, Windows Server 2016 では最適化が可能に

    Windows 10では、記憶域プールの物理ディスク使用率を最適化してならすことが可能にで紹介しましたが、Windows 10, Windows Server 2016では、Optimize-StoragePoolコマンドで最適化が可能になります。

    個人で記憶域スペースを利用する場合に注意すること

    記憶域スペースは、Windows 8、Windows 8.1といったクライアントOSでも利用でき、導入の敷居は非常に低くなっていますし、エンタープライズレベルの技術が無償でクライアントOSでも利用できるとなると、利用しない手はないと思います。

    一方で、大切なデータを保存する道具の選定にあたっては、道具を使う側もよくよく事前調査を行い、自分に合った道具を選んだり、道具の使い方をあらかじめよく調べておくことが大切です。

    あらかじめ特性を理解して使うことの重要性

    記憶域スペースは、エンタープライズ分野におけるSoftware Defined Storage(SDS)を、ストレージ専用製品ではなくWindowsと安価なハードウェアで実現することを志向したテクノロジーです。

    かつてのDEや、その他のファイルベースのSDS製品とはそもそもの出発点が大きく異なるため、クライアントOSで利用する場合には、あらかじめ特性をよく理解してから導入することが重要になります。このブログでも、記憶域スペースで参考になる情報を記載していますので、理解の一助になれば幸いです。

    ソフトウェアベースのDE代替ならVVAULTもお勧め

    以前のDEのように、ファイルベースのストレージ仮想化のほうがなじみやすい方は、VVAULTというディスク仮想化ソフトもかなりお勧めです。

    個人利用ではPersonalライセンスを取得することで、必要十分な機能が無償で利用できます。VVAULTでも、SSDとHDDを組み合わせたティアリング(記憶域スペースの記憶域階層)やVLTによるバックアップ/リカバリ(記憶域スペースにおける回復性)で冗長性と回復性を確保することもできます。

    参考:ライセンス発行 – VVAULT®

    コメント

    タイトルとURLをコピーしました