LifeKeeperにおける障害監視と検知

LifeKeeperにおける障害監視と検知

   LifeKeeperが検出可能な障害は、ノード障害、ネットワーク障害、アプリケーションの障害、共有ディスクへのアクセス障害がある。


ノード障害の監視

   ノード監視はハートビートと呼ばれるデータの定期的な交換によって相互の死活を監視している。これを行うのが表2で説明したLCMである。ハート ビートラインとして設定できるメディアはTCPとTTYである。TCPハートビートは最大98まで設定することが可能である。

   TTYとはシリアルラインを指しているがTTYハートビートは2ノード間では最大1つ設定可能となっている。設定したハートビートラインは常に LCMにより相互に状態が監視されており、設定されているハートビートラインのうち1つでも不通となった場合は、GUI上のサーバアイコンが緑から黄色に 変わりオペレータに注意をうながす仕組みとなっている(図3)。



ハートビートラインの監視
図3:ハートビートラインの監視

   このハートビートラインはコミュニケーションパスとも呼ばれ、LCDI経由で更新されたサービスの状態をほかのノードのLCDに反映させるための通 信経路としても使用される。LifeKeeperにおけるノード障害はすべてのハートビートが不通となった場合を指す。

ネットワーク障害

   ネットワークの監視と障害の検知は、仮想IP(IPリソース)を定義したNICに対してIPリソースの監視という形で定期的に行われる。非常にシン プルかつ確実な実装となっており、LifeKeeperにおける仮想IPの定義はLinuxのIPエイリアス機能によって実現している。

   図4は図1のサーバAとサーバBに対してクライアントからのアクセスをIP-Cで行う構成例である。


クラスタ構成例
図4:クラスタ構成例

   サーバAのeth0は実IP(IP-A)を持ち、サーバBのeth0は実IP(IP-B)を持っている。LifeKeeperはIPリソースをActiveとするサーバ側で以下のコマンドを実行するのである。
 

ifconfig eth0:1 IP-C

   そしてLCD内に保持しているIPリソースの情報からIP-Cが定義されているNICはサーバAのeth0とサーバBのeth0であることを得て、 定期的なリソースの監視としてIP-AとIP-B間でpingを実行するのである。この監視において相手ノードからの応答がない場合、ネットワークに対し てBroadcast pingを送出し応答があれば自ノードのNICおよびケーブルは正常でネットワークへのアクセスができていると判断する。

アプリケーションの障害

   アプリケーション(サービス)の監視はARKによって行われる。LifeKeeperはアプリケーションごとのARKが用意されており、各ARKによって監視する項目は異なる。

   今回は代表的な例としてOracle ARKが行う監視を説明する。

   Oracle ARKはOracle 9i SE/EE、Oracle 10g SE/SE One/EEに対応している。監視はpsコマンドでpmonの存在チェックを行うとともに、oracle管理ユーザの権限でsqlplusを起動し、以下 のコマンドを発行して実際のアクセスが可能かどうかを監視している。
 

connect / as sysdba
select * from dba_data_files;

   チェックに失敗した場合、ローカルノードでのデータベースの再起動処理が実行される。そして、再度pmonのチェックと表への問い合わせを行って起 動の確認をする。起動に失敗した場合はフェイルオーバが実行される。ローカルノードでのサービスの再起動処理をローカルリカバリと呼ぶ。ローカルリカバリ はフェイルオーバを最終手段とし、システム全体の可用性をできるだけ高めるためのポリシーで、すべてのARKは基本的にこのポリシーが組み込まれている。

共有ディスクへのアクセス障害

   共有ディスクの監視は、マウントポイント/ファイルシステム/ディスクから構成され、ファイルシステムリソースが定義されると開始される。

   図5はファイルシステムリソースのリソース階層を表している。


リソース階層
図5:リソース階層

   LifeKeeperは、LUNレベルでロックするSCSI-2のReservationによりアクセス制御を実現しており、ファイルシステムリ ソースがActiveとなっているノード以外からは絶対にディスクにアクセスできない仕組みとなっている。この方式は、どんな状況においても両ノードから 同時マウントしてしまうことに起因するファイルシステムの破壊が起こらないという利点がある。

   両系マウントが起きる可能性として最も多いのが、スプリットブレイン時である。quorum方式を採用しているクラスタソフトウェアの場合、タイミ ングによっては両系が同時にquorumへのアクセスが可能となりオーナーを取得してしまうことがある。また、オペレーターが誤って手動でマウントを実行 してしまう場合もある。このようなミスオペレーションもLifeKeeperは阻止することが可能である。

   LUNレベルで稼動系からロックされた共有ディスクは定期的にロック状況の確認とマウント状況の確認が実行される。ロック状況の確認はSCSIレベ ルのコマンド発行により確認を行う。マウント状況の確認は、"/etc/mtab"の情報から、正しくマウントされているかや空き容量のチェックなどを 行っている。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30