vSAN

vSAN Cormac Blog ~ vSAN6.1 新機能 – 問題のあるディスクの取り扱い ~

すでにお気づきの方もいらっしゃると思いますが、VMware Virtual SAN 6.1 リリースノートに下記の項目が追加されています。
Virtual SAN は、ソリッド ステート ドライブと磁気ディスク ドライブの健全性を監視し、健全でないデバイスをアンマウントしてそれらのデバイスを事前に分離します。また、Virtual SAN ディスクの段階的な障害を検出し、影響を受けるホストと Virtual SAN クラスタ全体で輻輳の状態になる前にそのデバイスを分離します。アラームは、健全でないデバイスが検出されたときと、健全でないデバイスが自動的にマウント解除された場合にイベントが生成されたときに、各ホストから生成されます。
この記事では、このすばらしい新機能に関するより多くの情報をご紹介する事が目的です。

歴史
まずdisk-failure-150x150はこの機能が必要となる背景をご紹介します。
我々はSSDや磁気ディスクドライブの不健全な動作が引き起こす問題に関していくつかの問合せを受けていました。
あるケースでは、ディスクから多くのエラーが報告されているにもかかわらず、故障には至っていませんでした。
最終的にこの1本のディスクにより、クラスタ全体のパフォーマンスの低下を引き起こしていました。
この新機能で実装された監視機構により、これらの不健全なディスクを未然に切り離し、クラスタ全体に影響を与えない事が可能となります。
この機能では、SSDもしくは磁気ディスクドライブで、長期間にわたり大幅な処理の遅延が発生していないかを探します。
VSANは特定のデバイスで長期間にわたる大幅な処理の遅延が確認されると、遅延デバイスがキャパシティデバイスの場合はディスクをアンマウントし、遅延デバイスがキャッシュデバイスの場合は、キャッシュデバイスが所属するディスクグループをアンマウントします。
対象のディスクもしくはディスクグループは”Absent”としてマークされ、CLOMD(Cluster Level Object Manager Daemon) タイマーの期限が切れると、クラスタの他の領域でコンポーネントのリビルドが行われます。
この動作により、一つの健全でないドライブによる影響を受けずに、仮想マシンのパフォーマンスが保たれます。

検出
VSANがこの処理をdisk-error-detect-150x150行った場合に、管理者/オペレーターはどのようにして知ることができるでしょうか?
さて、この問題が起こった場合、VOBs (VMware Observations)はさまざまなイベントをあげます。
例えば、VSAN Diskへの読込み時に、SSDもしくは磁気ディスクドライブのアンマウントにつながるような、閾値を超過する読込み遅延が発生した場合、下記のいずれかのメッセージが生成されます。


  • WARNING – READ Average latency on VSAN device %s is %d ms an higher than threshold value %d ms.
  • WARNING – READ Average Latency on VSAN device %s has exceeded threshold value %d ms %d times.

キャッシュデバイスもしくキャパシティデバイスのアンマウントにつながるような、閾値を超過する書込み遅延が発生した場合は、下記のいずれかのメッセージが生成されます。


  • WARNING – WRITE Average latency on VSAN device %s is %d ms an higher than threshold value %d ms.
  • WARNING – WRITE Average Latency on VSAN device %s has exceeded threshold value %d ms %d times.

繰り返しになりますが、対象のデバイスがキャッシュデバイスの場合はディスクグループへの影響があります。
読込み遅延の警告閾値を超過したため、下記のVOBメッセージが生成されます。


  • WARNING – Half-life READ Average Latency on VSAN device %s is %d and is higher than threshold value %d ms.

書込み遅延の警告閾値を超過したため、下記のVOBメッセージが生成されます。


  • WARNING – Half-life WRITE Average Latency on VSAN device %s is %d and is higher than threshold value %d ms.

トリガー / 閾値
トリガーとなる閾値は50msです。下記は、実際のホストのSSDで読み込み遅延を検知した場合のイベントの例です。


2015-09-15T02:21:27.270Z cpu8:89341)VSAN Device Monitor: WARNING – READ Average Latency on VSAN device naa.6842b2b006600b001a6b7e5a0582e09a has exceeded threshold value 50 ms 1 times.
2015-09-15T02:21:27.570Z cpu5:89352)VSAN Device Monitor: Unmounting VSAN diskgroup naa.6842b2b006600b001a6b7e5a0582e09a


ホーム・ラボユーザへの注意事項
VSANはエンタープライズクラスのHcautionCI(ハイパーコンバージド インフラストラクチャ)システムです。我々はミッションクリティカルなビジネス環境で必要とされるワークロードを、VSAN上で稼動させることをサポートします。
我々はデバイス、コントローラ、ドライバー、ファームウェアに関しての広範囲なHCL(ハードウェア互換性ガイド)をもっています。HCLから選択されたデバイスは、健全な場合にこのような大幅な遅延が発生する事はありません。HCLから選択されたデバイスでは、健全でないデバイスのみがこのような挙動を示すはずです。
しかしながら、我々は多くの顧客、パートナー、従業員がHCL以外のデバイスを使用してラボを運用していることを理解しています。この機能はVSAN6.1で有効となっているため、ラボの環境でコンシューマ向けのデバイスを使用している場合、大幅な遅延が発生し、この制限に該当した場合にデータストアをアンマウントする可能性があります。
この状況を回避するために、ディスクグループのアンマウントを防ぐ2個のパラメータが用意されています。


  • VSAN Device Monitoringの無効化:
    # esxcli system settings advanced set -o /LSOM/VSANDeviceMonitoring -i 0     ← デフォルトは “1” です

- もしくは -

  • VSAN Slow Device Unmounting 機能の無効化:
    # esxcli system settings advanced set -o /LSOM/lsomSlowDeviceUnmount -i 0     ← デフォルトは “1” です

ラボ環境では仮想マシンの稼動前や、データがホスト間で移動するメンテナンスモードタイプの操作を行う前に、すぐにこの機能を無効化したほうが良いかもしれません。これはラボの環境をVSAN 6.1 (vSphere 6.0u1)へアップデートする事を計画している場合も同様となります。
詳細は公式ドキュメントとしてKB2132079に記載されています。

最後に
この監視機構はVSANにとって素晴らしい機能拡張となりました。
これまで1本の不健全なデバイスが、VSANクラスタ全体への影響を引き起こしていた問題に対して、この機能により、デバイスの切り離し処理が適切におこなえる様になったため、この種類の問題による影響を軽減する事ができるようになっています。


原文: VSAN 6.1 New Feature – Handling of Problematic Disks
VMware Storage and Availability Business Unitの シニアスタッフエンジニアCormac Horganの個人ブログを翻訳したものになります。VSANの詳細に関しては弊社マニュアル 、KBをご確認ください。また本記事は VSAN 6.1ベースに記載しております。予めご了承ください