Sun Cluster 3.0 U1 のシステム管理

クラスタ管理の概要

表 6-1 作業リスト : クラスタの管理

作業 

参照箇所 

クラスタの名前を変更する。 

「クラスタ名を変更する」

ノード ID およびそれらの対応するノード名の一覧を表示する。 

「ノード ID をノード名にマップする」

クラスタへの新しいノードの追加を許可または拒否する。 

「新しいクラスタノード認証で作業する」

Network Time Protocol (NTP) を使用してクラスタの時刻を変更する。 

「クラスタの時刻をリセットする」

ノードを停止し、OpenBootTM PROM コマンドを入力する。

「ノードで OpenBoot PROM (OBP) コマンドを入力する」

プライベートホスト名を変更する。 

「プライベートホスト名を変更する」

クラスタノードを保守状態にする。 

「ノードを保守状態にする」

クラスタノードを保守状態から戻す。 

「ノードを保守状態から戻す」

ノードをクラスタに追加する。 

「クラスタノードを認証ノードリストに追加する」

ノードをクラスタから削除する。 

「クラスタノードを認証ノードリストに追加する」

クラスタ名を変更する

必要に応じて、初期インストール後にクラスタ名を変更できます。

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

  2. scsetup(1M) ユーティリティを起動します。


    # scsetup
    

    「Main Menu」が表示されます。

  3. クラスタ名を変更するには、6 (Other cluster properties) を入力します。

    「Other Cluster Properties」メニューが表示されます。

  4. メニューから選択を行って、画面の指示に従います。

例 - クラスタ名の変更

次に、新しいクラスタ名 dromedary に変更するために、scsetup ユーティリティから生成された scconf(1M) コマンドの例を示します。


# scconf -c -C cluster=dromedary

ノード ID をノード名にマップする

Sun Cluster のインストール時に、各ノードには、自動的に一意のノード ID 番号が割り当てられます。このノード ID 番号は、最初にクラスタに加わったときの順番でノードに割り当てられます。一度割り当てられた番号は変更できません。ノード ID 番号は、通常、エラーメッセージが発生したクラスタノードを識別するために、エラーメッセージで使用されます。この手順を使用し、ノード ID とノード名間のマッピングを判別します。

構成情報の一覧を表示するために、スーパーユーザーになる必要はありません。

  1. scconf(1M) コマンドを使用し、クラスタ構成情報の一覧を表示します。


    % scconf -pv | grep "Node ID"
    

例 - ノード名のノード ID へのマップ

次に、ノード ID の割り当て例を示します。


% scconf -pv | grep "Node ID"
	(phys-schost-1) Node ID:																				1
	(phys-schost-2) Node ID:																				2
	(phys-schost-3) Node ID:																				3

新しいクラスタノード認証で作業する

Sun Cluster を使用すると、新しいノードをクラスタに追加できるか、またどのような認証タイプかを判別できます。パブリックネットワーク上のクラスタに加わる新しいノードを許可したり、新しいノードがクラスタに加わることを拒否したり、クラスタに加わるノードを特定したりできます。新しいノードは、標準 UNIX または Diffie-Hellman (DES) 認証を使用し、認証することができます。DES 認証を使用して認証する場合、ノードが加わるには、すべての必要な暗号化鍵を構成する必要があります。詳細は、scsetup(1M) および publickey(4) のマニュアルページを参照してください。

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

  2. scsetup(1M) ユーティリティを起動します。


    # scsetup
    

    「Main Menu」が表示されます。

  3. クラスタ認証で作業するには、6 (New nodes) を入力します。

    「New Nodes」メニューが表示されます。

  4. メニューから選択を行って、画面の指示に従います。

例 - 新しいマシンがクラスタに追加されないようにする

次に、新しいマシンがクラスタに追加されないようにする、scsetup ユーティリティから生成された scconf(1M) コマンドの例を示します。


# scconf -a -T node=.

例 - すべての新しいマシンがクラスタに追加されるように許可する

次に、すべての新しいマシンがクラスタに追加されるようにする、scsetup ユーティリティから生成された scconf(1M) コマンドの例を示します。


# scconf -r -T all

