付録A Automated Evacuation Through Instance HA
インスタンス HA により、OpenStack はノードで障害が発生したときにコンピュートノードからのインスタンスの退避プロセスを自動化します。以下のプロセスは、コンピュートノードに障害が発生した場合にトリガーされる一連のイベントを説明します。
-
コンピュートノードに障害が発生すると、
IPMIエージェントは 最初のレベルのフェンシング を実施し、ノードの電源がオフになるように物理的にリセットします。オンライン状態のコンピュートノードからインスタンスを退避させると、データが破損したり、オーバークラウド上で複数の同一インスタンスが実行されたりする可能性があります。ノードの電源がオフになると、フェンシング済みとみなされます。 IPMI による物理的なフェンシングの後に、
fence-novaエージェントが 2 次レベルのフェンシングを実施し、フェンシング 済みのノードを"evacuate=yes"属性でマーキングします(この属性は、クラスターのノードごとに設定する必要があります)。これを実行するには、エージェントが実行されます。$ attrd_updater -n evacuate -A name="evacuate" host="FAILEDHOST" value="yes"ここで、FAILEDHOST は障害が発生したコンピュートノードのホスト名です。
-
nova-evacuateエージェントは常にバックグラウンドで動作し、クラスターに"evacuate=yes"属性のノードがないか定期的に確認します。nova-evacuateがこの属性を持っていることを検知すると、エージェントはインスタンスの退避と同じプロセスを使用してノードの 退避 を開始します。 -
その間、障害が発生したノードが IPMI によるリセットから起動している間、
nova-compute-checkevacuateエージェントは(デフォルトでは 120 秒間)が待機し、nova-evacuateが退避して終了したかどうかを確認します。そうでない場合は、同じ間隔の後に再度確認します。 -
nova-compute-checkevacuateがインスタンスが完全に退避されていることを確認します。これにより、別のプロセスがトリガーされ、インスタンスをホストするのにフェンシングされたノードが再び使用可能になります。