[Windows] LAN Manager Recovery Kit の処理概要

LAN Manager リカバリーキットが提供する監視機能についてご説明します。

対象製品
・LAN Manager リカバリーキット (LifeKeeper for Windows)
 ※本処理概要は LifeKeeper for Windows v8.6 に付属するリカバリーキットをもとに作成しています。

 
クイックチェック (quickCheck)

(1) 以下コマンドを実行し、リソースに登録されている ID に対応するコンピュータ名のエイリアスを取得できることを確認します。

%SystemRoot%/Sysnative/nbtstat.exe -n | %LKBIN%/grep -q "^[[:space:]]*$ID[[:space:]]*<"

  取得できた場合、監視に成功したとみなして監視処理を終了します。
  取得に失敗した場合、(2) へ進みます。

(2) (1) の処理に失敗した場合、監視失敗とみなして以下のメッセージをイベントログに出力します。

Error 13051 "Resource [リソースタグ名] (Machine Alias [リソースID]) not available"

  イベントログへ出力後、以下のコマンドを実行して監視処理を終了します。

%LKBIN%\LmServerNameDel [リソースID]

 

詳細チェック (deepCheck)

(1) 以下コマンドを実行し、リソースに登録されている ID に対応するコンピュータ名のエイリアスを取得できることを確認します。

%SystemRoot%/Sysnative/nbtstat -n | $LKBIN/grep -i "$ID" | $LKBIN/awk '{print $1}' | $LKBIN/cut -f1 -d"<"

 取得できた場合、監視に成功したとみなして監視処理を終了します。
 取得に失敗した場合、監視失敗とみなして以下のメッセージをイベントログに出力します。
 なお、取得に失敗した場合でも以下のメッセージをイベントログに出力しますが、監視処理は成功とみなして監視処理を終了します。

Error 13034 "Lan Manager machine name [リソースID] is in service but it is not possible to confirm that it is an alias on this node.  If this condition persists, check the configuration of nodes on this network."


 

起動処理 (restore)

(1) リソース起動を行うにあたり、最初に以下のメッセージを出力します。

Information 13083 "LifeKeeper Resource [リソースタグ名]: RESTORE LAN MANAGER COMPUTER NAME ALIAS [リソースID] START."

(2) Windows の sc コマンドを使用して得られるサービスのステータスから、LanmanServer サービスの起動状態を確認します。

sc query LanmanServer

 サービスのステータスが STOPPED の場合、(3) へ進みます。
 サービスのステータスが STOPPED 以外の場合、(5) へ進みます。

(3) 以下のメッセージをイベントログに出力します。

Information 13085 "Starting the LanManager service as it is not up and running on machine [ノード名]."

 次に、Windows の sc コマンドを使用し、LanmanServer サービスと browser サービスを続けて起動し、(4) へ進みます。

sc start LanmanServer
sc start browser

(4) サービス起動処理実行後、再度 LanmanServer サービスの起動状態を確認します。

sc query LanmanServer

 再度 LanmanServer サービスのステータスが STOPPED の場合、起動処理に失敗したとみなして以下メッセージをイベントログに出力後、返値 1 を設定して (A) へ進みます。

Information 13085 "Unable to successfully start the LanManager service on machine [ノード名]."

 サービスのステータスが STOPPED 以外の場合、(5) へ進みます。

(5) 以下コマンドを実行し、リソースに登録されている ID に対応するコンピュータ名のエイリアスを取得できることを確認します。

%SystemRoot%/Sysnative/nbtstat.exe -n | %LKBIN%/grep -q "^[[:space:]]*$ID[[:space:]]*<"

 取得できた場合、監視に成功したとみなして返り値 0 を設定して (A) へ進みます。
 取得できなかった場合、(6) へ進みます。

(6) 以下コマンドを実行し、エイリアス名 [リソースID] を自ノードに追加します。

$LKBIN/LmServerNameAdd [リソースID]

 コマンドの実行に成功した場合、(7) へ進みます。
 コマンドの実行に失敗した場合、起動処理に失敗したとみなして以下メッセージをイベントログに出力後、返値 1 を設定して (A) へ進みます。

