新しい会話を開始

Solved!

ソリューションへ移動

クローズ

5 Practitioner

 • 

891 メッセージ

277

2023年5月28日 21:00

VxRailで1ノード障害時、空き容量が無い場合

いつもお世話になっております。
4ノード以上でVxRailを構成しているときに、
ディスク障害やノード障害が発生すると
他のノードにリシンク処理が走ると思いますが、
この時にリシンクするディスク空き容量が無い場合は
どういった動きになるのでしょうか?


例えば、VxRailクラスタの容量100%になるまでリシンクが走り、
ディスクがフルになるとその時点で処理が止まるのか、
もしくは一定の容量%以上になると処理が止まるのか・・・
事前にリシンクが可能な空きがあるのかをチェックして、
そもそも対象のデータ全てをリシンクできる空きが
無ければ、リシンク処理自体が実行されない・・・等


以上、よろしくお願いいたします。

4 Operator

 • 

1.8K メッセージ

2023年5月29日 01:00

DemoCenterで試してみました。vSAN部分の動作についてVxRail独自の動きはないのでVMware標準のvSANに準拠します。

naoyuki_kaneda_0-1685347013280.pngnaoyuki_kaneda_1-1685347037742.png

DataStore容量がFullに近い状況ではResyncがSusupendとなりました。そのため100%使いきる動作とはなりませんでしたが、具体的にどの容量がResync Suspendの閾値となっているのかはわかりませんでした。

4 Operator

 • 

877 メッセージ

2023年5月29日 08:00

nakeda さんに回答 & 検証頂いた通りですが、空き容量が足りない場合は一時停止されます。

このときの容量上限の目安は、容量予約の有無、重複排除&圧縮 or 圧縮のみの有効の有無やドライブ本数、各ドライブの空き容量によって可変となります。
操作領域 (オブジェクトリザーブ : OR) とホスト障害時の容量確保 (ホストリビルドリザーブ : HRR) を予約していれば、OR の予約値 + α を残してサスペンド。

容量予約をしていない場合は実際に利用している操作領域 + α を残してサスペンドします。

+ α の部分は各ドライブの空き容量の合算値になり、例えば vSAN の容量モニタでは 1TB 余っている様に見えても、実際には各ドライブ毎の空き容量が逼迫していて Resync 先が確保できない場合はこれもサスペンドします。

巨大なサイズの仮想ディスクの 255GB を超える場合にはコンポーネントがデフォルトでは 255GB 単位で分割されて各ドライブに配置されますが、そうした場合でも 255GB の空き容量が Resync 先のドライブ単体になければサスペンドとなります。

ただし、容量予約をしない運用は大きなリスクを伴い、上記の様な Resync がサスペンドするまで容量が枯渇すると実際に稼働している VM が Thin で作られていると徐々に増加するディスク容量を確保できずに VM が停止する事故が発生します。 Resync のサスペンド = システム停止直前 と思ったほうが良いです。

そのため、少なくとも OR の確保、そしてなるべくならば N+1 の容量確保ができる HRR も有効にして運用する前提のサイジングを行ってください。

その辺りの考え方は昨年ご質問いただいたスレッドの関連リンクも合わせて参照願います。

4 Operator

 • 

1.8K メッセージ

2023年5月31日 06:00

 

ちなみにサスペンドになったタスクは空き容量を
確保した後に手動で再開したり、サスペンドになった
タスクを一旦削除したりは可能なものでしょうか?

 

検証では、空き容量を確保した段階で自動的に再開されました。

 

 

また、途中でサスペンドされるということは
容量が95%付近まで枯渇したうえに一部データは
二重化されているが、一部のデータは2重化されていない
という不安定な状態だと思いますので、リシンク処理が
実行される前の状態に戻すような機能があれば
いいなと思うのですが、そういったことは可能でしょうか?

 

少なくとも標準運用手順の範囲でそういった操作は存在しない認識となります。検証においてもそのような操作を示唆するコマンドやボタンはありませんでした。

vSANはVMFSデータストアと異なり、データストア単位(LUN)ではなくオブジェクト単位でRAID保護レベルが定義されています。
つまり、(標準的な4ノード以上のクラスタを想定時においては)ノード or ディスク障害が発生した時点で(Resync処理が一切ない状態で)、冗長性が低下していないオブジェクト)と低下しているオブジェクトが混在しています。(ご質問の文言をお借りするなら不安定な状態)

そのような状態を嫌うのであれば、速やかに容量を確保してResyncを完了してすべてのオブジェクトで冗長性を回復することが必要です。もし冗長なしの状態にそろえたいのであれば、FTT0に指定してすべてのオブジェクトを保護なしの状態にするくらいになってしまいますが、リスクを広げているだけとなってしまいますのでデータ保護観点では非常に危険といえます。

 

 

4 Operator

 • 

1.8K メッセージ

2023年5月29日 01:00

Solved: 7.0.1c VSAN resync stuck with 1 object in the queu... - VMware Technology Network VMTN
こちらのコミュニティの情報によると95%とのことです。

5 Practitioner

 • 

891 メッセージ

2023年5月30日 21:00

naoyuki_kanedaさん、kwmtさん


ご回答ありがとうございます。
また、検証までしていただきまして感謝いたします。
サスペンドする値は構成によって変わるが、
目安として95%ぐらいとして考えておきます。


ちなみにサスペンドになったタスクは空き容量を
確保した後に手動で再開したり、サスペンドになった
タスクを一旦削除したりは可能なものでしょうか?


また、途中でサスペンドされるということは
容量が95%付近まで枯渇したうえに一部データは
二重化されているが、一部のデータは2重化されていない
という不安定な状態だと思いますので、リシンク処理が
実行される前の状態に戻すような機能があれば
いいなと思うのですが、そういったことは可能でしょうか?

 

以上、よろしくお願いいたします。

5 Practitioner

 • 

891 メッセージ

2023年6月1日 17:00

naoyuki_kanedaさん

ご回答ありがとうございます。

やはり一番大切なことはなにかあったときのために

容量をしっかり確保しておくことのようですね・・・

容量については特に注意するようにいたします。

イベントは見つかりませんでした!

Top