本記事は2020年2月19日にJosh Odgers氏によって投稿された記事の翻訳版です。
このシリーズの最初の記事では、同じハードウェア上におけるNutanix ADSFとVMware vSANの、実際の使用可能な容量を比較しました。
Nutanixが約30~40%多くの使用可能な容量を提供することがわかりました。
次に重複排除と圧縮の技術を比較したところ、NutanixはvSANよりも容量効率、柔軟性、回復力、パフォーマンスの面で優れていることがわかりました。
次にイレイジャーコーディングについて調査し、Nutanixの実装(EC-Xと呼ばれる)は、リアルタイムにパフォーマンスとキャパシティ効率性のバランスを保つ、ダイナミックかつフレキシブルなものであることを学びました。
次に、私たちは両方のソリューションでどのように容量を拡張できるか、という議論を行いました。vSANには多くの制約があり、拡張の魅力を失わせていることがわかりました。
しかしながら、NutanxのvSANに対するこれらの優位性は、前提としてプラットフォームが障害に対する高い回復力を持っていなければ意味がありません。
このパートでは、オールフラッシュの一般的なハードウェア構成において、両プラットフォームがどのようにして様々なドライブ障害シナリオを処理し、復旧を行うかについて説明します。
最近、あるDell EMC の従業員の方から、これまでのサンプルでは最も広く利用されているハードウェアを使用していない、というご指摘を受けましたので、今回はアーロン氏がイチオシの VxRail E シリーズを使用してみます。Eシリーズは、10本の2.5インチドライブをサポートしています。よくオススメされる、10本の1.92TBのドライブを搭載したオールフラッシュ構成にしましょう。
(アーロン、どういたしまして!)
VxRail Eシリーズでは、vSANは2つのディスクグループを作成する構成をとります。興味深いことに、1つのディスクグループは最大7つのキャパシティドライブしかサポートできないため、2つのディスクグループを作成せざるを得ないというのがその内実です。
Nutanixに馴染みのない方のために補足しておくと、Nutanixにはディスクグループのような概念や煩わしさはなく、すべてのドライブがクラスタ全体に渡って構成される「グローバル」なストレージプールに組み込まれます。
Nutanixはまた、「キャッシュ」ドライブという概念を持っておらず、すべてのドライブがストレージプールの一部となります。また、すべてのフラッシュデバイスが、ドライブ耐久性・回復力・パフォーマンスを向上させるため、永続書き込みバッファ(oplog)の領域を提供しています。
以前の記事でも強調したように、「チェックボックス」スタイルのスライドは、設計/サイジングの検討において重大なミスリーディングを引き起こすことが多い、という問題があります。
この問題は回復力の観点についても同様であり、今回の議論でいえばドライブ障害の場合についても当てはまります。簡単な例を挙げてみましょう。
障害の許容範囲 | Nutanix | VMware vSAN |
SSD/HDDが1台故障(RF2/FTT1) | ||
いずれかの2台のSSD/HDD (RF3/FTT2)が故障 |
チェックボックスの比較からわかるように、どちらのプラットフォームも、Nutanix Resiliency Factor RF2 / vSAN Failures to Tolerate FTT1のいずれかを構成することで、任意の1台のSSD/HDDの障害を許容します。また、Nutanix RF3またはvSAN FTT2を使用することで、2台のSSD/HDDの同時障害を許容することができます。
これらの障害が発生した場合には、両製品とも自己治癒を行うことが可能です。
障害の許容範囲 | Nutanix | VMware vSAN |
1台のドライブ障害後の自己治癒(RF2/FTT1) | ||
2台のドライブ障害後の自己治癒(RF3/FTT2) |
ここまではどちらも順調ですね!
ですが…実際にはNutanixプラットフォームの場合には構成に関係なく一貫性のある対応が行われる一方、vSAN/VxRailは構成によって障害が及ぼす影響が大きく異なってきます。
例 1: vSAN「キャッシュ」ドライブの障害
vSANにおいてVMwareが耐障害性とパフォーマンスを向上させるために推奨している2つのディスクグループによる構成では、1つの「キャッシュ」ドライブの障害でディスクグループ全体がオフラインになってしまいます。
最も一般的なDell EMC VxRailプラットフォームでは、2つのディスクグループ(ディスクグループごとにキャッシュドライブ1台とキャパシティドライブ4台)がありますが、キャッシュドライブ1台に障害が発生すると、5台のドライブがオフラインになり、リビルドが必要になります。これは、vSANの1.92TBドライブ×5台分もの容量が失われ、それに相当するリビルドが必要になることを意味します。
Nutanixではいずれかのドライブが1台故障した場合でも、単に1.92TBドライブ×1台分をリビルドする必要がある、というみなさんの想定通りの結果になります。
つまり、この例では、Nutanixにおけるディスク障害の影響度は、vSANの1/5であるということです。
この時点で既にvSANでは期待にそぐわないと判断されたのではないでしょうか。Nutanixをデプロイしながら、その待ち時間にこの続きもぜひ読んでみてください。
例2:重複排除と圧縮を使用した場合のvSANドライブの障害
重複排除と圧縮を使用する場合、例1で説明したとおりキャッシュドライブに障害が発生するとディスクグループがオフラインになりますが、それに加えてvSANのキャパシティドライブに障害が発生した場合にもディスクグループ全体が失われます!
Nutanixの場合、状況はこれまでと一貫しています。みなさんの期待通り、いずれかのドライブが1台故障した場合でも、1.92TBドライブ×1台分をリビルドする必要があるだけです。
つまり、例2でも、Nutanixにおけるディスク障害の影響度は、vSANの1/5であるということです!
まだ読んでくださっていますか?あるいは、もうNutanix PrismのGUIを楽しんで頂いていますでしょうか?
例3:vSANの分散された粒度の細やかなリビルドの欠如
vSANでは、最大255GBまでを1つのオブジェクトとして保存し、リビルドも同じレベルで行う、「オブジェクトストア」としての設計からの制限を受けます。
これは、vSANでは各々のオブジェクトを配置するために大きなスペースを確保する必要があり、さらにオブジェクトをリビルドできる場所が限定される、ということを意味します。オブジェクトのリビルドは、基本的に1つのドライブから他の1つのドライブへと(言い換えれば2つのフラッシュデバイス・2つのノードの間で)行われるため、パフォーマンスが低いだけでなく、断片化を引きおこす可能性があります。これこそが、前述したように VMware が 25~30% のスラック スペースを推奨している理由です。
これが意味するのは、vSANはNutanixよりも使用可能な容量が少なく、しかもリビルドが遅い、ということです。
NutanixはどのようにしてvSANを上回るリビルド性能を発揮するのでしょうか?
Nutanixは4MBの細やかさでリビルドを実行するため、粒度の大きなオブジェクトのような制約を受けません。1つのvDiskは、4MBのエクステントグループと呼ばれる単位に分割されており、これらはクラスタ全体へとパフォーマンスと容量を基準に分散されています。これが意味するのは、Nutanixのリビルド処理においては、クラスタ内のすべてのノードとすべてのドライブが、1台のドライブのリビルドに貢献できる、ということです。これにより、リビルドを高速かつ影響を小さく行うことができ、容量効率とのバランスも取れたクラスタが実現されています。
Nutanixのリビルドの速さの例としては、2018年のノードのリビルドのパフォーマンスに関する私の記事もご覧ください。
これでもまだvSANを検討していますか? だととしても、次の例4で考えが変わるでしょう。
例 4: メンテナンス中および障害発生中のvSANにおけるI/Oの整合性
回復力に関してNutanixがvSANより優れている点の1つは、ADSFがあらゆる障害発生中やメンテナンス中にも、常に設定どおりに(データ書込みの)冗長性を順守していることです。
一方、vSAN は、必ずしもあらゆるホストのメンテナンスシナリオおよび障害シナリオにおいて、設定されたFTTレベルを維持するわけではありません。FTT=1で構成されたvSAN上のVMの場合、vSANディスクの「オブジェクト」を格納しているホストの内の1台がメンテナンスのためにオフラインとなっている最中には、書き込まれるデータが冗長化されないため、ドライブが1台障害を起こしただけでもデータ喪失が発生する可能性があります。ノードがメンテナンスのためにオフライン、かつお客様がノードからすべてのデータを事前に退避することを選択していなかった場合には、書き込み処理は Failure to Tolerate (FTT) ポリシーに準拠した状態を維持しません。
詳細は 回復力シリーズのパート6 - メンテナンスや障害時の書込みI/O をチェックしてください。
まとめ
- Nutanixは、ドライブ障害の影響が大幅に少ない
- Nutanixにおける単一ドライブ障害は、単一のドライブにのみ影響を与え、ドライブグループ全体には影響を与えない(SSDを1本しか搭載していないノードの場合を除く)
- Nutanixにおけるドライブ障害は、適用されているデータ効率化技術にかかわらず、同じように処理される
- Nutanixは、障害発生中やメンテナンス中も、常に書き込みI/Oの冗長性を維持する
- Nutanixは回復が早く、障害の影響が少ないのが特長である
- Nutanixが常にデータ回復力を維持するのに対し、vSANにはデータの冗長性を維持できないメンテナンスシナリオや障害シナリオがある
次回は異種混在クラスタのサポート – Nutanix vs VMware vSANについてです。