Error 13086 "Lifekeeper Resource [リソースタグ名]:  The computer alias name [リソースID] could not be added to the local server."

(7) コンピュータのエイリアス名が自ノードに反映されるまで、以下コマンドを 3秒間隔で最大 60秒間繰り返し実行します。

%SystemRoot%/Sysnative/nbtstat.exe -n | %LKBIN%/grep -q "^[[:space:]]*$ID[[:space:]]*<"

 取得できた場合、監視に成功したとみなして返値 0 を設定して (A) へ進みます。
 初回実行時に取得できなかった場合のみ、以下メッセージをイベントログへ出力し、(7) を繰り返します。

Information 13087 "Lifekeeper Resource [リリースタグ名]:  Waiting up to 60 seconds to verify computer alias name exists on the local server."

 60秒間繰り返してもエイリアス名を取得できなかった場合、起動処理に失敗したとみなして以下メッセージをイベントログに出力後、返値 2 を設定して (A) へ進みます。

Error 13088 "Lifekeeper Resource [リソースタグ名]:  A search could not find the computer alias name [リソースID] on the local server."

(A) 以下のメッセージを出力して起動処理を終了します。

Information 13084 "LifeKeeper Resource [リソースタグ名]: RESTORE LAN MANAGER COMPUTER NAME ALIAS [リソースID] END (err=[返値]). This is an ERROR if err is not 0."

 

停止処理 (remove)

(1) リソース停止を行うにあたり、最初に以下のメッセージを出力します。

Information 13062 "LifeKeeper: REMOVE LAN MANAGER COMPUTER NAME ALIAS [リソースID] START."

(2) Windows の sc コマンドを使用して得られるサービスのステータスから、LanmanServer サービスの起動状態を確認します。

sc query LanmanServer

 サービスのステータスが RUNNING の場合、(3) へ進みます。
 サービスのステータスが RUNNING 以外の場合、サービスが停止しているものと判断して以下メッセージをイベントログに出力後、返値 0 を設定して (A) へ進みます。

Information 13064 "Server service is not up and running on the [ノード名] machine."

(3) 以下コマンドを実行し、リソースに登録されている ID に対応するコンピュータ名のエイリアスを取得できることを確認します。

%SystemRoot%/Sysnative/nbtstat.exe -n | %LKBIN%/grep -q "^[[:space:]]*$ID[[:space:]]*<"

 取得できた場合、(4) へ進みます。
 取得できなかった場合、エイリアスが削除済みであるものと判断し、返値 0 を設定して (A) へ進みます。

(4) 以下コマンドを実行し、エイリアス名を削除します。

%LKBIN%\LmServerNameDel [リソースID]

 コマンドの実行に成功した場合、リソース停止処理に成功したとみなして返値 0 を設定して (A) へ進みます。
 コマンドの実行に失敗した場合、リソース停止処理に失敗したとみなして以下メッセージをイベントログに出力後、返値 1 を設定して (A) へ進みます。

Information 13065 "Unable to delete the computer name alias [リソースID] on the [ノード名] machine."

(A) 以下のメッセージを出力して起動処理を終了します。

Information 13063 "LifeKeeper: REMOVE LAN MANAGER COMPUTER NAME ALIAS [リソースID] END (err=[返値]). This is an ERROR if err is not 0."

 

回復処理 (recover)

(1) 起動処理(restore) と同一の処理を行います。

(2) (1) の起動処理に成功した場合、回復処理に成功したとみなして以下のメッセージをイベントログへ出力し、回復処理を終了します。

Information 13072 "Recovery of Lan Manager Resource [リソースID] Succeeded."

  (1) の起動処理に失敗した場合、回復処理に失敗したとみなして以下のメッセージをイベントログへ出力し、回復処理を終了します。

Error 13071 "Local Recovery of Lan Manager Resource [リソースID] FAILED."

 


改訂履歴

[公開日:2018年3月16日]

return top