Home > Blogs > Japan Cloud Infrastructure Blog > 作成者別アーカイブ: Hidemasa Kato

作成者別アーカイブ: Hidemasa Kato

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ベースに記載しております。予めご了承ください

VSAN Cormac Blog ~ パフォーマンスの監視(VSAN Performance service) ~

VSAN管理者は、これまでVSAN Observer を使用してVSANのパフォーマンスを確認していました。
VSAN Observerは非常に強力なツールですがいくつかの欠点もありました。
たとえば、リアルタイムなパフォーマンスデータは確認できましたが、過去のパフォーマンス統計データを確認することはできませんでした。また、VSAN Observerは個別のツールとして提供されていたため、vSphereweb clientと統合されておらずシングルコンソールでの管理がおこなえませんでした。VSAN Observerは多くのメトリックを提供しますが、大半がエンジニアリングレベルのメトリックとなり、管理者向けのメトリックではありませんでした。また、vCenter Server 上のRVC(Ruby vSphere Console)で実行されるため、vCenter Serverへの影響もありました。

これらの状況をふまえ、VSAN6.2では管理者が容易にVSANのパフォーマンスを確認するための機能として、新たに VSAN Performance service が実装されましたので、ご紹介させていただきます。

VSAN Performance Service は下記の機能を提供します。

 

  • vSphere Web Client への統合

最初のポイントとして、VSAN Performance Service は vSphere Web Client から使用できます。VSAN Observer のように、RVCにログインして手動でサービスを起動する必要はありません。また、管理者が VSAN Performance Service を一度有効に設定するだけで、常にサービスが稼動している状態となります。

vSphere Web Client から、vCenter server のインベントリでクラスタや各ホスト、仮想マシンを選択し、 [ 監視 ] タブの [ パフォーマンス ]  からパフォーマンス統計情報をパフォーマンスチャートで表示できます。

VSAN_PerformanceService_01_cluster-view

 

  • シンプルなメトリック

VSAN Performance Serviceで表示できるメトリックは VSAN Observer と比べて削減されていますが、各メトリックは管理者が活用しやすい項目となっています。

管理者は、ホスト上で実行されている仮想マシンのパフォーマンス情報と、ホストのバックエンド操作のパフォーマンス情報を選択して表示する事ができます。例えば、RAID1(FTT=1)構成の仮想マシンでは、仮想マシンで 500 IOPS の書込み処理が表示される場合、バックエンド操作としては1000 IOPS の書込み処理が表示されます。バックエンド操作ではVMDKがミラーされますので、各レプリカに500 IOPS ずつの書込み処理が行われ、合計1000 IOPS となります。IOPS以外のメトリックとしては、スループット、遅延、輻輳、未処理の I/O があります。

ホストのパフォーマンスビューでは、ディスクグループや個々のディスクに関する、いくつかの追加のメトリックが提供されています。
ディスクグループに関しては、読み取りキャッシュ ヒット率(ハイブリット構成時のみ)や、削除、書き込みバッファの未使用割合などの多くの有益な項目を表示する事ができます。

仮想マシンのパフォーマンスビューでは、各VMDKへの仮想 SCSI IOPS、スループット、遅延などの項目が表示できます。

また、特定のメトリックに関しての内容が不明な場合は、メトリックの横にある WS000030 ボタンをクリックする事でメトリックに関する情報が表示されます。詳細情報の確認の為に AskVMware のリンクも用意されています。

VSAN_PerformanceService_02_perf-serv-vm

VSAN Performance Serviceで表示できるメトリックは、VSANの管理者に頻繁に利用されるものになっています。

 

  • 分散型アーキテクチャ

VSAN Performance Service を設計する上で、vCenter Server へパフォーマンスの影響を与えない事が一つの目標でした。
このため、VSAN Performance Service はVSANの分散型アーキテクチャを採用しています。

パフォーマンスデータは、統計DBに格納されますが、VSAN Performance Serviceが有効化されると、VSANデータストア上に統計DBが1つのオブジェクトとして作成されます。クラスタの中から一台のホストが統計DBを更新するマスターとして選ばれ、クラスタ内の他のホストはマスターへパフォーマンス統計情報を送信します。統計情報は5分間の平均値となります。パフォーマンスグラフを描写する際はvSphere web client が統計DBを参照します。

もうひとつの設計目標は vCenter server に依存しないことでした。vCenter server に何かしらの問題が起こった場合や、新しく vCenter server が展開された場合でも、パフォーマンス統計情報は継続して取得され続けます。

 

  • シングルポイント障害の回避

統計DB はVSANデータストア上に作成されると述べましたが、統計DBに対してもVSANストレージポリシーを適用して高可用性を実現する事が可能です。VSAN Performance Serviceを有効化すると、統計DBオブジェクトに対して、どのVSANストレージポリシーを適用するか聞かれます。

デフォルトのポリシーでは、許容する障害の数は1(FTT=1)として設定されますので、1台のホストに障害が発生した場合でも、パフォーマンス統計情報は継続して取得され続けます。

VSAN_PerformanceService_03_-turn-on-perf-service

また、VSAN Performance Serviceおよび統計DB の状態はヘルスチェックシステムで確認されるため、管理者はサービスに問題が発生した場合にアラートを確認する事が可能です。

下記はクラスタにスプリットブレインが発生したような場合の表示例です。

VSAN_PerformanceService_04_perf-service-health-error

 

  • 履歴情報の利用

最後のポイントとして、VSAN Performance Service では VSAN Observer では利用できなかった、過去のパフォーマンスの履歴情報を確認する事が可能となりました。デフォルトでは、直近1時間のデータが表示されますが、もちろん表示対象とする時間範囲は変更が可能です。

VSAN_PerformanceService_05_perf-service-last

 

特定の期間の情報を確認したい場合は、下記のように時間範囲を指定することができます。

VSAN_PerformanceService_06_perf-service-custom

 


VSAN6.2で実装された VSAN Performance Serviceにより、VSANのパフォーマンスの概要を容易に確認する事が可能となりました。

VSAN Observerは継続して利用可能ですが、我々はこの新たに提供された VSAN Performance Service で、より多くの VSAN上のパフォーマンスデータが確認できるべきであると感じています。皆さんがVSAN Observerで定期的に使用しているフィールドやメトリック等で、VSAN Performance serviceに追加するべきと感じる項目があれば、プロダクトマネージャおよびエンジニアへフィードバックしますのでご連絡ください。

原文: VSAN 6.2 Part 6 – Performance Service

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