Sun Cluster 3.0 のシステム管理

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

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

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

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

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

Sun Cluster の scshutdown(1M) コマンドを使用して、クラスタサービスを正しい順序で正常に停止します。


注 -

クラスタ全体を正しく停止するには、shutdownhalt コマンドではなく、scshutdown コマンドを使用します。Solaris の shutdown コマンドは、ノードを個々に停止する場合に使用します。


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

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

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

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

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

この作業は、ある場所から別の場所へクラスタを移動するときや、アプリケーションエラーが原因でデータが破壊した場合に実行できます。


注 -

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


クラスタの停止と起動の作業マップ

表 2-1 作業マップ : クラスタの停止と起動

作業 

参照箇所 

クラスタを停止します。 

-scshutdown を使用します。

「クラスタを停止する」

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

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

「クラスタを起動する」

クラスタを停止します。 

-scshutdown コマンドを使用します。

ok プロンプトで boot コマンドを使用して各ノードを 1 つずつ起動します。

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

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

クラスタを停止する

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

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

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

  3. scshutdown(1M) コマンドを使用して直ちにクラスタを停止します。

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


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

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

例 - クラスタの停止

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


# scshutdown -g 0 -y
Sep  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 PROM プロンプトの状態になっているクラスタを起動するには、各ノードを起動します。

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


    ok boot
    

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


    注 -

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


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

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


    # scstat -n
    

例 - クラスタの起動

次に、ノード 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
...
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: 

クラスタを再起動する

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

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

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

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

  3. scshutdown コマンドを使用してクラスタを停止します。

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


    # scshutdown -g 0 -y 
    

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


    注 -

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


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

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


    ok boot
    

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

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

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


    # scstat -n
    

例 - クラスタの再起動

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


# scshutdown -g 0 -y
Sep  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:

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


注 -

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


表 2-2 作業マップ : クラスタノードの停止と起動

作業 

参照箇所 

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

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

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

ノードを起動します。 

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

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

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

- scswitchshutdown を使用します。

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

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

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

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

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

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

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

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

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

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

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


    # scswitch -S -h node 
    # shutdown -g 0 -y
    
  4. クラスタノードが ok PROM プロンプトの状態になったことを確認します。

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

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

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


# scswitch -S -h phys-schost-1
# shutdown -g 0 -y
Sep  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
    

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

次に、ノード 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 コマンドを使用してクラスタノードを停止します。

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


    # scswitch -S -h node 
    # shutdown -g 0 -y -i 6
    

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


    注 -

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


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

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


    # scstat -n
    

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

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


# scswitch -S -h phys-schost-1
# shutdown -g 0 -y -i 6
Sep  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 #7982421.
Ethernet address 8:0:20:79:cd:55, Host ID: 8079cd55.
...
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 node 
    # shutdown -g 0 -y
    
  3. ノードが ok PROM プロンプトの状態であることを確認します。

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


    ok boot -x
    

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

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

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


# scswitch -S -h phys-schost-1
# shutdown -g 0 -y
Sep  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 ファイルシステムが満杯になったことがノードによって報告され、Sun Cluster サービスが引き続き実行されているときは、次の手順で、満杯になったファイルシステムを整理してください。

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

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

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