本記事は2021年2月2日にJosh Odgers氏が投稿した記事の翻訳版です。
本シリーズのパート1では、HCIプラットフォームをテストするためにX-Rayを使って実行できる、新しい「HCI Platform Availability, Resiliency & Integrity (プラットフォームの可用性、回復力、そして整合性)」」のシナリオについて学びました。
パート2では、Nutanix AOSがメンテナンスモード、再起動、障害シナリオにおいて、仮想マシンの完全な可用性とデータの整合性を維持すること、そしてvSAN 7.0 Update 1が再起動と障害シナリオの両方でI/Oの整合性エラーが発生することを紹介しました。
パート3では、PVSCSIドライバのI/Oタイムアウトを30秒から180秒まで増やすことで問題が解決するかどうかを調べました。その結果、I/Oタイムアウトを増加させることでエラー数は減少しましたが、最終的にはvSAN 7 Update 1で発生するI/Oエラーを防ぐことはできませんでした。
今回のパート4での疑問は、「vSANの完全なデータ退避モードを使うことで、データの整合性の問題を回避できるか?」です。
完全なデータ退避モードについては、以下のVMware社のドキュメントで説明されています。簡単に言うと、ホストがメンテナンスモードになると、すべてのデータ(vSANオブジェクト)がクラスタ内の他のホストに再作成されます。ですので、理論上はホストがオフラインの間もデータの整合性が損なわれることはありません。
パート2と3で、vSANでもメンテナンスモードのフェーズでは、可用性の欠如やI/Oエラーが発生しないことを確認しました。これは、これらのテストでも完全なデータ退避モードが使用されており、vSAN7U1とすべてのオブジェクトが、ホストがオフラインであっても常に利用可能であったためです。
しかし、再起動や電源OFFのフェーズではどうでしょうか。
再起動や障害が発生した場合、メンテナンスモードのようにデータを退避させる手順を踏むことができません。すべてのオブジェクトが利用できるわけではないため、ホストがオンラインに戻るかデータが再構築されるまで、データの整合性に問題が生じます。
ここで問題となるのは、vSANはオブジェクト修復タイマーによって、オブジェクトを修復する前にデフォルトで60分間待機することです。少なくとも60分はデータの整合性が失われます。さらに、再構築にかかる時間は、ノードごとのデータ量、ノード構成(オールフラッシュまたはハイブリッド)、フラッシュの種類(NVMe / SASまたはSATA SSD)、プラットフォーム上のワークロード、利用可能なネットワーク帯域幅などの要因に依存します。
以前、Nutanix AOSのデータローカリティによってネットワーク要件が軽減されることが、耐障害性にとって非常に大きな利点であることを説明しました。ネットワーク帯域の効率的な使用を確保することで、プラットフォームが障害から迅速に回復するために利用可能な帯域を最大限に確保することができるからです。
そのため、60分タイマーが経過して再構築が完了するか、ホストがオンラインに戻るまで、vSANは新しい書き込みI/OのI/O整合性を維持していません。これは「書き込みI/O パス (FTT1/RF2) の比較– Nutanix vs VMware vSAN」の記事でも説明しています。
vSANの挙動を確認するために、「再起動のみ」と「電源OFF」のテストを実施しました。
再起動テスト:
電源OFFテスト:
上のグラフからわかるように、どちらのテストでもI/Oエラーが発生しています。
これは、VMware社がvSAN 7U1で主張している機能強化が、非制御下での再起動、シャットダウン、または障害シナリオに適用されていないためです。vSANの顧客が最も必要とするところ(つまり、予期しない状況)では、I/Oの整合性がまだ著しく不足しています。
次のパート5では、vSANのオブジェクト修復タイマーを60分から0分に変更することで、vSANのI/O整合性を向上させることができるかを見ていきます。結果が変わるかどうか見てみましょう!
パート1に戻る。