VxRail クラスタ起動時のタイムアウト値について詳細調査
イントロ VxRail は、VxRail クラスタShutdown機能を利用してクラスタをシャットダウンすると次回起動時に自動的にメンバーノードのメンテナンスモードが解除され、vSANが再度有効化されたのちにSystemVMが自動で起動するようになっている。 起動時に上記の動作を提供するスクリプトが仕込まれており、それは以下のスクリプトファイルである。 /etc/rc.local.d/998.start_vm.py このスクリプトには上記の動作を安定化させるためにいくつかの待機フェーズが仕込まれている。この記事では、スクリプト内で利用される各待機フェーズにおけるタイムアウト値を調査した 免責 本記事内容は、7.0.320 で稼働するノードの該当スクリプトを解析しています。 調査結果についてはベストエフォートであり、必ずしもその正確性や網羅性を保証するものではありません。 スクリプトの動作を確認 スクリプト内で以下の部分がメイン関数であるとわかる 546 def main(): 547 parser = argparse.ArgumentParser() 548 parser.add_argument('-d', dest='debug', help='Debug mode (no run in background)', action='store_true') 549 550 args = parser.parse_args() 551 if not args.debug: 552 daemonize() 553 do_start_vms() do_start_vms という関数が呼び出されている 422 def do_start_vms():...