例 - クラスタに追加される新しいマシンを指定する

次に、単一の新しいマシンがクラスタに追加されるようにする、scsetup ユーティリティから生成された scconf(1M) コマンドの例を示します。


# scconf -a -T node=phys-schost-4

例 - 認証を標準 UNIX に設定する

次に、クラスタに加わる新しいノードの認証を標準 UNIX 認証にリセットする、scsetup ユーティリティから生成された scconf(1M) コマンドの例を示します。


# scconf -c -T authtype=unix

例 - 認証を DES に設定する

次に、クラスタに加わる新しいノードで DES 認証を使用する、scsetup ユーティリティから生成された scconf(1M) コマンドの例を示します。


# scconf -c -T authtype=des

注 -

DES 認証を使用する場合、クラスタにノードが加わるには、すべての必要な暗号化鍵を構成する必要があります。詳細は、scsetup(1M) および publickey(4) のマニュアルページを参照してください。


クラスタの時刻をリセットする

Sun Cluster は、Network Time Protocol (NTP) を使用し、クラスタノード間で時刻を同期させています。クラスタの時刻の調整は、ノードが時刻を同期するときに、必要に応じて自動的に行われます。詳細については、『Sun Cluster 3.0 U1 の概念』および『Network Time Protocol User's Guide』を参照してください。


注意 - 注意 -

NTP を使用する場合、クラスタの稼動中はクラスタの時刻を調整しないでください。このような調整としては、date(1)、rdate(1M)、xntpdate(1M) などのコマンドを、対話的に、または cron(1M) スクリプト内で使用することも含まれます。


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

  2. クラスタを停止して OBP プロンプトの状態にします。


    # scshutdown -g0 -y
    

  3. 各ノードを非クラスタノードで起動します。


    ok boot -x
    

  4. 単一のノードで、date(1) コマンドを実行して時刻を設定します。


    # date HHMMSS
    
  5. 他のマシンで、rdate(1M) コマンドを実行し、時刻をこのノードに同期化します。


    # rdate hostname
    

  6. 各ノードを起動し、クラスタを再起動します。


    # reboot
    

  7. すべてのクラスタノードで変更が行われたことを確認します。

    各ノードで、date(1M) コマンドを実行します。


    # date
    

ノードで OpenBoot PROM (OBP) コマンドを入力する

OpenBoot PROM 設定を構成または変更する必要がある場合は、この手順を使用します。

  1. 端末集配信装置 (コンセントレータ) ポートに接続します。


    # telnet tc_name tc_port_number
    

    tc_name

    端末集配信装置 (コンセントレータ) ポートに接続します。

    tc_port_number

    端末集配信装置のポート番号を指定します。ポート番号は構成に依存します。通常、ポート 2 (5002) と ポート 3 (5003) は、サイトで最初に設置されたクラスタで使用されています。

  2. scswitch(1M) コマンドを使用し、クラスタノードを正常に停止し、任意のリソースまたはディスクデバイスグループを退避します。次に、shutdown(1M) コマンドを使用し、ノードを OBP プロンプトの状態にします。


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


    注意 - 注意 -

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


  3. OBP コマンドを実行します。

プライベートホスト名を変更する

インストール完了後、クラスタノードのプライベートホスト名を変更するには、次のようにします。

デフォルトのプライベートホスト名は、クラスタの初期インストール時に割り当てられます。デフォルトのプライベートホスト名の形式は、clusternode nodeid -priv です (clusternode3-priv など)。プライベートホスト名を変更するのは、すでにその名前がドメイン内で使用されている場合だけにしてください。


注意 - 注意 -

