Sun Cluster 3.0 U1 のシステム管理

第 2 章 クラスタの停止と起動

この章では、クラスタと個々のクラスタノードの停止方法と起動方法について説明します。

この章で説明する手順は次のとおりです。

この章の関連手順の概要は、表 2-1表 2-2 を参照してください。

クラスタの停止と起動の概要

Sun Cluster の scshutdown(1M) コマンドを使用して、クラスタサービス全体を正しい順序で正常に停止します。この作業は、クラスタをある場所から別の場所に移動するとき、あるいは、アプリケーションエラーによってデータが破壊されたときなどに行います。


注 -

クラスタ全体を正しく停止するには、shutdownhalt コマンドではなく、scshutdown コマンドを使用します。Solaris の shutdown コマンドは、ノードを個々に停止する場合にscswitch コマンドと一緒に使用します。詳細は、「クラスタを停止する」、または 「単一クラスタノードの停止と起動」を参照して下さい。


scshutdown コマンドは、次の手順でクラスタのすべてのノードを停止します。

  1. 実行中のすべてのリソースグループをオフラインにする。

  2. すべてのクラスタファイルシステムをマウント解除する

  3. アクティブなデバイスサービスを停止する。

  4. init 0 を実行し、すべてのノードを OBP ok プロンプトの状態にする。


注 -

必要であれば、ノードがクラスタメンバーシップを取得しないように (つまり非クラスタモードで) ノードを起動できます。これは、クラスタソフトウェアをインストールしたり、特定の管理手順を実行する際に役立ちます。詳細は、「非クラスタモードでクラスタノードを起動する」を参照してください。


表 2-1 作業リスト : クラスタの停止と起動

作業 

参照箇所 

クラスタを停止する。 

-scshutdown を使用します。

「クラスタを停止する」

すべてのノードを起動してクラスタを起動する。 

クラスタメンバーシップを取得できるように、ノードにはクラスタインターコネクトとの動作中の接続が必要です。 

「クラスタを起動する」

クラスタを停止して再起動する。 

-scshutdown を使用します。

すべてのノードを起動してクラスタを起動します。 

クラスタメンバーシップを取得できるように、ノードにはクラスタインターコネクトとの動作中の接続が必要です。 

「クラスタを再起動する」

クラスタを停止する


注意 - 注意 -

クラスタノードを停止する場合は、クラスタコンソール上で send brk を使用してはなりません。この機能はクラスタ内ではサポートされていません。send brk を使用して ok プロンプトに go を入力し、再起動すると、ノードがパニックを発生します。


  1. クラスタで Oracle Parallel Server (OPS) を実行している場合は、OPS データベースのすべてのインスタンスを停止します。

    停止の手順については、Oracle Parallel Server のマニュアルを参照してください。

  2. クラスタ内の任意のノードでスーパーユーザーになります。

  3. 直ちにクラスタを停止して OBP の状態にします。

    クラスタ内の 1 つのノードから、次のコマンドを入力します。


    # scshutdown -g0 -y
    

  4. すべてのノードが ok プロンプトの状態になったことを確認します。

    すべてのクラスタノードが ok プロンプトの状態になるまで、どのノードの電源も切らないでください。

  5. 必要であればノードの電源を切ります。

例 - クラスタの停止

次に、正常なクラスタの動作を停止して、すべてのノードを ok プロンプトの状態にしたときのコンソールの出力例を示します。ここでは、-g 0 オプションで停止の猶予期間をゼロに設定し、-y で、確認プロンプトに対して自動的に yes と応答するよう指定しています。停止メッセージは、クラスタ内の他のノードのコンソールにも表示されます。


# scshutdown -g0 -y
May 2 10:08:46 phys-schost-1 cl_runtime: WARNING: CMM monitoring disabled.
phys-schost-1# 
INIT: New run level: 0
The system is coming down.  Please wait.
System services are now being stopped.
/etc/rc0.d/K05initrgm: Calling scswitch -S (evacuate)
The system is down.
syncing file systems... done
Program terminated
ok 

