Sun Cluster 3.1 10/03 のシステム管理

クラスタ管理の概要

表 7–1 作業リスト : クラスタの管理

作業 

参照箇所 

クラスタの名前の変更 

クラスタ名を変更する

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

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

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

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

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

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

ノードを停止し、OpenBootTM PROM に入る

ノードで OpenBoot PROM (OBP) に入る

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

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

クラスタノードを保守状態に変更 

ノードを保守状態にする

クラスタノードを保守状態から復帰 

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

ノードをクラスタに追加 

ノードを認証ノードリストに追加する

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

クラスタソフトウェア構成からノードを削除する

クラスタ名を変更する

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

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

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


    # scsetup
    

    メインメニューが表示されます。

  3. クラスタ名を変更するには、7 (クラスタその他のプロパティ) を選択します。

    「クラスタその他のプロパティ」メニューが表示されます。

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

例 — クラスタ名の変更

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


# scconf -c -C cluster=dromedary

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

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

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

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


    % scconf -pv | grep "ノード ID"
    

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

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


% scconf -pv | grep “ノード ID”
(phys-schost-1) ノード ID:                    1
(phys-schost-2) ノード ID:                    2
(phys-schost-3) ノード ID:                    3

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

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

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

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


    # scsetup
    

    メインメニューが表示されます。

  3. クラスタ認証で作業するには、6 (新規ノード) を選択します。

    「新規ノード」メニューが表示されます。

  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 認証を使用する場合、クラスタにノードが加わるには、すべての必要な暗号化鍵を構成する必要があります。詳細については、keyserv(1M) と publickey(4) のマニュアルページを参照してください。


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

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


注意 – 注意 –

NTP を使用する場合、クラスタの稼動中はクラスタの時刻を調整しないでください。このような調整には、date(1)、rdate(1M)、xntpd(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 node[,...]
    # shutdown -g0 -y -i0
    


    注意 – 注意 –

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


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

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

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

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


注意 – 注意 –

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


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


    # scswitch -n -j resource1, resource2
    

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

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

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

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

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

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

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


    # /etc/init.d/xntpd stop
    

  3. scsetup(1M) ユーティリティーを実行して、適切なノードのプライベートホスト名を変更します。

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


    注 –

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


  4. 「メインメニュー」から 6 (プライベートホスト名) を選択します。

  5. 「プライベートホスト名メニュー」から 1「プライベートホスト名を変更」を選択します。

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

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

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


    # nscd -i hosts
    

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

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

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

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

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

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


    # /etc/init.d/xntpd start
    

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


    # scswitch -e -j resource1, resource2
    

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

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

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


[必要に応じてすべてのアプリケーションとデータサービスを無効化する]
phys-schost-1# /etc/init.d/xntpd stop
phys-schost-1# scconf -p | grep ノード
 ...
 クラスタノード:                                phys-schost-1 phys-schost-2 phys-
 schost-3
 クラスタノード名:                                 phys-schost-1
  ノードのプライベート名:                           clusternode1-priv
 クラスタノード名:                                 phys-schost-2
  ノードのプライベート名:                           clusternode2-priv
 クラスタノード名:                                 phys-schost-3
  ノードのプライベート名:                           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
[手順の初めで無効化したすべてのアプリケーションとデータサービスを有効化する]

ノードを保守状態にする

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


注 –

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


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

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

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

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


    # scswitch -S -h node[,...]
    

    -S

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

    -h node[,...]

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

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


    # shutdown -g0 -y -i0
    

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


    # scconf -c -q node=node,maintstate
    

    -c

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

    -q

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

    node=node

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

    maintstate

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

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


    # scstat -q
    

    保守状態にしたノードの状態はオフラインであり、その PresentPossible の定足数投票数は 0 (ゼロ) である必要があります。

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

次に、クラスタノードを保守状態にして、その結果を確認する例を示します。scstat -q の出力では、phys-schost-1 のノードの投票数は 0 (ゼロ) で、その状態はオフラインです。定足数の概要では、投票数も減っているはずです。構成によって異なりますがデバイスによる定足数の投票数の出力では、いくつかの定足数ディスクデバイスもオフラインである可能性があります。


[保守状態にするノード上で次を実行する:]
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# scstat -q

-- 定足数の概要 --
  可能な定足数投票数:      3
  必要な定足数投票数:        2
  現在の定足数投票数:       3

-- ノードによる定足数の投票数 --
                    ノード名           現在の数 可能な数 状態
                    ---------           ------- -------- ------
  ノードの投票数:       phys-schost-1       0        0       オンライン
  ノードの投票数:       phys-schost-2       1        1      Online
  ノードの投票数:       phys-schost-3       1        1       Online

-- デバイスによる定足数の投票数 --
                    デバイス名         現在の数 可能な数 状態
                    -----------         ------- -------- ------
  デバイスの投票数:     /dev/did/rdsk/d3s2  0        0       Online
  デバイスの投票数:     /dev/did/rdsk/d17s2 0        0       Online
  デバイスの投票数:     /dev/did/rdsk/d31s2 1        1       Online

次に進む手順

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

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

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

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

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


注意 – 注意 –

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


  1. 保守状態ではない任意のクラスタノード上でスーパーユーザーになります。

  2. 2 ノードクラスタでノードを保守状態から戻そうとしているかどうかを確認します。

    • 2 ノードクラスタの場合は、手順 4に進みます。

    • 2 ノードクラスタでない場合は、手順 3に進みます。

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

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


    # scconf -c -q node=node,reset
    

    -c

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

    -q

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

    node=node

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

    reset

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

  4. 保守状態から戻したいノードを起動します。

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


    # scstat -q
    

    保守状態から戻したいノードの状態は online であり、PresentPossible の定足数投票数は適切な値である必要があります。

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

次に、クラスタノードの定足数投票数をリセットして、その定足数デバイスをデフォルトに戻し、その結果を確認する例を示します。scstat -q の出力では、phys-schost-1 の Node votes1 であり、その状態は online です。Quorum Summary では、投票数も増えているはずです。


phys-schost-2# scconf -c -q node=phys-schost-1,reset

[phys-schost-1 上で次を実行する:]
ok> boot

phys-schost-1# scstat -q

-- 定足数の概要 --

  可能な定足数投票数:      6
  必要な定足数投票数:        4
  現在の定足数投票数:       6

-- ノードによる定足数の投票数 --

                    ノード名          現在の数 可能な数 状態
                    ---------           ------- -------- ------
  ノードの投票数:       phys-schost-1       1        1       Online
  ノードの投票数:       phys-schost-2       1        1       Online
  ノードの投票数:       phys-schost-3       1        1       Online

-- デバイスによる定足数の投票数 --

                    デバイス名         現在の数 可能な数 状態
                    -----------         ------- -------- ------
  デバイスの投票数:     /dev/did/rdsk/d3s2  1        1       Online
  デバイスの投票数:     /dev/did/rdsk/d17s2 1        1       Online
  デバイスの投票数:     /dev/did/rdsk/d31s2 1        1       オンライン