クラスタに 2 つを超えるノードがあり、ストレージが直接接続されている場合は、クラスタの最後のノードがパニックを起こしたり、(stopnode 移行を行わずに) クラスタから異常な抜け方をすると、問題が起ることがあります。このような場合、すべてのノードがクラスタから削除されているため、クラスタは存在しなくなりますが、最後のノードは、異常な方法でクラスタから抜けたためノードロックをまだ保持している場合があります。この場合には、この後で scadmin startcluster コマンドを実行しても、ノードロックを取得できません。
この問題を回避するには、クラスタを再起動する前にノードロックを手動で解除する必要があります。クラスタが完全に異常終了した後に、ノードロックを手動で解除し、クラスタを再起動するには、次の手順を実行します。
root でクラスタ構成を表示します。
# scconf clustername -p |
出力から次の行を探します。
clustername Locking TC/SSP, port : A.B.C.D, E |
端末集配信装置 (TC) に対するノードロックの場合は、次の各手順を行います。
端末集配信装置 tc-name に対し telnet 接続を開始します。
$ telnet tc-name Trying 192.9.75.51... Connected to tc-name. Escape character is `^]'. |
Return キーを押して処理を続けます。
cli (コマンド行インタフェース) を指定します。
Enter Annex port name or number: cli |
root でログインします。
admin コマンドを実行します。
annex# admin |
Port E をリセットします。
admin : reset E |
telnet 接続を閉じます。
annex# hangup |
手順 4 に進みます。
システムサービスプロセッサ (SSP) に対するノードロックの場合は、次の各手順を行います。
SSP に接続する。
$ telnet ssp-name |
ユーザー ssp でログインします。
次のコマンドを使って clustername.lock ファイルの情報を表示します (このファイルは、/proc/csh.pid への記号リンクになっています)。
$ ls -l /var/tmp/clustername.lock |
プロセス csh.pid を検索します。
$ ps -ef | grep csh.pid |
ps -ef の出力に csh.pid プロセスがある場合は、次のコマンドを使ってこのプロセスを強制終了します。
$ kill -9 csh.pid |
clustername.lock ファイルを削除します。
$ rm -f /var/tmp/clustername.lock |
SSP からログアウトします。
クラスタを再起動します。
$ scadmin startcluster |