この章では、クラスタ全体に影響を与える項目の管理手順について説明します。
この章で説明する手順は次のとおりです。
作業 |
参照箇所 |
---|---|
クラスタの名前を変更する。 | |
ノード ID およびそれらの対応するノード名の一覧を表示する。 | |
クラスタへの新しいノードの追加を許可または拒否する。 | |
Network Time Protocol (NTP) を使用してクラスタの時刻を変更する。 | |
ノードを停止し、OpenBootTM PROM コマンドを入力する。 | |
プライベートホスト名を変更する。 | |
クラスタノードを保守状態にする。 | 「ノードを保守状態にする」 |
クラスタノードを保守状態から戻す。 | |
ノードをクラスタに追加する。 | |
ノードをクラスタから削除する。 |
必要に応じて、初期インストール後にクラスタ名を変更できます。
クラスタ内の任意のノードでスーパーユーザーになります。
scsetup(1M) ユーティリティを起動します。
# scsetup |
「Main Menu」が表示されます。
クラスタ名を変更するには、6 (Other cluster properties) を入力します。
「Other Cluster Properties」メニューが表示されます。
メニューから選択を行って、画面の指示に従います。
次に、新しいクラスタ名 dromedary に変更するために、scsetup ユーティリティから生成された scconf(1M) コマンドの例を示します。
# scconf -c -C cluster=dromedary |
Sun Cluster のインストール時に、各ノードには、自動的に一意のノード ID 番号が割り当てられます。このノード ID 番号は、最初にクラスタに加わったときの順番でノードに割り当てられます。一度割り当てられた番号は変更できません。ノード 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) のマニュアルページを参照してください。
クラスタ内の任意のノードでスーパーユーザーになります。
scsetup(1M) ユーティリティを起動します。
# scsetup |
「Main Menu」が表示されます。
クラスタ認証で作業するには、6 (New nodes) を入力します。
「New Nodes」メニューが表示されます。
メニューから選択を行って、画面の指示に従います。
次に、新しいマシンがクラスタに追加されないようにする、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 認証にリセットする、scsetup ユーティリティから生成された scconf(1M) コマンドの例を示します。
# scconf -c -T authtype=unix |
次に、クラスタに加わる新しいノードで 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) スクリプト内で使用することも含まれます。
クラスタ内の任意のノードでスーパーユーザーになります。
クラスタを停止して OBP プロンプトの状態にします。
# scshutdown -g0 -y |
各ノードを非クラスタノードで起動します。
ok boot -x |
単一のノードで、date(1) コマンドを実行して時刻を設定します。
# date HHMMSS |
他のマシンで、rdate(1M) コマンドを実行し、時刻をこのノードに同期化します。
# rdate hostname |
各ノードを起動し、クラスタを再起動します。
# reboot |
すべてのクラスタノードで変更が行われたことを確認します。
各ノードで、date(1M) コマンドを実行します。
# date |
OpenBoot PROM 設定を構成または変更する必要がある場合は、この手順を使用します。
端末集配信装置 (コンセントレータ) ポートに接続します。
# telnet tc_name tc_port_number |
端末集配信装置 (コンセントレータ) ポートに接続します。
端末集配信装置のポート番号を指定します。ポート番号は構成に依存します。通常、ポート 2 (5002) と ポート 3 (5003) は、サイトで最初に設置されたクラスタで使用されています。
scswitch(1M) コマンドを使用し、クラスタノードを正常に停止し、任意のリソースまたはディスクデバイスグループを退避します。次に、shutdown(1M) コマンドを使用し、ノードを OBP プロンプトの状態にします。
# scswitch -S -h nodelist # shutdown -g0 -y -i0 |
クラスタノードを停止する場合は、クラスタコンソール上で send brk を使用してはなりません。send brk を使用し、OBP プロンプトに go を入力して再起動すると、ノードがパニックを発生します。この機能はクラスタ内ではサポートされていません。
OBP コマンドを実行します。
インストール完了後、クラスタノードのプライベートホスト名を変更するには、次のようにします。
デフォルトのプライベートホスト名は、クラスタの初期インストール時に割り当てられます。デフォルトのプライベートホスト名の形式は、clusternode nodeid -priv です (clusternode3-priv など)。プライベートホスト名を変更するのは、すでにその名前がドメイン内で使用されている場合だけにしてください。
新しいプライベートホスト名には IP アドレスを割り当てないでください。クラスタソフトウェアが IP アドレスを割り当てます。
クラスタ内のすべてのノード上で、プライベートホスト名をキャッシュする可能性があるデータサービスリソースやアプリケーションをすべて無効にします。
# scswitch -n -j resource1, resource2 |
無効にするアプリケーションには次のようなものがあります。
HA-DNS と HA-NFS サービス (構成している場合)
プライベートホスト名を使用するようにカスタマイズしているアプリケーション
クライアントがプライベートインターコネクト経由で使用しているアプリケーション
scswitch コマンドを使用する方法については、scswitch(1M) のマニュアルページと『Sun Cluster 3.0 U1 データサービスのインストールと構成』を参照してください。
クラスタ内の各ノード上で、Network Time Protocol (NTP) デーモンを停止します。
NTP デーモンの詳細については、xntpd のマニュアルページを参照してください。
# /etc/init.d/xntpd stop |
プライベートホスト名を変更するノードの名前を確認します。
# scconf -p | grep node |
scsetup ユーティリティを実行して、プライベートホスト名を変更します。
この手順は、クラスタ内の 1 つのノードから行うだけでかまいません。
新しいプライベートホスト名を選択するときには、その名前がクラスタノード内で一意であることを確認してください。
「Main Menu」から 5 (Private Hostnames) を選択します。
「Private Hostnames Menu」から 1 (Change a Private Hostname) を選択します。
表示される質問に答えます。ここでは、プライベートホスト名を変更するノードの名前 (clusternode<nodeid>-priv) と新しいプライベートホスト名がたずねられます。
ネームサービスキャッシュをフラッシュします。
この手順は、クラスタ内の各ノード上で行います。この作業によって、クラスタアプリケーションとデータサービスが古いプライベートホスト名にアクセスすることを防ぎます。
# nscd -i hosts |
各ノード上で ntp.conf ファイルを編集し、プライベートホスト名を新しいものに変更します。
編集するツールは任意のものを使用できます。
この手順をインストール時に行う場合は、構成するノードの名前を削除する必要があります。デフォルトのテンプレートには 8 つのノードが事前構成されています。通常、ntp.conf ファイルは各クラスタノード上で同じです。
すべてのクラスタノードから新しいプライベートホスト名に ping を実行して応答を確認します。
NTP デーモンを再起動します。
この手順は、クラスタ内の各ノード上で行います。
# /etc/init.d/xntpd start |
手順 1で無効にしたデータサービスリソースとアプリケーションをすべて有効にします。
# scswitch -e -j resource1, resource2 |
scswitch コマンドを使用する方法については、scswitch(1M) のマニュアルページと『Sun Cluster 3.0 U1 データサービスのインストールと構成』を参照してください。
次に、ノード phys-schost-2 上のプライベートホスト名 clusternode2-priv を clusternode4-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 ユーティリティでは、定足数デバイスを保守状態にできません。
保守状態にするノードでスーパーユーザーになります。
すべてのリソースグループとディスクデバイスグループをノードから退避します。
# scswitch -S -h nodelist |
指定したノードからすべてのデバイスサービスとリソースグループを退避します。
リソースグループとデバイスグループを切り替えるノードを指定します。
退避するノードを OBP プロンプトの状態にして、クラスタから抜けます。
# shutdown -g0 -y -i0 |
クラスタ内の別のノードでスーパーユーザーになり、手順 3 で停止したノードを保守状態にします。
# scconf -c -q node=node,maintstate |
scconf コマンドの変更フォームを指定します。
定足数オプションを管理します。
変更するノードのノード名またはノード ID を指定します。
ノードを保守状態にします。
クラスタノードが保守状態にあることを確認します。
# 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 オプションのどちらも指定しない場合、定足数投票数はクラスタ全体でリセットされます。
クラスタ内の任意のノード上でスーパーユーザーになります。
定足数を使用する場合は、保守状態ではないノードのクラスタ定足数投票数をリセットします。
保守状態ではないノードの定足数投票数をリセットするのは、そのノードを再起動する前である必要があります。そうしないと、定足数の確立を待機してハングアップすることがあります。
# scconf -c -q node=node,reset |
scconf コマンドの変更フォームを指定します。
定足数オプションを管理します。
リセットするノードの名前を指定します (phys-schost-1 など)。
定足数をリセットする変更フラグです。
ノードを再起動します。
定足数投票数を確認します。
# 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 |
次の表に、ノードを既存のクラスタに追加するときに行う作業を示します。これらの作業を正常に行うには、示された順番に従う必要があります。
表 6-2 作業リスト : ノードの追加
作業 |
参照箇所 |
---|---|
ホストアダプタのノードへの取り付けと、既存のクラスタインターコネクトが新しいノードをサポートできることの確認 |
『Sun Cluster 3.0 U1 Hardware Guide』 |
共有記憶装置の追加 |
『Sun Cluster 3.0 U1 Hardware Guide』 |
認証ノードリストへのノードの追加 - scsetup を使用します。 | 「クラスタノードを認証ノードリストに追加する」 |
新しいクラスタノードへのソフトウェアのインストールと構成 - Solaris オペレーティング環境および Sun Cluster ソフトウェアをインストールします。 - クラスタの一部としてノードを構成します。 |
『Sun Cluster 3.0 U1 ソフトウェアのインストール』 Sun Cluster ソフトウェアのインストールと構成の説明を参照。 |
次の表に、ノードを既存のクラスタから削除するときに行う作業を示します。これらの作業を正常に行うには、示された順番に従う必要があります。
表 6-3 作業リスト : クラスタノードの削除
作業 |
参照箇所 |
---|---|
削除するノードを保守状態にする。 - shutdown と scconf を使用します。 | 「ノードを保守状態にする」 |
すべてのリソースグループからノードを削除する。 - scrgadm を使用します。 |
『Sun Cluster 3.0 データサービスのインストールと構成』、既存のリソースグループからノードを削除する方法についての説明を参照。 |
ノードがメンバーになっているすべてのデバイスグループからノードを削除する。 - ボリューム管理ソフトウェアのコマンドを使用します。 |
「ディスクデバイスグループからノードを削除する (Solstice DiskSuite)」 または、 |
削除するノードへのすべての論理トランスポート接続を削除する。 - scsetup を使用します。 |
「クラスタトランスポートケーブル、トランスポートアダプタ、トランスポート接続点を削除する」
ノードから物理的にハードウェアを取り外す方法については、『Sun Cluster 3.0 U1 Hardware Guide』 を参照してください。 |
削除するノードと共有しているすべての定足数デバイスを削除する。 - scsetup を使用します。 | |
クラスタソフトウェア構成からノードを削除する。 - scconf を使用します。 | |
必要な共有記憶装置をノードおよびクラスタから削除する。 - ボリューム管理ソフトウェアのマニュアルおよびハードウェアのマニュアル手順に従います。 |
SDS または VxVM の管理ガイド、 |
既存のクラスタにマシンを追加する前に、プライベートクラスタインターコネクトとの物理的な接続が正確に行われているかなど、必要なとハードウェアがすべて正確にノードにインストールおよび構成されていることを確認してください。
ハードウェアの設置については、『Sun Cluster 3.0 U1 Hardware Guide』または使用するサーバーに付属しているマニュアルを参照してください。
この手順によって、マシンは自分自身をクラスタ内にインストールします。つまり、自分のノード名を当該クラスタの認証ノードリストに追加します。
この手順を行うには、現在のクラスタメンバーノード上でスーパーユーザーになる必要があります。
「クラスタノードの追加と削除」の作業リストに示されているハードウェアの設置作業と構成作業がすべて正常に行われていることを確認します。
scsetup(1M) ユーティリティを実行します。
# scsetup |
「Main Menu」が表示されます。
認証ノードリストを変更するには、「New Nodes Menu」で 3 を入力して、自分自身を追加するマシンの名前を指定します。
指示に従って、ノードの名前をクラスタに追加します。追加するノードの名前がたずねられます。
「New Nodes Menu」にアクセスするには、「Main Menu」で 6 を入力します。
作業が正常に行われたことを確認します。
作業が正常に行われた場合、scsetup ユーティリティは「Command completed successfully」というメッセージを表示します。
新しいマシンをクラスタに追加できないように設定するには、「New Nodes Menu」で 1 を入力します。
scsetup の指示に従います。このオプションを設定すると、クラスタは、新しいマシンが自分自身をクラスタに追加しようとするパブリックネットワーク経由の要求をすべて無視します。
scsetup ユーティリティを終了します。
新しいクラスタノード上でソフトウェアをインストールして構成します。
新しいノードをインストールして構成するには、scinstall または JumpStart のどちらかを使用します。詳細については、『Sun Custer 3.0 U1 ソフトウェアのインストール』を参照してください。
次に、ノード phys-schost-3 を既存のクラスタの認証ノードリストに追加する例を示します。
[スーパーユーザーになり、scsetup ユーティリティを実行する] # scsetup Select New nodes>Specify the name of a machine which may add itself. Answer the questions when prompted. Verify that the scconf command completed successfully. scconf -a -T node=phys-schost-3 Command completed successfully. Select Prevent any new machines from being added to the cluster. Quit the scsetup New Nodes Menu and Main Menu. [クラスタソフトウェアをインストールする] |
クラスタノードを追加する作業の概要については、表 6-2 を参照してください。
ノードを既存のリソースグループに追加する方法については、『Sun Cluster 3.0 U1 データサービスのインストールと構成』を参照してください。
ここで説明する手順は、ノードをクラスタから削除するプロセスで実行する必要のある最後のソフトウェア構成手順です。この手順を実行するには、クラスタ内の任意のノード上でスーパーユーザーになる必要があります。
「クラスタノードの追加と削除」の作業リストに示されている作業がすべて正常に行われていることを確認します。
この手順を続行する前に、ノードを保守状態にしたうえで、そのノードがすべてのリソースグループ、デバイスグループ、定足数 (quorum) デバイス構成から削除してあることを確認してください。
クラスタ内のローカルディスクおよび関連する raw ディスクデバイスグループ名を確認します (dsk/d4 など)
# scconf -pvv | grep Local_Disk |
削除するノードに接続されているクラスタ内のローカルディスクおよび raw ディスクデバイスグループを確認します。
# scconf -pvv | grep node-name | grep Device |
手順 3 で確認したすべてのローカルディスクの localonly 属性を無効にします。
localonly 属性の詳細については、scconf_dg_rawdisk のマニュアルページを参照してください。
# scconf -c -D name=rawdisk-device-group,localonly=false |
ノードが属している raw ディスクデバイスグループからノードを削除します。
この手順は、削除するノードに接続されている raw ディスクデバイスグループごとに行う必要があります。
# scconf -r -D name=rawdisk-device-group,nodelist=node |
クラスタからノードを削除します。
# scconf -r -h node=nodename |
scstat を使用し、ノードが削除されていることを確認します。
# scstat -n |
ノードをクラスタから物理的に切り離すには、ハードウェアを取り外します。詳細については、『Sun Custer 3.0 U1 Hardware Guide』を参照してください。
クラスタからノードを削除した後でこのノードを稼動状態に戻すには、削除したノードに Solaris オペレーティング環境を再インストールする必要があります。
次に、ノード phys-schost-2 をクラスタから削除する例を示します。
[任意のノード上でスーパーユーザーになる] [ローカルディスクおよび関連する raw ディスクデバイスグループ名を確認する] # scconf -pvv | grep Local_Disk (dsk/d4) Device group type: Local_Disk (dsk/d8) Device group type: Local_Disk [削除するノードに接続されているローカルディスクおよび関連する raw ディスク デバイスグループを確認する] # scconf -pvv | grep phys-schost-2 | grep Device (dsk/d4) Device group node list: phys-schost-2 (dsk/d2) Device group node list: phys-schost-1, phys-schost-2 (dsk/d1) Device group node list: phys-schost-1, phys-schost-2 [ノードに接続されているすべてのローカルディスクの localonly フラグを削除する] # scconf -c -D name=dsk/d4,localonly=false [すべての raw ディスクデバイスグループからノードを削除する] # scconf -r -D name=dsk/d4,nodelist=phys-schost-2 # scconf -r -D name=dsk/d2,nodelist=phys-schost-2 # scconf -r -D name=dsk/d1,nodelist=phys-schost-2 [ノードをクラスタから削除する]# scconf -r -h node=phys-schost-2 [ノードが削除されたことを確認する] # scstat -n -- Cluster Nodes -- Node name Status --------- ------ Cluster node: phys-schost-1 Online |
ハードウェアに関連する作業については、『Sun Custer 3.0 U1 Hardware Guide』を参照してください。
クラスタノードを削除する作業の概要については、表 6-3 を参照してください。
ノードを既存のクラスタに追加する方法については、「クラスタノードを認証ノードリストに追加する」を参照してください。