2.4. High Availability
高可用性とは、パフォーマンスが低下するかサブシステムの障害に対応するために、設計に十分な余分の容量を含む長い期間にわたって継続的に動作するシステムまたはコンポーネントのことです。可用性は、100% の運用中または失敗に対して測定できます。システムまたは製品の可用性の広く抑制されますが、困難な標準は、"five 9s" (99.999%)可用性として知られています。高可用性システムでは、システムのダウンタイムやデータ損失を最小限に抑えることができます。
各サービスの冗長インスタンスを実行する冗長ハードウェアを追加して、高可用性が実装されます。サービスのインスタンスを実行しているハードウェアの一部に障害が発生した場合、システムはフェイルオーバーしてサービスの別のインスタンスを使用できます。
2.4.1. 高可用性(keepalived) リンクのコピーリンクがクリップボードにコピーされました!
keepalived は、アクティブな Linux 仮想サーバー(LVS)ルーターで実行され、1 つ以上のオプションのバックアップ LVS ルーターで実行されます。アクティブ LVS ルーターには 2 つのロールがあります。
- 複数の実サーバー全体の負荷分散
- それぞれの実サーバー上にあるサービスの整合性チェック
アクティブ(マスター)ルーターは、Virtual Router Redundancy Protocol (VRRP)を使用してアクティブなステータスをバックアップルーターに通知します。この場合、マスタールーターが一定の間隔でアドバタイズメントを送信する必要があります。マスタールーターは、通常の間隔でアドバタイズメントを送信する必要があります。アクティブルーターがアドバタイズメントの送信を停止すると、新しいマスターが選出されます。
keepalived
デーモンは、サービスまたはシステムを監視し、問題が発生した場合に自動的にスタンバイにフェイルオーバーするために使用されます。keepalived
デーモンは、健全性に従って動的に分散されたサーバープールを動的に維持し、管理するためのチェッカーのセットを実装します。これは、低レベルで高速プロトコルの対話を提供する Virtual Router Redundancy Protocol (VRRP)状態マシンにフックのセットを実装します。keepalived
フレームワークは、個別に使用することも、すべて一緒に使用して回復性のあるインフラストラクチャーを提供することもできます。
2.4.2. インスタンスの高可用性(pacemaker リモート) リンクのコピーリンクがクリップボードにコピーされました!
Pacemaker は、Linux プラットフォームの状態高可用性および負荷分散スタックです。インスタンスの高可用性は、障害の有無について仮想マシンを監視し、フェンシングおよび復旧に対する自動応答をトリガーすることで実現されます。フェンシングとは、障害が発生したホストを完全に分離する操作です。復旧システムは、障害が発生したホストからの仮想マシンのレスキューをオーケストレーションします。
Pacemaker は、OpenStack インフラストラクチャーを高可用性にする場合に役立ちます。本質的に、管理しているアプリケーションを理解するものではありません。代わりに、リソースエージェント(RA)に依存します。リソースエージェントは、クラスターによって管理される各アプリケーションの開始、停止、および正常性の確認方法に関する知識をカプセル化するスクリプトです。
クラウドまたは仮想化環境でワークロードの高可用性を提供するために、最終的なソリューションには 3 つの主要な機能があります。
- 特定のコンピュートノードに障害が発生したことを検出し、障害の処理をトリガーする監視機能。
- 関連するコンピュートノードを環境から削除するフェンシング機能。
- 障害が発生したコンピュートノードからのインスタンスのレスキューを調整するための復旧機能。