新しいプライベートホスト名には IP アドレスを割り当てないでください。クラスタソフトウェアが IP アドレスを割り当てます。


  1. クラスタ内のすべてのノード上で、プライベートホスト名をキャッシュする可能性があるデータサービスリソースやアプリケーションをすべて無効にします。


    # scswitch -n -j resource1, resource2
    

    無効にするアプリケーションには次のようなものがあります。

    • HA-DNS と HA-NFS サービス (構成している場合)

    • プライベートホスト名を使用するようにカスタマイズしているアプリケーション

    • クライアントがプライベートインターコネクト経由で使用しているアプリケーション

    scswitch コマンドを使用する方法については、scswitch(1M) のマニュアルページと『Sun Cluster 3.0 U1 データサービスのインストールと構成』を参照してください。

  2. クラスタ内の各ノード上で、Network Time Protocol (NTP) デーモンを停止します。

    NTP デーモンの詳細については、xntpd のマニュアルページを参照してください。


    # /etc/init.d/xntpd stop
    

  3. プライベートホスト名を変更するノードの名前を確認します。


    # scconf -p | grep node
    

  4. scsetup ユーティリティを実行して、プライベートホスト名を変更します。

    この手順は、クラスタ内の 1 つのノードから行うだけでかまいません。


    注 -

    新しいプライベートホスト名を選択するときには、その名前がクラスタノード内で一意であることを確認してください。


  5. 「Main Menu」から 5 (Private Hostnames) を選択します。

  6. 「Private Hostnames Menu」から 1 (Change a Private Hostname) を選択します。

    表示される質問に答えます。ここでは、プライベートホスト名を変更するノードの名前 (clusternode<nodeid>-priv) と新しいプライベートホスト名がたずねられます。

  7. ネームサービスキャッシュをフラッシュします。

    この手順は、クラスタ内の各ノード上で行います。この作業によって、クラスタアプリケーションとデータサービスが古いプライベートホスト名にアクセスすることを防ぎます。


    # nscd -i hosts
    

  8. 各ノード上で ntp.conf ファイルを編集し、プライベートホスト名を新しいものに変更します。

    編集するツールは任意のものを使用できます。

    この手順をインストール時に行う場合は、構成するノードの名前を削除する必要があります。デフォルトのテンプレートには 8 つのノードが事前構成されています。通常、ntp.conf ファイルは各クラスタノード上で同じです。

  9. すべてのクラスタノードから新しいプライベートホスト名に ping を実行して応答を確認します。

  10. NTP デーモンを再起動します。

    この手順は、クラスタ内の各ノード上で行います。


    # /etc/init.d/xntpd start
    

  11. 手順 1で無効にしたデータサービスリソースとアプリケーションをすべて有効にします。


    # scswitch -e -j resource1, resource2
    

    scswitch コマンドを使用する方法については、scswitch(1M) のマニュアルページと『Sun Cluster 3.0 U1 データサービスのインストールと構成』を参照してください。

例 - プライベートホスト名の変更

次に、ノード phys-schost-2 上のプライベートホスト名 clusternode2-privclusternode4-priv に変更する例を示します。


[必要なアプリケーションとデータサービスをすべて無効にする]
phys-schost-1# /etc/init.d/xntpd stop
phys-schost-1# scconf -p | grep node
 ...
 Cluster nodes:                                phys-schost-1 phys-schost-2 phys-
 schost-3
 Cluster node name:                                 phys-schost-1
  Node private hostname:                           clusternode1-priv
 Cluster node name:                                 phys-schost-2
  Node private hostname:                           clusternode2-priv
 Cluster node name:                                 phys-schost-3
  Node private hostname:                           clusternode3-priv
 ...
phys-schost-1# scsetup
phys-schost-1# nscd -i hosts
phys-schost-1# vi /etc/inet/ntp.conf
 ...
 peer clusternode1-priv
 peer clusternode4-priv
 peer clusternode3-priv
phys-schost-1# ping clusternode4-priv
phys-schost-1# /etc/init.d/xntpd start
[Enable all applications and data services disabled at the beginning of the procedure.]

ノードを保守状態にする

サービスからクラスタノードを長時間はずす場合は、そのノードを保守状態にします。保守状態のノードは、サービス対象中に定足数確立の投票に参加しません。クラスタノードを保守状態にするには、scswitch(1M) および shutdown(1M) を使用してこのノードを停止する必要があります。


注 -

ノードを 1 つだけ停止する場合は、Solaris の shutdown コマンドを使用します。scshutdown コマンドは、クラスタ全体を停止する場合にだけ使用します。


