LinuCレベル4 システムアーキテクト 可用性の設計 問23
可用性の設計/フェイルオーバークラスタPostgreSQLデータベース・NFSマウント・VIPの3リソースを同じノードで動かすアクティブ・スタンバイ構成を設計している。この冗長化設計に関する説明として適切でないものはどれか。
当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「可用性の設計」に対応。実際の試験問題ではありません)
- AkeepalivedのVRRPだけでVIPを引き継ぐ構成にすれば、NFSマウント・PostgreSQL・VIPの3リソースを決まった順序で連動させてフェイルオーバーできる
- BPacemaker/Corosyncを使えば、NFSマウント→PostgreSQL起動→VIP割り当ての順で起動し、逆順で停止するリソースの依存関係を定義して複数リソースを連動させられる
- CVRRPはVIPの引き継ぎに特化しており、その前後のアプリケーション起動・停止やストレージマウントを決まった順序で制御する機能を持たない
- D複数のリソースを管理するクラスタでは、各リソースに対してstart・stop・monitorを定義したリソースエージェントを用い、Pacemakerがその呼び出しを制御する
正解:A
解説
keepalived/VRRPはVIPの引き継ぎに特化した機構であり、NFSマウントのアンマウント・PostgreSQLの停止・VIPの移動といった複数リソースを依存関係や順序を保って連動させる機能を持ちません。複数の異なるリソースをフェイルオーバー時に協調させるにはPacemaker/Corosyncを使い、リソースエージェントにstart・stop・monitorを定義し、orderやcolocationの制約で依存関係を記述します。keepalivedはVIPのみを管理するシンプルな構成に向き、複数リソースの連動が必要な場合はPacemaker/Corosyncが適しています。
選択肢ごとの解説
- A正しい(誤っている記述)。VRRPはVIPの引き継ぎのみを行い、NFSマウントやPostgreSQLの順序付きフェイルオーバーを制御する機能はありません。Pacemakerが必要です。
- B誤り(正しい記述)。Pacemaker/Corosyncはorder制約でリソースの起動・停止順序を定義でき、複数リソースを連動させてフェイルオーバーできます。
- C誤り(正しい記述)。VRRPはVIP引き継ぎに特化しており、アプリ起動・停止やストレージマウントの順序制御を持ちません。
- D誤り(正しい記述)。Pacemakerはリソースエージェントを通じてstart・stop・monitorを呼び出し、各リソースのライフサイクルを制御します。