LifeKeeper for Linux 環境において、ご利用状況によってはLifeKeeperがフェイルオーバ処理を中止するケースがあります。
その代表的な例と対処法について以下にご紹介します。
■ケース
1.リソース起動処理の中止
1-1. DataKeeperリソース 同期処理中/一時停止状態
1-2. IPリソース 仮想IPアドレス(VIP)重複
■用語説明
本記事に関連する用語を以下に記載します。
フェイルオーバ:障害検知後にLifeKeeperが行う自動的なリソースの切り替え処理
■前提知識
本記事を内容を把握する上で必要な前提知識を以下に示します。
・フェイルオーバの動作
- リソース障害時
障害検知(稼働系)—>回復処理(稼働系)—>リソース停止処理(稼働系)—>リソース起動処理(待機系)
- ノード障害時
障害検知(待機系)—>リソース起動処理(待機系)
・リソース停止処理/起動処理の順序
- リソース停止処理(上位のリソースから順番に停止します)
[1] |
+–[2] |
+–[3]
- リソース起動処理(下位のリソースから順番に起動します)
[3] |
+–[2] |
+–[1]
■各ケースの詳細
1.リソース起動処理の中止
リソースの起動処理を中止した場合、中止した時点でフェイルオーバ処理が終了します。 起動処理が中止されたリソースは、LifeKeeper GUI上で”Failed”と表示されます。
該当リソースで保護しているアプリケーションの観点で起動処理が中止された原因を調査する必要があります。各ARKの処理概要は、以下のURLから参照可能です。調査の参考にしてください。
カテゴリー’製品仕様’
http://lk.sios.com/?cat=15
※本FAQでは、リソースの起動処理を中止する具体例として、DataKeeperリソースとIPリソースのケースを以下に記載します。
1-1. DataKeeper リソース 同期処理中/一時停止状態
ミラーリング作成時等に行われる同期処理中やミラーリングが一時停止の状態で切り替え処理が発生した場合、フェイルオーバ処理を中止します。この動作は、正常な動作です。データの整合性を保つため、同期処理中および一時停止状態で切り替え処理が発生した場合に待機系ノードのDataKeeperリソースの起動を抑止します。
上記の理由で切り替えが中止された場合は、元稼働系ノードでリソースを起動してください。一時停止状態でフェイルオーバが発生した場合、リソース起動後に一時停止を解除してください。同期処理中にフェイルオーバが発生した場合、リソース起動後に同期の完了を待ってください。同期中および一時停止状態が変更された後にリソースの切り替えを行ってください。
DataKeeperリソースのステータスを確認する方法については、以下のURLを参照してください。
SIOS Protection Suite for Linux テクニカルドキュメンテーション / ミラーのステータスの表示
一時停止状態でフェイルオーバが発生した時のLifeKeeperログ出力例を示します。以下の例では、ミラーリングが一時停止の状態でリソース障害が発生して、LK01サーバからLK02サーバへリソースのフェイルオーバを行いますが、上記の理由によりフェイルオーバーを処理を中止しています。
<ログ表示例-切り替え元サーバのログ>
Sep XX XX:XX:XX LK01 remove[4598]: ERROR:dr:remove:datarep-DK:104087:The mirror "/dev/md0" (resource: "datarep-DK") is not in sync between systems "LK01" (source) and "LK02" (target) (status: -1). You will not be able to failover the resource to the target system listed above. You will have to bring the resource in-service on another system first and a resync will occur to ensure data reliability
<ログ表示例-切り替え先サーバのログ>
Sep XX XX:XX:XX LK02 restore[12992]: ERROR:dr:restore:datarep-DK:104086:The "datarep-DK_data_corrupt" flag is set in "/opt/LifeKeeper/subsys/scsi/resources/netraid/" on system "LK02". To avoid data corruption, LifeKeeper will not restore the resource
1-2. IP リソース 仮想IPアドレス(VIP) 重複
IPリソース起動時に保護対象の仮想IPアドレスと重複するIPアドレスが存在した場合、リソースの起動処理を中止します。以下はリソース起動時に仮想IPアドレスの重複を検知した際のログです。
<ログ表示例-切り替え先サーバのログ>
Sep XX XX:XX:XX LK02 restore[6450]: ERROR:ip:restore:ip-XXX.XXX.XXX.XX:123024:IP address seems to still exist somewhere else
IPアドレスの重複を許可しなければならない場合は、/etc/default/LifeKeeperファイルに以下のパラメータを追加することで、IPアドレスの重複チェックを省くことが可能です。ただし、このパラメータは、同セグメント上に同じIPアドレスが存在していた時に正常な動作を保証するものでありません。
NOIPUNIQUE=1
※設定は両ノードで行う必要があります。
※LifeKeeperの再起動は必要ありません
改訂履歴
[公開日:2015年10月9日] [更新日:2016年10月17日] リンク先ドキュメントを v9.1.0 へ変更 [更新日:2017年7月5日] リンク先ドキュメントを v9.1.2 へ変更 [更新日:2017年10月23日] リンク先ドキュメントを v9.2.0 へ変更 [更新日:2017年12月18日] リンク先ドキュメントを v9.2.1 へ変更 [更新日:2018年3月19日] リンク先ドキュメントを v9.2.2 へ変更 [更新日:2018年9月7日] リンク先ドキュメントを v9.3 へ変更 [更新日:2019年5月13日] リンク変更 [更新日:2019年10月21日] リンク先ドキュメントを v9.4.0 へ変更