クラスタノードが停止されて保守状態になると、そのノードのポートで構成されるすべての定足数デバイスの、定足数投票数 (quorum vote count) が 1 つ減ります。このノードが保守状態から移動してオンラインに戻されると、ノードおよび定足数デバイスの投票数は 1 つ増えます。

クラスタノードを保守状態にするには、scconf(1M) コマンドを使用する必要があります。scsetup ユーティリティでは、定足数デバイスを保守状態にできません。

  1. 保守状態にするノードでスーパーユーザーになります。

  2. すべてのリソースグループとディスクデバイスグループをノードから退避します。


    # scswitch -S -h nodelist
    
    -S

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

    -h nodelist

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

  3. 退避するノードを OBP プロンプトの状態にして、クラスタから抜けます。


    # shutdown -g0 -y -i0
    

  4. クラスタ内の別のノードでスーパーユーザーになり、手順 3 で停止したノードを保守状態にします。


    # scconf -c -q node=node,maintstate
    
    -c

    scconf コマンドの変更フォームを指定します。

    -q

    定足数オプションを管理します。

    node=node

    変更するノードのノード名またはノード ID を指定します。

    maintstate

    ノードを保守状態にします。

  5. クラスタノードが保守状態にあることを確認します。


    # scconf -p | grep -i vote
    

例 - クラスタノードを保守状態にする

次に、クラスタノードを保守状態にし、結果を検証する例を示します。


[保守状態にするノード上で入力する]
phys-schost-1# scswitch -S -h phys-schost-1
phys-schost-1# shutdown -g0 -y -i0
 
[クラスタ内の別のノード上で入力する]
phys-schost-2# scconf -c -q node=phys-schost-1,maintstate
phys-schost-2# scconf -p | grep -i quorum
 Node quorum vote count:                           1
Quorum devices:                                    d20
Quorum device name:                                d20
  Quorum device votes:                             1
  Quorum device enabled:                           yes
  Quorum device path:                              /dev/did/rdsk/d5s2
  Quorum device hosts (disabled):                 phys-schost-1
  Quorum device hosts (enabled):                  phys-schost-2

次の作業

ノードをオンラインに戻す方法については、「ノードを保守状態から戻す」を参照してください。

ノードを保守状態から戻す

次の手順を使用して、ノードをオンラインに戻し、定足数投票数をリセットしてデフォルト設定に戻します。クラスタノードのデフォルトの投票数は 1 です。定足数デバイスのデフォルトの投票数は N-1 です。N は、投票数が 0 以外で、定足数デバイスが構成されているポートを持つノードの数を示します。

ノードが保守状態になると、そのノードの投票数は 1 つ減ります。また、このノードのポートに構成されているすべての定足数デバイスの投票数も (1 つ) 減ります。投票数がリセットされ、ノードが保守状態から戻されると、ノードの投票数と定足数デバイスの投票数の両方が 1 つ増えます。

保守状態にしたノードを保守状態から戻した場合は、必ずこの手順を実行してください。


注意 - 注意 -

globaldev または node オプションのどちらも指定しない場合、定足数投票数はクラスタ全体でリセットされます。


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

  2. 定足数を使用する場合は、保守状態ではないノードのクラスタ定足数投票数をリセットします。

    保守状態ではないノードの定足数投票数をリセットするのは、そのノードを再起動する前である必要があります。そうしないと、定足数の確立を待機してハングアップすることがあります。


    # scconf -c -q node=node,reset
    

    -c

    scconf コマンドの変更フォームを指定します。

    -q

    定足数オプションを管理します。

    node=node

    リセットするノードの名前を指定します (phys-schost-1 など)。

    reset

    定足数をリセットする変更フラグです。

  3. ノードを再起動します。

  4. 定足数投票数を確認します。


    # scconf -p | grep -i vote
    

例 - クラスタノードを保守状態から戻して、定足数投票数をリセットする

次に、クラスタノードの定足数投票数をリセットして、その定足数デバイスをデフォルトに戻し、その結果を確認する例を示します。


# scconf -c -q node=phys-schost-1,reset
# scconf -pv | grep -i vote
 Node quorum vote count:           1
 Node quorum vote count:           1
 Node quorum vote count:           1
 (d20) Quorum device votes:                        1
 (d21) Quorum device votes:                        1