次の作業

「クラスタを起動する」を参照し、停止したクラスタを再起動します。

クラスタを起動する

  1. ノードが停止されて ok プロンプトの状態になっているクラスタを起動するには、各ノードを起動します。

    停止中に構成を変更した場合は、最新の構成情報を持つノードを最初に起動する必要があります。これ以外の場合は、どのような順序でノードを起動してもかまいません。


    ok boot
    

    クラスタコンポーネントが起動すると、起動されたノードのコンソールにメッセージが表示されます


    注 -

    クラスタメンバーシップを取得できるように、クラスタノードにはクラスタインターコネクトとの動作中の接続が必要です。


  2. ノードが問題なく起動し、オンラインであることを確認します。

    scstat(1M) コマンドを使用してノードの状態を表示します。


    # scstat -n
    


    注 -

    クラスタノードの /var ファイルシステムが満杯になると、そのノード上では Sun Cluster が再起動できなくなる可能性があります。この問題が発生した場合は、「満杯の /var ファイルシステムを修復する」を参照してください。


例 - クラスタの起動

次に、ノード phys-schost-1 を起動してクラスタに結合させたときのコンソールの出力例を示します。クラスタ内の他のノードのコンソールにも同様のメッセージが表示されます。


ok boot
Rebooting with command: boot 
...
Hostname: phys-schost-1
Booting as part of a cluster
NOTICE: Node 1 with votecount = 1 added.
NOTICE: Node 2 with votecount = 1 added.
NOTICE: Node 3 with votecount = 1 added.
...
NOTICE: Node 1: attempting to join cluster
...
NOTICE: Node 2 (incarnation # 937690106) has become reachable.
NOTICE: Node 3 (incarnation # 937690290) has become reachable.
NOTICE: cluster has reached quorum.
NOTICE: node 1 is up; new incarnation number = 937846227.
NOTICE: node 2 is up; new incarnation number = 937690106.
NOTICE: node 3 is up; new incarnation number = 937690290.
NOTICE: Cluster members:   1  2  3
...

クラスタを再起動する

scshutdown(1M) コマンドを実行してクラスタを停止してから、各ノードで boot コマンドを使用してクラスタを再起動します。

  1. (任意) クラスタで Oracle Parallel Server (OPS) を実行している場合は、OPS データベースのすべてのインスタンスを停止します。

    停止の手順については、Oracle Parallel Server のマニュアルを参照してください。

  2. クラスタ内の任意のノードでスーパーユーザーになります。

  3. クラスタを停止にして OBP の状態にします。

    クラスタ内の 1 つのノードから、次のコマンドを入力します。


    # scshutdown -g0 -y 
    

    各ノードが停止され、ok プロンプトの状態になります。


    注 -

    クラスタメンバーシップを取得できるように、クラスタノードにはクラスタインターコネクトとの動作中の接続が必要です。


  4. 各ノードを起動します。

    停止中に構成を変更した場合以外は、どのような順序でノードを起動してもかまいません。構成を変更した場合は、最新の構成情報を持つノードを最初に起動する必要があります。


    ok boot
    

    クラスタコンポーネントが起動すると、起動されたノードのコンソールにメッセージが表示されます

  5. ノードが問題なく起動し、オンラインであることを確認します。

    scstat コマンドを使用してノードの状態を表示します。


    # scstat -n
    

    注 -

    クラスタノードの /var ファイルシステムが満杯になると、そのノード上では Sun Cluster が再起動できなくなる可能性があります。この問題が発生した場合は、「満杯の /var ファイルシステムを修復する」を参照してください。


例 - クラスタの再起動

次に、正常なクラスタの動作を停止してすべてのノードを ok プロンプトの状態にしてから、クラスタを再起動したときのコンソールの出力例を示します。ここでは、-g 0 オプションで猶予期間をゼロに設定し、-y で、確認プロンプトに対して自動的に yes と応答するよう指定しています。停止メッセージは、クラスタ内の他のノードのコンソールにも表示されます。


# scshutdown -g0 -y
May 2 10:08:46 phys-schost-1 cl_runtime: WARNING: CMM monitoring disabled.
phys-schost-1# 
INIT: New run level: 0
The system is coming down.  Please wait.
...
The system is down.
syncing file systems... done
Program terminated
ok boot
Rebooting with command: boot 
...
Hostname: phys-schost-1
Booting as part of a cluster
...
NOTICE: Node 1: attempting to join cluster
...
NOTICE: Node 2 (incarnation # 937690106) has become reachable.
NOTICE: Node 3 (incarnation # 937690290) has become reachable.
NOTICE: cluster has reached quorum.
...
NOTICE: Cluster members:   1  2  3
...
NOTICE: Node 1: joined cluster
...
The system is coming up.  Please wait.
checking ufs filesystems
...
reservation program successfully exiting
Print services started.
volume management starting.
The system is ready.
phys-schost-1 console login:
NOTICE: Node 1: joined cluster
...
The system is coming up.  Please wait.
checking ufs filesystems
...
reservation program successfully exiting
Print services started.
volume management starting.
The system is ready.
phys-schost-1 console login: 

単一クラスタノードの停止と起動


注 -

ノードを個々に停止する場合は、scswitch コマンドを Solaris の shutdown コマンドと組み合わせて使用します。クラスタ全体を停止する場合にだけ、scshutdown コマンドを使用します。


表 2-2 作業リスト : クラスタノードの停止と起動

作業 

参照箇所 

クラスタノードを停止する。 

- scswitch(1M) と shutdown(1M) を使用します。

「クラスタノードを停止する」

ノードを起動する。 

クラスタメンバーシップを取得できるように、ノードにはクラスタインターコネクトとの動作中の接続が必要です。 

「クラスタノードを起動する」

クラスタノードをいったん停止してから再起動する。 

- scswitchshutdown を使用します。

クラスタメンバーシップを取得できるように、ノードにはクラスタインターコネクトとの動作中の接続が必要です。 

「クラスタノードを起動する」

ノードがクラスタメンバーシップを取得しないようにノードを起動する。 

- scswitchshutdown を使用し、次に boot -x を使用します。

「クラスタノードを再起動する」

クラスタノードを停止する


注意 - 注意 -

クラスタノードを停止する場合は、クラスタコンソール上で send brk を使用してはなりません。send brk を使用して ok プロンプトに go を入力し、再起動すると、ノードがパニックを発生します。この機能はクラスタ内ではサポートされていません。


  1. Oracle Parallel Server (OPS) を実行している場合は、OPS データベースのすべてのインスタンスを停止します。

    停止の手順については、Oracle Parallel Server のマニュアルを参照してください。

  2. 停止するクラスタノードでスーパーユーザーになります。

  3. すべてのリソースグループ、リソース、およびデバイスグループを、停止するノードから別のクラスタノードに切り替えます。

    停止するノード上で、次のコマンドを入力します。


    # scswitch -S -h nodelist
    
    -S

    指定したノードからすべてのデバイスサービスとリソースグループを退避します。

    -h nodelist

    リソースグループとデバイスグループを切り替えるノードを指定します。

  4. クラスタノードを停止して OBP の状態にします。

    停止するノードで次のようにコマンドを入力します。


    # shutdown -g0 -y -i0
    
  5. クラスタノードが ok プロンプトの状態になったことを確認します。

  6. 必要であればノードの電源を切ります。

例 - クラスタノードの停止

次に、ノード phys-schost-1 を停止したときのコンソールの出力例を示します。ここでは、-g0 オプションで猶予期間をゼロに設定し、-y で、確認プロンプトに対して自動的に yes と応答するよう指定し、-i0 で実行レベル 0 で起動します。このノードの停止メッセージは、クラスタ内の他のノードのコンソールにも表示されます。


# scswitch -S -h phys-schost-1
# shutdown -g0 -y -i0
May 2 10:08:46 phys-schost-1 cl_runtime: WARNING: CMM monitoring disabled.phys-schost-1# 
INIT: New run level: 0
The system is coming down.  Please wait.
Notice: rgmd is being stopped.
Notice: rpc.pmfd is being stopped.
Notice: rpc.fed is being stopped.
umount: /global/.devices/node@1 busy
umount: /global/phys-schost-1 busy
The system is down.
syncing file systems... done
Program terminated
ok 

次の作業

「クラスタノードを起動する」を参照し、停止したクラスタノードを再起動します。

クラスタノードを起動する


注 -

クラスタノードの起動方法は、定足数 (quorum) の構成によって変わる場合があります。2 ノードのクラスタでは、クラスタの定足数の合計数が 3 つ (各ノードごとに 1 つと定足数デバイスに 1 つ) になるように定足数デバイスを構成する必要があります。この場合、最初のノードを停止しても、2 つ目のノードは定足数を保持しており、唯一のクラスタメンバーとして動作します。1 つ目のノードをクラスタノードとしてクラスタに再度結合させるには、2 つ目のノードが稼動中で、必要な数のクラスタ定足数 (2 つ) が存在している必要があります。


  1. 停止したクラスタノードを起動するために、そのノードを起動します。


    ok boot
    

    クラスタコンポーネントが起動すると、すべてのノードのコンソールにメッセージが表示されます。


    注 -

    クラスタメンバーシップを取得できるように、クラスタノードにはクラスタインターコネクトとの動作中の接続が必要です。


  2. ノードが問題なく起動し、オンラインであることを確認します。

    scstat(1M) コマンドを使用してノードの状態を表示します。


    # scstat -n
    

    注 -

    クラスタノードの /var ファイルシステムが満杯になると、そのノード上では Sun Cluster が再起動できなくなる可能性があります。この問題が発生した場合は、「満杯の /var ファイルシステムを修復する」を参照してください。


例 - クラスタノードの起動

次に、ノード phys-schost-1 を起動してクラスタに結合させたときのコンソールの出力例を示します。


ok boot
Rebooting with command: boot 
...
Hostname: phys-schost-1
Booting as part of a cluster
...
NOTICE: Node 1: attempting to join cluster
...
NOTICE: Node 1: joined cluster
...
The system is coming up.  Please wait.
checking ufs filesystems
...
reservation program successfully exiting
Print services started.
volume management starting.
The system is ready.
phys-schost-1 console login:

クラスタノードを再起動する

  1. クラスタノードで Oracle Parallel Server (OPS) を実行している場合は、OPS データベースのすべてのインスタンスを停止します。

    停止の手順については、Oracle Parallel Server のマニュアルを参照してください。

  2. 停止するクラスタノードでスーパーユーザーになります。

  3. scswitch および shutdown コマンドを使用してクラスタノードを停止します。

    停止するノードで次のコマンドを入力します。-i 6 オプションを指定して shutdown コマンドを使用すると、ノードが停止して ok プロンプトを表示した後、再起動します。


    # scswitch -S -h nodelist
    # shutdown -g0 -y -i6
    

    注 -

    クラスタメンバーシップを取得できるように、クラスタノードにはクラスタインターコネクトとの動作中の接続が必要です。


  4. ノードが問題なく起動し、オンラインであることを確認します。


    # scstat -n
    

例 - クラスタノードの再起動

次に、ノード phys-schost-1 を再起動したときのコンソールの出力例を示します。このノードの停止および起動メッセージは、クラスタ内の他のノードのコンソールにも表示されます。


# scswitch -S -h phys-schost-1
# shutdown -g0 -y -i6
May 2 10:08:46 phys-schost-1 cl_runtime: WARNING: CMM monitoring disabled.
phys-schost-1# 
INIT: New run level: 6
The system is coming down.  Please wait.
System services are now being stopped.
Notice: rgmd is being stopped.
Notice: rpc.pmfd is being stopped.
Notice: rpc.fed is being stopped.
umount: /global/.devices/node@1 busy
umount: /global/phys-schost-1 busy
The system is down.
syncing file systems... done
rebooting...
Resetting ... 
,,,
Sun Ultra 1 SBus (UltraSPARC 143MHz), No Keyboard
OpenBoot 3.11, 128 MB memory installed, Serial #5932401.
Ethernet address 8:8:20:99:ab:77, Host ID: 8899ab77.
...
Rebooting with command: boot
...
Hostname: phys-schost-1
Booting as part of a cluster
...
NOTICE: Node 1: attempting to join cluster
...
NOTICE: Node 1: joined cluster
...
The system is coming up.  Please wait.
The system is ready.
phys-schost-1 console login: 

非クラスタモードでクラスタノードを起動する

ノードは、クラスタメンバーシップを取得しないように (つまり非クラスタモードで) 起動できます。これは、クラスタソフトウェアをインストールしたり、ノードにパッチを適用するなどの特定の管理手順を実行する際に役立ちます。

  1. 非クラスタモードで起動したクラスタノードでスーパーユーザーになります。

  2. scswitch およびshutdown コマンドを使用してノードを停止します。


    # scswitch -S -h nodelist
    # shutdown -g0 -y -i0
    
  3. ノードが ok プロンプトの状態であることを確認します。

  4. boot(1M) コマンドに -x オプションを指定し、ノードを非クラスタモードで起動します。


    ok boot -x
    

    ノードがクラスタの一部ではないことを示すメッセージが、そのノードのコンソールに表示されます。

例 - 非クラスタモードでクラスタノードを起動する

次に、ノード phys-schost-1 を停止してから、非クラスタモードで再起動したときのコンソールの出力例を示します。ここでは、-g 0 オプションで猶予期間をゼロに設定し、-y で、確認プロンプトに対して自動的に yes と応答するよう指定し、i0 で実行レベル 0 で起動します。このノードの停止メッセージは、クラスタ内の他のノードのコンソールにも表示されます。


# scswitch -S -h phys-schost-1
# shutdown -g0 -y -i0
May 2 10:08:46 phys-schost-1 cl_runtime: WARNING: CMM monitoring disabled.
phys-schost-1# 
...
rg_name = schost-sa-1 ...
offline node = phys-schost-2 ...
num of  node = 0 ...
phys-schost-1# 
INIT: New run level: 0
The system is coming down.  Please wait.
System services are now being stopped.
Print services stopped.
syslogd: going down on signal 15
...
The system is down.
syncing file systems... done
WARNING: node 1 is being shut down.
Program terminated
 
ok boot -x
...
Not booting as part of cluster
...
The system is ready.
phys-schost-1 console login:

満杯の /var ファイルシステムを修復する

Solaris と Sun Cluster ソフトウェアは、どちらも /var/adm/messages ファイルにエラーメッセージを書き込みます。このため、運用を続けるうちに /var ファイルシステムが満杯になってしまうことがあります。クラスタノードの /var ファイルシステムが満杯になると、そのノードでは Sun Cluster が再起動できなくなる場合があります。また、そのノードにログインできなくなる可能性もあります。

満杯の /var ファイルシステムを修復する

/var ファイルシステムが満杯になったことがノードによって報告され、Sun Cluster サービスが引き続き実行されているときは、次の手順で、満杯になったファイルシステムを整理してください。

  1. 満杯の /var ファイルシステムが存在するクラスタノードでスーパーユーザーになります。

  2. 満杯のファイルシステムを整理します。

    たとえば、ファイルシステムにある重要ではないファイルを削除します。