サーバの切り戻し

今朝はサーバの切り戻しを行った。
先日、動作中にサーバの一台がこけて該当サーバのミラー機に切り替えを行っていたんだけど、プライマリ機が復旧したのでサーバをプライマリ機に戻す作業が実施された。
午前2時にサービスを止めたのち、ミラー機で運用中のデータをプライマリ機にコピーするのに4時間。
それからプライマリ機を立ち上げようとしたところ、どうにもサブシステムのひとつと通信が繋がらない。調べるとサブシステム側のインタフェース処理が立ち上がっていない。
システム側のサービス開始を急ぐベンダ担当者はサブシステムを切り離してシステム側のサービスを始めようかと言い出す。それをされてしまうと、サブシステムを使っている部門で大量の手入力が発生してしまう。仕方が無いのでサブシステム側の復旧を私が試みた。
とは言っても、出来ることは多くない。問題を起こしているサブシステム側のサーバの立ち上げスクリプトを読んで、問題点を探るぐらいしかし様が無い。
で、見てみると失敗の原因は簡単だった。
インタフェースサーバからメインのサーバの共有ドライブを見に行くときに相手(メインサーバ)のアドレスが名前で書かれていたんだけど、インタフェースサーバ側のネットワーク設定のどこにもDNSの設定も無ければWINSの設定も無い。lmhostsやhostsにも何も書かれていない。これでは相手サーバの名前解決が出来るわけが無い。
この起動スクリプトは動作させたことが無い!
サブシステムベンダの担当者、電気あんま決定にょろ。
起動スクリプトに書かれていた手順を手でやってみたところ、相手先サーバのIPで共有をかけようとしたが、サーバが見つからないと言われる。IPアドレスはメインサーバに貼られていたラベルに書かれていたものを見たんだけど。仕方が無いので、メインサーバ側のコマンドプロンプトをあけてIPCONFIGしてみるとIPアドレスがラベルに書かれていたものと違う。
何より現物あわせが大事であると再確認した。

IPCONFIGのIPアドレスで共有をかけてみると今度はうまく行った。続いてインタフェース処理を立ち上げるとちゃんとSocketのListenに入った模様。システム側から接続に行くと今度は繋がった。
30分の遅延でシステムは稼動再開しました。
一安心である。
その後は何も問題は無く、昼前に待機を解除して職場を辞した。
やはり、作ったスクリプトは一度は動作させないといけない。動かせないときには細心の注意を払ってチェックをせねばね。あと、ラベルのIPアドレスと実機のIPアドレスはちゃんとあわせとけよ。
と言うことで他山の石にできないトラブルでした。