Sun Cluster 2.2 のシステム管理

クラスタパニックの後にノードロックのフリーズを解除するには

クラスタに 2 つを超えるノードがあり、ストレージが直接接続されている場合は、クラスタの最後のノードがパニックを起こしたり、(stopnode 移行を行わずに) クラスタから異常な抜け方をすると、問題が起ることがあります。このような場合、すべてのノードがクラスタから削除されているため、クラスタは存在しなくなりますが、最後のノードは、異常な方法でクラスタから抜けたためノードロックをまだ保持している場合があります。この場合には、この後で scadmin startcluster コマンドを実行しても、ノードロックを取得できません。

この問題を回避するには、クラスタを再起動する前にノードロックを手動で解除する必要があります。クラスタが完全に異常終了した後に、ノードロックを手動で解除し、クラスタを再起動するには、次の手順を実行します。

  1. root でクラスタ構成を表示します。


    # scconf clustername -p
    

    出力から次の行を探します。


    clustername Locking TC/SSP, port  : A.B.C.D, E
    

    • E が正数の場合は、ノードロックは、端末集配信装置 (TC) A.B.C.D とポート E に対して保持されています。この場合は、手順 2 に進んでください。

    • E が -1 の場合は、ロックは SSP に対して保持されています。この場合は、手順 3 に進んでください。

  2. 端末集配信装置 (TC) に対するノードロックの場合は、次の各手順を行います。

    1. 端末集配信装置 tc-name に対し telnet 接続を開始します。


      $ telnet tc-name
      Trying 192.9.75.51...
      Connected to tc-name.
      Escape character is `^]'.

      Return キーを押して処理を続けます。

    2. cli (コマンド行インタフェース) を指定します。


      Enter Annex port name or number: cli
      

    3. root でログインします。

    4. admin コマンドを実行します。


      annex# admin
      

    5. Port E をリセットします。


      admin : reset E
      

    6. telnet 接続を閉じます。


      annex# hangup
      

    7. 手順 4 に進みます。

  3. システムサービスプロセッサ (SSP) に対するノードロックの場合は、次の各手順を行います。

    1. SSP に接続する。


      $ telnet ssp-name
      

    2. ユーザー ssp でログインします。

    3. 次のコマンドを使って clustername.lock ファイルの情報を表示します (このファイルは、/proc/csh.pid への記号リンクになっています)。


      $ ls -l /var/tmp/clustername.lock
      

    4. プロセス csh.pid を検索します。


      $ ps -ef | grep csh.pid
      

    5. ps -ef の出力に csh.pid プロセスがある場合は、次のコマンドを使ってこのプロセスを強制終了します。


      $ kill -9 csh.pid
      

    6. clustername.lock ファイルを削除します。


      $ rm -f /var/tmp/clustername.lock
      

    7. SSP からログアウトします。

  4. クラスタを再起動します。


    $ scadmin startcluster