- (2-10) ストレージの階層化とプライオリティ付け
Disk Balancingのセクションで述べた通り、ストレージ容量がNutanixクラスター内の全nodeに
亘ってプールされるのかと云うことと、ILM(Information Lifecycle Management)がデータをローカルにキープするために使用されることを述べた。 同様の概念がクラスターのSSDとHDD層がクラスターワイドになっているディスクの階層化にも適用されており,NFS ILMはデータの移動発生イベントのトリガー発生を担当している。
クラスター内の全てのSSDは、そのクラスターの全てのノードから利用可能であるけれど、ローカルnode上のSSDが、node上で稼働中のVMによって発生する全てのI/Oに対して常に最高プライオリティで使用される階層となる。 SSDティアは、常に最高のパーフォーマンスを提供しており、ハイブリッド・アレイが管理するために最も重要な存在である。 階層間のプライオリティ付けは、概ね以下の様に分類される。
<<Fig.2-10-01>>
リソース(SSD,HDD等)の特定のタイプの物は一緒にプールされ、クラスター全体としてストレージの階層化を実現している。 このことにより、クラスター内の任意のnodeが、ローカルにあるか否かに関係なく、全ての階層のストレージを活用できる。
このプールの階層化がどの様に概観されるかを以下に示している。
<<Fig.2-10-02>>
一般的に、ローカルノードのSSDがいっぱいになった時にどの様な事が発生するのかと質問されることがあるが、ディスク・バランシングのセクションで述べた通り、ディスク・ティア内部のデバイスの使用率を均一に保とうとする事が主要な方針である。 ローカルノードのSSD使用率が高くなった場合、ディスク・バランシングはローカルディスク上で最も使用されていない(Coldest:コールディスト)なデータをクラスタ全体に亘ってでデータを移動し始める。 これにより、ローカルSSDのフリースペースが広がり、ローカルノードがネットワークを跨らないでSSDに対して書込みを行うことが出来る様になる。 重要な点は、このリモートI/Oのために全CVMとSSDが使用され、発生し得るいかなるボトルネックも排除し、ネットワークを跨って処理されるI/Oによってもたらされる影響を有る程度解消する。 また別の状況として、全体的な使用率があるスレショルドを越える時がある。
<<Fig.2-10-03>>
[curator_tier_usage_ilm_threshold_percent(Default+75)] に達するとNDFS ILMが起動され、Curatorジョブの一部としてSSDティア(層)からHDD層へデータを書出す。 この処理により使用率は、上記に述べたスレショルド以内か、或いは[curator_tier_free_up_percent_by_ilm(Default=15)]の何れか値の大きい方まで空きエリアを広げることができる。
書出しのためのdataとしては、アクセス時刻が最も古いものが選択される。 SSDティアの使用率が95%である場合、SSDティア内のデータの20%は、HDDティアへ移動される。 (SSD使用率は95% -> 75%となる) しかしながら、もし使用率が80%だった場合には、最小のティア解放量を用いてデータの15%だけがHDDティアへ移動される。
<<Fig.2-10-04>>
NDFS ILMは、I/Oの振舞いを常に監視しており、必要に応じてティア間での書込み/読出しを行い
ティア(層)に関係無く最も最近使われた(hot)なdataを引出せる様になっている。
Nutanixバイブル