IP リカバリーキットが提供する処理概要についてご説明します。
対象製品
・IP リカバリーキット (LifeKeeper for Windows)
※本処理概要は LifeKeeper for Windows v8.4 に付属するリカバリキットをもとに作成しています。
クイックチェック (quickCheck)
(1) 仮想 IP を設定している NIC に対してケーブルの接続状態を確認します。
接続ステータスが「DISCONNECTED」の場合:
監視失敗とみなし、以下のようなメッセージをイベントログに出力して、監視処理を終了します。
Error 6507 Network cable for IP address [ID] on network adapter [NIC 名] is disconnected !.
接続ステータスが「CONNECTED」の場合:
(2) へ進みます。
(2) 以下のコマンドを実行し、リソースの仮想 IP アドレスに関連付いている現在の NIC の GUID を抽出します。
$LKROOT/admin/kit/Ipapp/bin/ips_ipchange -l
リソース時に保持した GUID と、上記コマンドから抽出した NIC の GUID を比較します。
一致している場合、正常に起動しているとみなして監視処理を終了します。
一致しない場合、監視失敗とみなし以下のようなメッセージをイベントログに出力して、監視処理を終了します。
Error 6508 IP address [ID] was not found on network adapter [NIC 名]. Failing IP resource.
詳細チェック (deepCheck)
(1) スタンバイノードが起動しているかを確認し、起動していない場合は監視処理を正常終了します。
スタンバイノードが起動している場合、(2) へ進みます。
(2) 仮想IPを設定している NIC に対してケーブルの接続状態を確認します。
接続ステータスが「DISCONNECTED」の場合:
以下のようなメッセージをイベントログに出力します。しかし、監視失敗とはみなさず監視処理を終了します。
Warning 6406 The network cable for network adapter [NIC 名] servicing protected IP address [IP アドレス] on system [ノード名] is currently disconnected! This could prevent a successful resource failover to that system. Please reconnect the cable.
接続ステータスが「CONNECTED」の場合:
監視成功とみなし、監視処理を終了します。
起動処理 (restore)
(1) 最初に以下のようなメッセージをイベントログへ出力します。
Information 6013 Restore IP Address [ID] Start
(2) 以下のコマンドを実行し、ARP キャッシュをクリアします。
$windir/system32/arp -d [IP アドレス]
(3) 仮想 IP アドレスが既に使用されているかを確認します。未使用の場合、(4) へ進みます。
既に使用されている場合、以下のコマンドを実行し、リソースの仮想 IP アドレスに関連付いている現在の NIC の GUID を抽出します。
$LKROOT/admin/kit/Ipapp/bin/ips_ipchange -l
リソース時に保持した GUID と、上記コマンドから抽出した NIC の GUID を比較します。
(3-1) 一致している場合、割り当てるべき NIC に仮想 IP アドレスが関連づいていると判断し、(4) へ進みます。
(3-2) 一致していない場合、別の NIC に割り当てられていると判断し、起動失敗とみなして (7) へ進みます。
(4) 仮想 IP をアドレス設定している NIC に対してケーブルの接続状態を確認します。
接続ステータスが「DISCONNECTED」の場合:
以下のようなメッセージをイベントログに出力します。しかし、起動失敗とはみなさず (5) へ進みます。
Error 6019 -p [CMD] "Network cable on adapter [NIC 名] is not connected !
接続ステータスが「CONNECTED」の場合:
以下のコマンドを実行して IP アドレスを NIC へ関連付け、(4-1) へ進みます。
$LKROOT/admin/kit/Ipapp/bin/ips_ipchange -a -n[GUID] -i[IP アドレス] -m[ネットマスク]
(4-1) 以下コマンドを実行し、arp キャッシュを更新します。
$LKROOT/Admin/kit/Ipapp/bin/ips_arpupdate [IP アドレス] [GUID]
コマンド実行に失敗した場合、以下のようなメッセージをイベントログへ出力し、 (4-2) へ進みます。
Error 6016 ARP cache update for IP address [ID] on the Primary network adapter failed ([ARPERROR]) (ips_arpupdate [IP アドレス] [GUID]).
(4-2) 以下コマンドを実行して仮想 IP アドレスが割当てられた NIC を抽出し、割当すべき NIC へ正しく関連付けられたことを確認します。
$LKROOT/Admin/kit/Ipapp/bin/ips_ipchange -l
正しく割当てられた場合、リソースを正常に起動できたと判断して (6) へ進みます。
異なる NIC に割当てされた場合、以下のようなメッセージをイベントログへ出力し、(5) へ進みます。
Error 6017 Verification of IP address insertion of IP address [ID] on the Primary network adapter failed. (IPINDEX=[GUID]; EXTIPADDR=[IP アドレス]; EXTMASK=[ネットマスク]).
(5) 仮想 IP アドレスを正しく NIC へ関連付けられなかったため、 ローカルリカバリとして再度 NICへの割当てを実行します。
ローカルリカバリ設定が無効である場合、以下のようなメッセージを出力し、IP リソース起動に失敗したと判断して (7) へ進みます。
Error 6008 Local Recovery was not enabled for [IP アドレス]. Failing IP restore action.
ローカルリカバリ設定が有効である場合、(4) の一連の処理を再度実行します。
(4) の処理でも NIC へ正しく仮想 IP アドレスを割当できなかった場合、起動失敗とみなして (7) へ進みます。
(6) 起動処理に成功した場合、以下のメッセージを出力して起動処理を終了します。
Information 6001 Restore IP Address [ID] End: Successful
(7) 起動処理に失敗した場合、以下のメッセージを出力して起動処理を終了します。
Error 6002 Restore IP Address [ID] Failed
停止処理 (remove)
(1) 以下コマンドで仮想 IP アドレスが割当てられている NIC の GUID を抽出します。
$LKROOT/admin/kit/Ipapp/bin/ips_ipchange -l
(2) 以下コマンドで NIC から仮想 IP アドレスを削除します。
$LKROOT/admin/kit/ipapp/bin/ips_ipchange -d -c"[GUID]"
仮想 IP アドレスの削除に失敗した場合、以下のようなメッセージを出力します。しかし、リソース停止失敗とは判断せず (3) へ進みます。
Error 6105 IP address deletion was not successful. ips_ipchange.exe returned an error. However, the remove action is continuing. The IPCONTEXT=[GUID]; SWITCHABLEIP=[IP アドレス]; Error Code=[IPSERRNO]; Error Message: [IPSERRMSG]
(3) 以下コマンドで ARP キャッシュを削除します。
$windir/system32/arp -d [IP アドレス]
(4) 以下コマンドを用い、正しく仮想 IP アドレスを削除できたことを確認します。
正しく削除できた場合、停止成功と判断して (5) へ進みます。
正しく削除できなかった場合、以下のようなメッセージを出力し、停止失敗と判断して (6) へ進みます。
Error 6018 IP address [ID] was still active on a network interface [NIC 名]. IP address deletion has failed.
(5) 回復処理に成功した場合、以下のメッセージを出力して回復処理を終了します。
Information 6101 Remove IP Address [ID] End: Successful
(6) 回復処理に失敗した場合、以下のメッセージを出力して回復処理を終了します。
Error 6102 Remove IP Address [ID] Failed
回復処理 (recover)
(1) 最初に以下のようなメッセージを出力します。
Information 6605 Recover IP Address [ID] Start.
(2) ローカルリカバリが有効であることを確認します。
ローカルリカバリが無効である場合、以下のようなメッセージを出力して (8) へ進みます。
Error 6605 [TAG] was not created for local recovery. Aborting local recovery.
(3) 以下コマンドで仮想 IP アドレスを NIC から削除します。
$LKROOT/admin/kit/ipapp/bin/ips_ipchange -d -c"[GUID]"
(4) 以下コマンドで、リソース作成時に Primary NIC として設定した NIC へ仮想 IP アドレスを割当てます。
$LKROOT/admin/kit/Ipapp/bin/ips_ipchange -a -n"[GUID]" -i"[IP アドレス]" -m"[ネットマスク]"
(4-1) 関連付けに失敗した場合、以下のようなメッセージを出力して (5) へ進みます。
Error 6607 IP address addition for resource [TAG] and IP address [ID] on the primary network adapter failed; ( -n[GUID] -i[IP アドレス] -m[ネットマスク]). Trying Local Recovery Adapter.
(4-2) 関連付けに成功した場合、 quickCheck、deepCheck を順に実行します。
両方ともに正常終了した場合、ローカルリカバリに成功したと判断して (7) へ進みます。
いずれかの監視処理に失敗した場合、(5) へ進みます。
(5) 以下コマンドで ARP キャッシュを削除します。
$windir/system32/arp -d [IP アドレス]
(6) 以下コマンドで、リソース作成時にローカルリカバリ用 NIC として設定した NIC へ仮想 IP アドレスを割当てます。
$LKROOT/admin/kit/Ipapp/bin/ips_ipchange -a -n"[GUID]" -i"[IP アドレス]" -m"[ネットマスク]"
(6-1) 関連付けに失敗した場合、以下のようなメッセージを出力し、ローカルリカバリに失敗したと判断して (8) へ進みます。
Error 6608 IP address addition for resource [TAG] and IP address [ID] on the local recovery adapter failed; (-n[GUID] -i[IP アドレス] -m[ネットマスク]). Failing the resource.
(6-2) 関連付けに成功した場合、 quickCheck、deepCheck を順に実行します。
両方ともに正常終了した場合、ローカルリカバリに成功したと判断して (7) へ進みます。
いずれかの監視処理に失敗した場合、、ローカルリカバリに失敗したと判断して (8) へ進みます。
(7) 回復処理に成功した場合、以下のメッセージを出力して回復処理を終了します。
Information 6603 Recover IP Address [ID] End: Successful
(8) 回復処理に失敗した場合、以下のメッセージを出力して回復処理を終了します。
Error 6604 Recover IP Address [ID] Failed
改訂履歴
[公開日:2015年4月1日] [更新日:2017年3月30日] 文章の体裁を整えました
[更新日:2018年9月27日] タイトルを変更しました。