Sun Cluster のシステム管理 (Solaris OS 版)

クラスタ管理の概要

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

タスク 

参照箇所 

クラスタ名を変更 

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

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

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

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

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

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

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

『ノードを停止し、SPARC ベースシステムでは OpenBoot PROM の ok プロンプトに入り、x86 ベースシステムでは Boot Subsystem に入ります。

「SPARC: ノードで OpenBoot PROM (OBP) に入る」

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

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

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

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

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

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

ノードをクラスタに追加 

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

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

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

Procedureクラスタ名を変更する

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

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

  2. scsetup コマンドを起動します。


    # scsetup
    

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

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

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

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


例 7–1 クラスタ名の変更

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


# scconf -c -C cluster=dromedary

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

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

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

手順

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


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

例 7–2 ノード名のノードID へのマップ

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


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

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

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

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

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


    # scsetup
    

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

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

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

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


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

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


# scconf -a -T node=.


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

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


# scconf -r -T all


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

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


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


例 7–6 認証を標準 UNIX に設定する

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


# scconf -c -T authtype=unix


例 7–7 認証を DES に設定する

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


# scconf -c -T authtype=des

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


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

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


注意 – 注意 –

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


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

  2. クラスタを停止します。


    # scshutdown -g0 -y
    
  3. ノードが ok プロンプトの状態、あるいは「Current Boot Parameters」画面の Select (b)oot または (i)nterpreter プロンプトの状態になったことを確認します。

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

    • SPARC:


      ok boot -x
      
    • x86:


                            <<< Current Boot Parameters >>>
      Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@7,1/
      sd@0,0:a
      Boot args:
      
      Type    b [file-name] [boot-flags] <ENTER>  to boot with options
      or      i <ENTER>                           to enter boot interpreter
      or      <ENTER>                             to boot with defaults
      
                        <<< timeout in 5 seconds >>>
      Select (b)oot or (i)nterpreter: b -x
      
  5. 単一のノードで、date コマンドを実行して時刻を設定します。


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


    # rdate hostname
    
  7. 各ノードを起動し、クラスタを再起動します。


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

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


    # date
    

ProcedureSPARC: ノードで 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 コマンドを実行します。


    # scswitch -S -h node[,...]
    # shutdown -g0 -y -i0
    

    注意 – 注意 –

    クラスタノードを停止する場合は、クラスタコンソール上で send brk を使用してはいけません。


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

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

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

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


注意 – 注意 –

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


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


    # scswitch -n -j resource1, resource2
    

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

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

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

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

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

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

    • Solaris 8 または Solaris 9 を使用している場合は、xntpd コマンドを使用して NTP デーモンを停止してください。NTP デーモンの詳細については、xntpd (1M) のマニュアルページを参照してください。


      # /etc/init.d/xntpd.cluster stop
      
    • Solaris 10 を使用している場合は、svcadm コマンドを使用して NTP デーモンを停止してください。NTP デーモンの詳細については、svcadm(1M) のマニュアルページを参照してください。


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

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


    注 –

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


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

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

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

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

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


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

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

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

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

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

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

    • Solaris 8 または Solaris 9 を使用している場合は、xntpd コマンドを使用して NTP デーモンを再起動してください。


      # /etc/init.d/xntpd.cluster start
      
    • Solaris 10 を使用している場合は、svcadm コマンドを使用して NTP デーモンを再起動してください。


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


    # scswitch -e -j resource1, resource2
    

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


例 7–8 プライベートホスト名の変更

次に、ノード 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
[手順の初めで無効化したすべてのアプリケーションとデータサービスを有効化する]

Procedureノードを保守状態にする

サービスからクラスタノードを長時間はずす場合は、そのノードを保守状態にします。保守状態のノードは、サービス対象中に定足数確立の投票に参加しません。クラスタノードを保守状態にするには、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. 退避させたノードを停止します。


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


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

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

    -q

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

    node=node

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

    maintstate

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

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


    # scstat -q
    

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


例 7–9 クラスタノードを保存状態にする

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


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

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

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

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

参照

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

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

次の手順を使用して、ノードをオンラインに戻し、定足数投票数をリセットしてデフォルト設定に戻します。クラスタノードのデフォルトの投票数は 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 の定足数投票数は適切な値である必要があります。


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

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


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

phys-schost-1 上で次のように実行する:


phys-schost-1# scstat -q

-- Quorum Summary --

  Quorum votes possible:      6
  Quorum votes needed:        4
  Quorum votes present:       6

-- Quorum Votes by Node --

                    Node Name           Present Possible Status
                    ---------           ------- -------- ------
  Node votes:       phys-schost-1       1        1       Online

  Node votes:       phys-schost-2       1        1       Online
  Node votes:       phys-schost-3       1        1       Online

-- Quorum Votes by Device --

                    Device Name         Present Possible Status
                    -----------         ------- -------- ------
  Device votes:     /dev/did/rdsk/d3s2  1        1       Online
  Device votes:     /dev/did/rdsk/d17s2 1        1       Online
  Device votes:     /dev/did/rdsk/d31s2 1        1       Online