本記事は2020年5月15日にJosh Odgers氏が投稿した記事の翻訳版です。
これまで、Nutanix AOSとvSAN/VxRAILを比較して、書き込みI/Oの受け入れに関する基本的なアーキテクチャと、書き込みI/Oパスの数々の制限事項について解説してきました。以下はそれらに関するまとめです。
- vSANの書き込みパスは、VMがクラスタ内のどこにあるかに大きく依存します。
- vSAN の静的なオブジェクトベースの書き込みパスでは、メンテンナンスの際には予めデータのバルク移動(別のホストへの退避)を行わなければ書き込みI/Oの冗長性を確保することができません。
- Nutanix ADSFは、構成されたストレージポリシー(レジリエンシー ファクター)に基づいて、常に書き込みI/Oの完全性(冗長性)を維持します。
- Nutanix ADSFは、VMがどこにあろうとも、あるいはクラスタ内で移動されようとも、一貫性のあるやりかたで書き込みパスを提供します。
- 多重化された書き込みデータがいずれも他のノードに(ネットワークを跨いで)送られるという状況は、Nutanixではメンテナンス時やCVMの障害時などのワーストシナリオで発生する動作ですが、vSANにおいてはこれは通常の動作です。
- Nutanix ADSFは、偶然に頼らず、常にデータローカリティのメリットを享受できるように設計されています。
これらに加えて、「高コスト・高耐久なフラッシュデバイスに関するハードウェア要件」について比較してみると、どうなるでしょうか。耐久性は、1日あたりのドライブへの書き込み回数(DWPD)で評価できます。
Dell EMCやVMwareは「Nutanixは高耐久フラッシュデバイスへの依存度が高く、これはNutanix AOSの大きなデメリットである」と主張することがあるようです。
今日、私が見たそのような主張の例を1つ紹介します(この投稿に触発されたので、Dell EMCのNathan Bulmon氏に感謝します)。「Nutanixは、より多くの書き込み命令を行うため、高価なフラッシュドライブをより多く必要とします」とのことです。
参考訳 : Josh Odgersさん、記事を読ませていただきました。HWとSWの統合されたアップデートについて、つまりインカーネルのvSANとKubernetesとをCVMを比較した際のメリットが考慮されていません(CVMには多くのオーバーヘッドが必要になり、データローカリティは冗談にも等しい話です)。あなたはRailは大規模環境ではN+8が必要になるような言い方をしていますが、これは馬鹿げています。N+1または2でも十分です。Nutanixはより多くの書き込みを発行するため、比較して非常に高価なフラッシュドライブが必要になります。これらすべてに加え、我々の会話であなたのセールスチームは日々煙に巻かれているようなものです。DellとNutanixの関係性は熱く重厚なもので、私はXCを多く販売しましたが、我々はより優れた製品とより優れたセールス組織を作り上げました。数字は嘘を付きません…
Bulmon氏は他にもいくつかの主張をしていますが、私は以前にNutanixに比べてvSANは著しく多くの空き領域(スラックスペース)を要することを解説しましたし、CPUおよびメモリの比較ではNutanix Controller VMが「山ほどのオーバーヘッド」を必要とするという主張を反証しています。
そして、ビッグデータの取り込みによるテストも行いました。特に、ネットワークがVM同士やクライアントとサーバ間の通信にも利用されている、という現実に即したテスト条件ではどうだったでしょうか。ネットワークトラフィックの発生中に、vSANが同じ量のデータを取り込むのに要する時間が2倍になるのに対し、Nutanix AOSは30%という控えめな影響で済んだことが証明されました。
私がまだカバーしていなかった唯一のトピックは、フラッシュドライブの耐久性についてです。回復力は非常に重要な要素であり、ドライブの耐久性は重要な役割を果たしていますので、私はこのトピックをすぐに解説することにしました。
まずはvSAN/VxRAILアーキテクチャを見直してみる
vSANは、1つのキャッシュデバイスと、最大7つのキャパシティデバイスで構成される「ディスクグループ」という概念を使用しています。これはオールフラッシュ構成でも同様です。
すべての書き込みI/Oは、最終的にキャパシティ層に配置される前に、単一のキャッシュドライブを経由します。
使用可能容量の比較で説明したように、vSAN キャッシュドライブは使用可能容量には貢献しません。また、ドライブ故障の比較では、単一のキャッシュドライブが故障した場合、ディスクグループ全体(キャッシュドライブを含む最大8ドライブ)がオフラインになり、すべてのドライブのデータをリビルドする必要があることがわかりました。
VMwareは、キャッシュドライブに推奨されるフラッシュドライブの種類について、次のように述べています。
キャッシュデバイスへ書き込みが集中するため、ハイスペックなフラッシュデバイスを使用することをお勧めします。クラスが高いほど信頼性が高く、ドライブの寿命も長くなります。
参照先: HTTPS://BLOGS.VMWARE.COM/VIRTUALBLOCKS/2019/04/18/VSAN-DISK-GROUPS/
VMware 自身のドキュメントを見ると、実際にvSAN(VxRAIL)がオールフラッシュ環境でもキャッシュドライブに高スペックのフラッシュデバイスを推奨/要求していることがわかります。ハイブリッド環境では、ディスクグループ内にフラッシュデバイスが1つしかなく、読み取りと書き込みの両サービスを提供するため、単一のキャッシュドライブへの依存度がますます高くなります。
この時点で既に「vSAN/VxRAILの方が何らかの形で優れており、高耐久ドライブを必要としない」という主張に対する反証は済んでいますが、Nutanix AOSのアーキテクチャが提供する利点をさらに強調してみましょう。
Nutanix AOSのアーキテクチャ
Nutanixはディスクグループという制約的な概念を使用していません。
クラスタ内のノードに搭載されたすべてのドライブは、土台となるストレージプールに組み込まれます。
このことが、Nutanix AOSに対して大きな回復力、スケーラビリティ、効率性、パフォーマンスの優位性をもたらします。
ハイブリッド環境では、入力されたWrite I/OをすべてのSSDで受け入れ、キャッシュではなく永続的なストレージとして動作し、コールドデータ(アクセス頻度の低いデータ)を適宜HDD層に転送します。そのため、一般的によく用いられる2台のSSDと4/6/8/10+のSATA HDDが各ノードに搭載されたハイブリッド環境では、SSDの故障が発生しても、データの損失や複数のドライブデータを再構築する必要がなく、動作を継続することが可能です(vSANにおけるディスクグループと比べてみてください)。
この場合、復旧が必要なのは1台のドライブのデータのみで、ノードと他のすべてのドライブはクラスタのサービスを継続できるので、NutanixはSSDの故障による影響が少ないと言えます。
データを再構築する必要があるのはドライブ1台分だけなので、データ再構築のために処理する必要があるバックグラウンドI/Oが減り、クラスタ内のCPUへの影響が軽減されます。
以前に学んだように、Nutanixでは重複排除、イレイジャーコーディング、圧縮などのデータ効率化技術を使用しても耐障害性や回復力が低下することがありませんので、データ削減技術は比較してより魅力的になります。
オールフラッシュ環境で、SSDを6台しか搭載できない小型ノードを使用する場合を例に考えてみましょう。第一のメリットは、Nutanixには「書き込みキャッシュ」のためのキャパシティの圧迫がないことです。小容量で高性能なキャッシュ層用のドライブと、大容量のキャパシティ層用のドライブを組み合わせるvSANとは対照的に、すべてのSSDに(必要に応じて)大容量なモデルを選択できるため、より多くのリソースの集約が可能となります。
SSDを6台搭載できるノードで、例えば1.92TB×6台や3.84TB×6台のSSDを使用した場合、6台すべてのSSDが書き込みを受け付けます。vSAN/VxRailで同じドライブ構成の場合、2つのディスクグループを構成すれば、最大2つのフラッシュデバイスで書き込みサービスを提供できます。この構成のvSANでは33%のドライブ(6台中2台)がキャッシュ用となり、使用可能容量に組み込まれないことは欠点であると言えるでしょう。また、書き込みI/Oが6台のフラッシュデバイスに分散されるNutanixとは異なり、2台のキャッシュ用フラッシュデバイスを経由します。そのため、(書き込む総データ量が同一ならば)この2つのフラッシュデバイスへの1日あたりのドライブへの書き込み数(DWPD)は最大3倍にもなります。
Nutanix AOSは、読み書きをすべてのドライブで処理するだけでなく、インテリジェントなレプリカ配置により、容量使用率とキューの深さが最も低いドライブにデータが書き込むことで、SSDが均等かつ一貫して使用されるようにして、SSDの寿命をさらに伸ばし、クラスターのパフォーマンスとのバランスを向上させます。
NutanixがすべてのSSDに書き込みを分散しているという事実は、特にオールフラッシュ環境では、高耐久性SSD利用せずとも優位性があることを意味しています。
これ自体は目新しいことではなく、Nutanix AOSはハイブリッドかオールフラッシュかに関わらず、ノードに複数のSSDを搭載している場合には、常にこのように機能してきました。
2018年の下記のツイートでは、すべてのドライブが使用可能な容量に貢献しているという事実とともに、「キャッシュ」のために使用可能容量から除外されるドライブがないことを強調しています。
参考訳 : 知っていますか? NutanixのAcropolis分散ストレージファブリックは容量、回復力そして性能のために永続ストレージ用のNVMe、SSD、そしてSATAを含む全てのドライブを利用しています。
単独の「キャッシュ」ドライブに関連する制限はありません。
オールフラッシュノードはすべてのSSD全体に対して書き込みを送信します!
以下のツイートは、24台のドライブを搭載したノードにおいて、4台のNVMeデバイスがフロントエンドで書き込みを受け付け、SATA-SSDデバイスが「上書き」を行っている状況でのNVMe+SSDハイブリッド構成の書き込みパフォーマンスを示しています。
参考訳: NutanixのCVMと自律エクステントストア(AES – Autonomous Extent Store)の効率性
24本のドライブを活用し、85%の物理ディスク(4 x NVMe & 20 x SATA-SSD)がせわしなく利用されています。
これが仮想マシンをレベルで言い換えると?
VMあたり2.7GBps以上、4ノードのクラスタで 11GBps
書き込みの性能は? VMあたり2.3GBpsです!
vSANはインカーネル?
まとめ
高耐久ドライブはNutanixとvSAN/VxRAILのどちらにおいても信頼性の確保に役立ちます。しかし、vSAN/VxRAILのほうが、その重要度が高くなります。理由は、ディスクグループアーキテクチャに起因した回復力の問題や、ディスクグループのすべての書き込みI/Oを1台のドライブで処理する、といったものです。
vSAN/VxRAILで重複排除と圧縮を使用する場合、高耐久性ドライブの重要度はさらに増します。
Nutanixの場合は、複数のフラッシュドライブを使用して書き込みI/Oを受け入れるため、ドライブ耐久性の影響度は想像よりも低いものになっています。