この章では、広域デバイスとクラスタファイルシステムの管理手順を説明します。
この章で説明する手順は次のとおりです。
この章の関連手順の概要は、表 3-1 を参照してください。
広域デバイス、広域名前空間、ディスクデバイスグループ、クラスタファイルシステムの概念に関する情報は、『Sun Cluster 3.0 U1 の概念』を参照してください。
Sun Cluster ディスクデバイスグループの管理方法は、クラスタにインストールされているボリューム管理ソフトウェアによって決まります。Solstice DiskSuite はクラスタ対応なので、Solstice DiskSuite の metaset(1M) コマンドを使用して、ディスクデバイスグループの追加、登録、削除を行うことができます。VERITAS Volume Manager (VxVM) の場合は、VxVM のコマンドを使用してディスクグループを作成します。続いて scsetup(1M) ユーティリティを使用して、ディスクグループを Sun Cluster ディスクデバイスグループとして登録します。VxVM ディスクデバイスグループを削除するときは、scsetup ユーティリティと VxVM コマンドの両方を使用します。
ディスクデバイスグループやボリューム管理ソフトウェアのディスクグループを管理する際は、グループの主ノードであるクラスタから実行する必要があります。
広域名前空間はインストール時に自動設定され、Solaris オペレーティング環境の再構成再起動の間に自動的に更新されるため、通常は広域デバイス名前空間を管理する必要はありません。ただし、広域名前空間を生成し直したり、更新した場合は、任意のクラスタノードから scgdevs(1M) コマンドを実行できます。これにより、その他のすべてのクラスタノードだけでなく、今後クラスタに結合する可能性があるノードでも広域名前空間を更新できます。
広域デバイスのアクセス権に加えた変更は、Solstice DiskSuite およびディスクデバイスのクラスタのすべてのノードには自動的に伝達されません。広域デバイスのアクセス権を変更する場合は、クラスタ内のすべてのノードで手作業でアクセス権を変更する必要があります。たとえば、広域デバイス /dev/global/dsk/d3s0 のアクセス権を 644 に変更する場合は、次のコマンドを実行する必要があります。
# chmod 644 /dev/global/dsk/d3s0
このコマンドは、クラスタ内のすべてのノードで実行してください。
VxVM では、chmod コマンドはサポートされていません。VxVM で広域デバイスのアクセス権を変更するには、VxVM の管理者ガイドを参照してください。
Sun Cluster で VxVM 名前空間を保持できるように、VxVMディスクグループやボリュームの構成情報を変更したときは、Sun Cluster ディスクデバイスグループの構成変更を登録してください。変更を登録することによって、すべてのクラスタノードを確実に更新できます。名前空間に影響を与える構成変更の例としては、ボリュームの追加、削除、名前変更や、ボリュームのアクセス権、所有者、グループ ID の変更などが挙げられます。
ディスクグループを Sun Cluster ディスクデバイスグループとしてクラスタに登録した後で、VxVM コマンドを使用して VxVM ディスクグループをインポートまたはデポートしないでください。ディスクグループのインポートやデポートが必要な場合は、すべて Sun Cluster ソフトウェアによって処理します。
各 VxVM ディスクグループには、クラスタ全体で一意のマイナー番号が与えられています。デフォルトでは、ディスクグループを作成したときに、VxVM によって 1000 の倍数がディスクグループのベースマイナー番号として選択されます。少数のディスクグループしかないほとんどの構成では、これで十分一意性を保証できます。ただし、新たに作成したディスクグループのマイナー番号が、別のクラスタノードにインポートした以前のディスクグループのマイナー番号と衝突することがあります。この場合は、Sun Cluster ディスクデバイスグループを登録できません。この問題を解消するには、新しいディスクグループに一意の値である新しいマイナー番号を付けたうえで、Sun Cluster ディスクデバイスグループとして登録してください。
ミラー化したボリュームを設定する場合は、ダーティーリージョンログ (DRL) を使用すると、システムクラッシュ発生時のボリューム回復時間を短縮できます。入出力のスループットを下げますが、DRL の使用を強くお勧めします。
クラスタファイルシステムを管理するには、mount や newfs などの標準的な Solaris ファイルシステムコマンドを使用します。クラスタファイルシステムは、mount コマンドに -g オプションを指定してマウントします。また、起動時に自動的にマウントすることもできます。
クラスタファイルシステムの管理には、Sun Cluster の特殊なコマンドは必要なく、 その他の Solaris ファイルシステムと同じように管理できます。
scsetup(1M) ユーティリティは、scconf(1M) コマンドの対話的なインタフェースです。scsetup を実行すると、scconf コマンドが生成されます。これらのコマンドは、各説明の後にある例の中で示しています。
表 3-1 作業リスト: ディスクデバイスグループの管理
作業 |
参照箇所 |
---|---|
再構成再起動せずに広域デバイス名前空間を更新する。 - scgdevs を使用します。 | |
Solstice DiskSuite ディスクセットを追加してディスクデバイスグループとして登録する。 - metaset 使用します。 | |
Solstice DiskSuite ディスクデバイスグループを構成から削除する。 - metaset と metaclear を使用します。 | |
Solstice DiskSuite ディスクデバイスグループからノードを削除する。 metaset を使用します。 | |
VERITAS Volume Manager ディスクグループをディスクデバイスグループとして追加する。 - VxVM コマンドと scsetup を使用します。 |
「ディスクの初期化時に新しいディスクグループを作成する (VERITAS Volume Manager)」
「ディスクをカプセル化する際に新しいディスクグループを作成する (VERITAS Volume Manager)」
「新しいボリュームを既存のディスクデバイスグループに登録する (VERITAS Volume Manager)」
「既存のディスクグループをディスクデバイスグループに変更する (VERITAS Volume Manager)」
「ディスクデバイスグループに新しいマイナー番号を割り当てる (VERITAS Volume Manager)」
「ディスクグループをディスクデバイスグループとして登録する (VERITAS Volume Manager)」
|
VERITAS Volume Manager ディスクデバイスグループを構成から削除する。 - scsetup を使用します (scconf を生成)。 |
「ディスクデバイスグループからボリュームを削除する (VERITAS Volume Manager)」
|
VERITAS Volume Manager ディスクデバイスグループにノードを追加する。 - scsetup を使用します (scconf を生成)。 | |
VERITAS Volume Manager ディスクデバイスグループからノードを削除する。 - scsetup を使用します (scconf を生成する)。 | |
ディスクデバイスグループの属性を変更する。 - scsetup を使用します (scconf を生成する)。 | |
ディスクデバイスグループと属性を表示する。 - scconf を使用します。 | |
ディスクデバイスグループの主ノードを切り替える。 - scswitch を使用します。 | |
ディスクデバイスグループを保守状態にする。 - metaset または vxdgを使用します。 |
新しい広域デバイスを追加するときに、scgdevs(1M) を実行して手作業で広域デバイス名前空間を更新します。
コマンドを実行するノードがクラスタメンバーでない場合や、/global/.devices/node@nodeID ファイルシステムがマウントされていない場合は、scgdevs コマンドを実行しても更新は行われません。
次に、scgdevs が正常に実行された場合に生成される出力例を示します。
# scgdevs Configuring the /dev/global directory (global devices)... obtaining access to all attached disks reservation program successfully exiting |
metaset(1M) コマンドを使用して、Solstice DiskSuite ディスクセットを作成し、Sun Cluster ディスクデバイスグループとして登録します。ディスクセットを登録するときにディスクセットに割り当てた名前が、自動的にディスクデバイスグループに割り当てられます。
ディスクセットを作成するディスクに接続されているノードでスーパーユーザーになります。
metaset コマンドを使用し、Solstice DiskSuite ディスクセットを追加して Sun Cluster にディスクデバイスグループとして登録します。
# metaset -s diskset -a -h nodelist |
作成するディスクセットを指定します。
ディスクセットをマスターできるノードの一覧を追加します。
ディスクデバイスグループが追加されたことを確認します。
ディスクデバイスグループの名前は、metaset で指定したディスクセットの名前に一致します。
# scconf -p | grep disk-device-group |
次は、ディスクセットとディスクデバイスグループを作成して、ディスクデバイスグループが作成されたことを確認する例です。
# metaset -s dg-schost-1 # scconf -p | grep dg-schost-1 Device group name: dg-schost-1 |
ディスクデバイスグループとは、Sun Cluster に登録している Solstice DiskSuite ディスクセットのことです。ディスクデバイスグループを削除するには、metaclear(1M) と metaset(1M) コマンドを使用します。これらのコマンドは、クラスタ構成からディスクデバイスグループの登録を解除して削除し、ディスクデバイスグループを非クラスタのディスクセットに戻します。
この手順を使用して、Solstice DiskSuite が動作しているクラスタ上で、ディスクデバイスグループの潜在的な主ノードのリストからクラスタノードを削除します。ノードは、同時に複数のディスクデバイスグループに属している可能性があるので、ノードを削除するディスクデバイスグループごとに metaset コマンドを繰り返します。
削除するノードがメンバーになっているディスクデバイスグループを確認します。
# scstat -D |
変更するディスクデバイスグループを現在所有しているノードでスーパーユーザーになります。
ディスクデバイスグループから、削除するノードのホスト名を削除します。
# metaset -s setname -d -f -h nodelist |
ディスクデバイスグループの名前を指定します。
-h で識別されるノードをディスクデバイスグループから削除します。
強制的に実行します。
ディスクデバイスグループをマスターできるノードの一覧からノードを削除します。
更新が完了するまでに数分間かかることがあります。
潜在的な主ノードとなるノードを削除するディスクデバイスグループごとに、手順 3 を繰り返します。
ディスクデバイスグループからノードが削除されたことを確認します。
ディスクデバイスグループの名前は、metaset で指定したディスクセットの名前に一致します。
# scstat -D |
次に、ディスクデバイスグループ構成からホスト名 phys-schost-2 を削除する例を示します。これによって、phys-schost-2 は指定されたディスクデバイスグループの潜在的な主ノードとして削除されます。ノードの削除を確認するには、scstat -D コマンドを実行して、削除したノードが画面に表示されていないことを確認します。
[ノードのディスクデバイスグループを確認する] # scstat -D -- Device Group Servers -- Device Group Primary Secondary ------------ ------- --------- Device group servers: dg-schost-1 phys-schost-1 phys-schost-2 [スーパーユーザになる.] [すべてのディスクデバイスグループからホスト名を削除する] # metaset -s dg-schost-1 -d -f -h phys-schost-2 [ノードが削除されたことを確認する] # scstat -D -- Device Group Servers -- Device Group Primary Secondary ------------ ------- --------- Device group servers: dg-schost-1 phys-schost-1 - |
次の手順は、ディスクを初期化する場合だけが対象です。ディスクをカプセル化する場合は、「ディスクをカプセル化する際に新しいディスクグループを作成する (VERITAS Volume Manager)」を参照してください。
VxVM ディスクグループを追加したら、ディスクデバイスグループを登録する必要があります。
追加するディスクグループを構成するディスクに、物理的に接続されているクラスタ内の任意のノードでスーパーユーザーになります。
VxVM ディスクグループとボリュームを作成します。
ディスクグループとボリュームは任意の方法で作成してください。
ミラー化したボリュームを設定する場合は、ダーティーリージョンログ (DRL) を使用し、ノード障害時のボリューム回復時間を減らしてください。ただし、DRL は入出力スループットも減らす可能性があります。
この手順を完了する方法については、VERITAS Volume Manager のマニュアルを参照してください。
Oracle Parallel Server をインストールしている場合、『VERITAS Volume Manager Administrator's Reference Guide』に記述されている VxVM のクラスタ機能を使用して、共有 VxVM ディスクグループを作成します。それ以外の場合は、VERITAS のマニュアルに記述されている通常の手順を使用して、VxVM ディスクグループを作成します。
VxVM ディスクグループを Sun Cluster ディスクデバイスグループとして登録します。
詳細は、「ディスクグループをディスクデバイスグループとして登録する (VERITAS Volume Manager)」を参照してください。
次の手順は、ディスクをカプセル化する場合だけが対象です。ディスクを初期化する場合は、「ディスクの初期化時に新しいディスクグループを作成する (VERITAS Volume Manager)」を参照してください。
ルート以外のディスクは、VxVM ディスクグループとしてカプセル化してから Sun Cluster ディスクデバイスグループとして登録すると、Sun Cluster ディスクデバイスグループに変更できます。
ディスクのカプセル化は、VxVM ディスクグループを初めて作成するときのみサポートされています。VxVM ディスクグループを作成し、Sun Cluster ディスクデバイスグループとして登録した後は、そのディスクグループには、初期化してもよいディスクだけを登録してください。
クラスタ内の任意のノードでスーパーユーザーになります。
/etc/vfstab ファイルに、カプセル化するディスクのファイルシステムのエントリがある場合は、mount at boot オプションを必ず no に設定します。
この設定は、ディスクをカプセル化して Sun Cluster ディスクデバイスグループとして登録したら、yes に設定し直してかまいません。
ディスクをカプセル化します。
vxdiskadm のメニューまたはグラフィカルユーザーインタフェースを使用し、ディスクをカプセル化します。VxVM では、2 つの空きパーティションのほかに、ディスクの始点または終端に未割り当てのシリンダが必要です。また、スライス 2 をディスク全体に設定する必要もあります。詳細は、vxdiskadm(1M) のマニュアルページを参照してください。
ノードを停止して再起動します。
scswitch(1M) コマンドを使用して、すべてのリソースグループとデバイスグループを主ノードから次の優先ノードに切り替えます。続いて shutdown(1M) を使用して、ノードを停止して再起動します。
# scswitch -S -h nodelist # shutdown -g0 -y -i6 |
必要であれば、すべてのリソースグループとデバイスグループを元のノードにスイッチバックします。
リソースグループとデバイスグループが、もともと主ノードにフェイルバックするように構成されていた場合、この手順は必要ありません。
# scswitch -z -h nodelist -D disk-device-group # scswitch -z -h nodelist -g resource-group |
VxVM ディスクグループを Sun Cluster ディスクデバイスグループとして登録します。
詳細は、「ディスクグループをディスクデバイスグループとして登録する (VERITAS Volume Manager)」を参照してください。
ボリュームを追加した後で、「ディスクグループの構成変更を登録する (VERITAS Volume Manager)」 の手順に従って構成変更の内容を登録する必要があります。
新しいボリュームを既存の VxVM ディスクデバイスグループに追加するときは、ディスクデバイスグループの主ノードからこの手順を実行してください。また、ディスクデバイスグループはオンラインである必要があります。
クラスタ内の任意のノードでスーパーユーザーになります。
新しいボリュームを追加するディスクデバイスグループの、主ノードと状態を確認します。
# scstat -D |
ディスクデバイスグループがオフラインのときは、オンラインにします。
# scswitch -z -D disk-device-group -h nodelist |
指定したデバイスグループを切り替えます。
ディスクデバイスグループの切り替え先のノードの名前を指定します。このノードが新しい主ノードになります。
主ノード (ディスクデバイスグループを現在マスターしているノード) から、ディスクグループに VxVM ボリュームを作成します。
VxVM ボリュームの作成方法は、VERITAS Volume Manager のマニュアルを参照してください。
VxVM ディスクグループに加えた変更を登録し、広域名前空間を更新します。
詳細は、「ディスクグループの構成変更を登録する (VERITAS Volume Manager)」を参照してください。
ディスクグループを現在のノードにインポートしてから、そのディスクグループを Sun Cluster ディスクデバイスグループとして登録すると、既存の VxVM ディスクグループを Sun Cluster ディスクデバイスグループに変更できます。
クラスタ内の任意のノードでスーパーユーザーになります。
VxVM ディスクグループを現在のノードにインポートします。
# vxdg import diskgroup |
VxVM ディスクグループを Sun Cluster ディスクデバイスグループとして登録します。
詳細は、「ディスクグループをディスクデバイスグループとして登録する (VERITAS Volume Manager)」を参照してください。
マイナー番号が別のディスクグループと衝突しているために、ディスクデバイスグループを登録できない場合は、新しいディスクグループに未使用のマイナー番号を新たに割り当てる必要があります。新しいマイナー番号を割り当てた後で、登録手順を再度実行し、ディスクグループを Sun Cluster ディスクデバイスグループとして登録します。
クラスタ内の任意のノードでスーパーユーザーになります。
使用中のマイナー番号を確認します。
# ls -l /global/.devices/node@nodeid/dev/vx/dsk/* |
新しいディスクグループのベースとなるマイナー番号として、使用されていない 1000 の倍数を選択します。
ディスクグループに新しいマイナー番号を割り当てます。
# vxdg reminor diskgroup base-minor-number |
VxVM ディスクグループを Sun Cluster ディスクデバイスグループとして登録します。
詳細は、「ディスクグループをディスクデバイスグループとして登録する (VERITAS Volume Manager)」を参照してください。
次の例では、マイナー番号 16000 〜 16002 と 4000 〜 4001 が使用されています。ここでは、vxdg reminor コマンドを使用して新しいディスクデバイスグループにベースとなるマイナー番号 5000 を割り当てています。
# ls -l /global/.devices/node@nodeid/dev/vx/dsk/* /global/.devices/node@nodeid/dev/vx/dsk/dg1 brw------- 1 root root 56,16000 Oct 7 11:32 dg1v1 brw------- 1 root root 56,16001 Oct 7 11:32 dg1v2 brw------- 1 root root 56,16002 Oct 7 11:32 dg1v3 /global/.devices/node@nodeid/dev/vx/dsk/dg2 brw------- 1 root root 56,4000 Oct 7 11:32 dg2v1 brw------- 1 root root 56,4001 Oct 7 11:32 dg2v2 # vxdg reminor dg3 5000 |
次の手順では、scsetup(1M) ユーティリティを使用し、関連付けられている VxVM ディスクグループを Sun Cluster ディスクデバイスグループとして登録します。
ディスクデバイスグループをクラスタに登録した後は、VxVM コマンドを使用して VxVM ディスクグループをインポートまたはデポートしないでください。 VxVM ディスクグループやボリュームに変更を加えた場合は、「ディスクグループの構成変更を登録する (VERITAS Volume Manager)」の手順に従って、ディスクデバイスグループの構成変更を登録してください。これによって、広域名前空間が正しい状態になります。
VxVM ディスクデバイスグループを登録するには以下が必要です。
クラスタ内のノードでのスーパーユーザー特権
ディスクデバイスグループとして登録する VxVM ディスクグループの名前
ディスクデバイスグループをマスターするノードの優先順位
優先順位を指定する場合は、最優先ノードが停止した後にクラスタに復帰するときに、ディスクデバイスグループを最優先ノードにスイッチバックするかどうかも指定します。
ノードの優先順位とフェイルバックのオプションについての詳細は、scconf(1M) のマニュアルページを参照してください。
クラスタ内の任意のノードでスーパーユーザーになります。
scsetup ユーティリティを起動します。
# scsetup |
「Main Menu」が表示されます。
VxVM ディスクデバイスグループで作業を行うために、4 (Device groups and volumes) を入力します。
「Device Groups Menu」が表示されます。
VxVM ディスクデバイスグループを登録するために、1 (Register a VxVM disk group as a device group) を入力します。
指示に従って、Sun Cluster ディスクデバイスグループとして登録する VxVM ディスクグループの名前を入力します。
ディスクデバイスグループを登録しようとしたときに、次のようなエラーが表示された場合は、ディスクデバイスグループに新しいマイナー番号を割り当てます。
scconf: Failed to add device group - in use |
ディスクデバイスグループに新しいマイナー番号を割り当てる方法については、「ディスクデバイスグループに新しいマイナー番号を割り当てる (VERITAS Volume Manager)」を参照してください。この手順によって、既存のディスクデバイスグループが使用しているマイナー番号と衝突しない、新しいマイナー番号を割り当てることができます。
ディスクデバイスグループが登録され、オンラインになったことを確認します。
ディスクデバイスグループが適切に登録された場合、次のコマンドを使用すると、新しいディスクデバイスグループの情報が表示されます。
# scstat -D |
VxVM ディスクグループ、または、クラスタに登録されているボリュームの構成情報を変更した場合、scsetup を使用してディスクデバイスグループを登録する必要があります。このような構成の変更には、ボリュームの追加や削除、既存のボリュームのグループ、所有者、アクセス権の変更などがあります。構成を変更した後に登録することによって、広域名前空間が正しい状態であることを保証できます。「広域デバイス名前空間を更新する」を参照してください。
次に、scsetup で VxVM ディスクデバイスグループ (dg1) を登録する際に生成される scconf コマンドの例と、その検証手順を示します。この例では、VxVM ディスクグループとボリュームは以前に作成されたものと想定しています。
# scsetup scconf -a -D type=vxvm,name=dg1,nodelist=phys-schost-1:phys-schost-2 # scstat -D -- Device Group Servers -- Device Group Primary Secondary ------------ ------- --------- Device group servers: dg1 phys-schost-1 phys-schost-2 -- Device Group Status -- Device Group Status ------------ ------ Device group status: dg1 Online |
「クラスタファイルシステムを追加する」を参照し、 VxVM ディスクデバイスグループ上にクラスタファイルシステムを作成します。
マイナー番号に問題がある場合は、「ディスクデバイスグループに新しいマイナー番号を割り当てる (VERITAS Volume Manager)」を参照してください。
VxVM ディスクグループやボリュームの構成情報を変更したときは、Sun Cluster ディスクデバイスグループに構成変更を登録する必要があります。これによって、広域名前空間が正しい状態になります。
クラスタ内の任意のノードでスーパーユーザーになります。
scsetup(1M) ユーティリティを起動します。
# scsetup |
「Main Menu」が表示されます。
VxVM ディスクデバイスグループで作業を行うために、4 (Device groups and volumes) を入力します。
「Device Groups Menu」が表示されます。
構成変更を登録するために、2 (Synchronize volume information for a VxVM device group) を入力します。
指示に従って、構成を変更した VxVM ディスクグループ名を入力します。
次に、scsetup で、変更した VxVM ディスクデバイスグループ (dg1) を登録する際に生成される scconf コマンドの例を示します。この例では、VxVM ディスクグループとボリュームは以前に作成されたものと想定しています。
# scsetup scconf -c -D name=dg1,sync |
ディスクデバイスグループからボリュームを削除した後は、「ディスクグループの構成変更を登録する (VERITAS Volume Manager)」の手順に従って、ディスクデバイスグループに構成変更を登録してください。
クラスタ内の任意のノードでスーパーユーザーになります。
ディスクデバイスグループの主ノードを確認します。
# scstat -D |
ディスクデバイスグループがオフラインのときは、オンラインにします。
# scswitch -z -D disk-device-group -h nodelist |
切り替えを実行します。
切り替えるデバイスグループを指定します。
切り替え先のノードの名前を指定します。このノードが新しい主ノードになります。
主ノード (ディスクデバイスグループを現在マスターしているノード) から、ディスクグループの VxVM ボリュームを削除します。
# vxedit -g diskgroup -rf rm volume |
ボリュームが含まれる VxVM ディスクグループを指定します。
指定したボリュームを削除します。
scsetup を使用してディスクデバイスグループの構成変更を登録し、広域名前空間を更新します
Sun Cluster ディスクデバイスグループを削除すると、対応する VxVM ディスクグループはデポートされます (消去されるわけではありません)。ただし、VxVM ディスクグループが引き続き存在していても、再登録しない限りクラスタで使用することはできません。
次の手順では、scsetup(1M) ユーティリティを使用して、VxVM ディスクグループを削除し、Sun Cluster ディスクデバイスグループから登録を解除します。
クラスタ内の任意のノードでスーパーユーザーになります。
ディスクデバイスグループをオフラインにします。
# scswitch -F -D disk-device-group |
ディスクデバイスグループをオフラインにします。
オフラインにするデバイスグループを指定します。
scsetup ユーティリティを起動します。
「Main Menu」が表示されます。
# scsetup |
VxVM デバイスグループで作業を行うために、4 (Device groups and volumes) を入力します。
「Device Groups Menu」が表示されます。
VxVM デバイスグループの登録を解除するために、3 (Unregister a VxVM device group) を入力します。
指示に従って、登録を解除する VxVM ディスクグループを入力します。
次に、VxVM ディスクデバイスグループ dg1 をオフラインにして、scsetup でディスクデバイスグループの削除と登録の解除を行う際に生成される scconf(1M) コマンドの例を示します。
# scswitch -F -D dg1 # scsetup scconf -r -D name=dg1 |
この手順では、scsetup(1M) ユーティリティを使用してディスクデバイスグループにノードを追加します。
VxVM ディスクデバイスグループにノードを追加するには以下が必要です。
クラスタ内のノードでのスーパーユーザー特権。
ノードの追加先の VxVM デバイスグループの名前。
追加するノードの名前または ノード ID。
クラスタのノードでスーパーユーザーになります。
scsetup(1M) ユーティリティを起動します。
「Main Menu」が表示されます。
# scsetup |
VxVM ディスクデバイスグループで作業を行うために、4 (Device groups and volumes) を入力します。
「Device Groups Menu」が表示されます。
VxVM ディスクデバイスグループにノードを追加するために、4 (Add a node to a VxVM device group) を入力します。
指示に従って、デバイスグループ名とノード名を入力します。
ノードが追加されたことを確認します。
次のコマンドを実行し、表示される新しいディスクのデバイスグループ情報を確認します。
# scconf -p |
次に、scsetup で VxVM ノード (phys-schost-3) を VxVM ディスクデバイスグループ (dg1) に追加する際に生成される scconf コマンドと、その検証手順の例を示します。
# scsetup scconf a D type=vxvm,name=dg1,nodelist=phys-schost-3 # scconf -p Device group name: dg1 Device group type: VXVM Device group failback enabled: yes Device group node list: phys-schost-1, phys-schost-3 |
次の手順で、VERITAS Volume Manager (VxVM) を実行中の既存のディスクデバイスグループ (ディスクセット) からクラスタノードを削除します。
削除するノードがメンバーになっているディスクデバイスグループを確認します。
# scstat -D |
現在のクラスタメンバーノードでスーパーユーザーになります。
scsetup ユーティリティを実行します。
# scsetup |
「Main Menu」が表示されます。
4 (Device groups and volumes) を入力し、ディスクデバイスグループを再構成します。
5 (Remove a node from a VxVM device group) を入力し、VxVM ディスクデバイスグループからノードを削除します。
プロンプトに従って、ディスクデバイスグループからクラスタノードを削除します。次の情報を入力するよう求められます。
VxVM デバイスグループ
ノード名
VxVM ディスクデバイスグループからノードが削除されたことを確認します。
# scconf -p | grep Device |
次に、phys-schost-4 という名前のノードを VxVM ディスクデバイスグループ dg1 から削除する例を示します。
[ノードのディスクデバイスグループを確認する] # scstat -D -- Device Group Servers -- Device Group Primary Secondary ------------ ------- --------- Device group servers: dg-schost-1 phys-schost-1 phys-schost-2 [スーパーユーザーになって scsetup ユーティリティを実行する # scsetup Select Device groups and volumes>Remove a node from a VxVM device group. Answer the questions when prompted. You will need the following information. You Will Need: Example: VxVM device group name dg1 node names phys-schost-1 [scconf コマンドを適切に実行したことを確認する] scconf -r -D name=dg1,nodelist=phys-schost-4 Command completed successfully. Quit the scsetup Device Groups Menu and Main Menu. [ノードが削除されたことを確認する] # scconf -p | grep Device Device group name: dg1 Device group type: VxVM Device group failback enabled: no Device group node list: phys-schost-3 Device group diskset name: dg1 |
ディスクデバイスグループの主所有権を確立する方法は、preferenced という所有権設定属性の設定に基づきます。この属性を設定していない場合は、ほかで所有されていないディスクデバイスグループの主所有者が、そのグループ内のディスクへのアクセスを試みる最初のノードになります。一方、この属性を設定してある場合は、ノードが所有権の確立を試みる優先順位を指定する必要があります。
preferenced 属性を無効にすると、failback 属性も自動的に無効に設定されます。ただし、preferenced 属性を有効または再有効にする場合は、failback 属性を有効にするか無効にするかを選択できます。
preferenced 属性を有効または再有効にした場合は、主所有権の設定一覧でノードの順序を確立し直す必要があります。
次の手順では、scsetup(1M) を使用し、Solstice DiskSuite または VxVM ディスクデバイスグループの、preferenced 属性と failback 属性を設定または設定解除します。
この手順を実行するには、属性値を変更するディスクデバイスグループの名前が必要です。
クラスタ内の任意のノードでスーパーユーザーになります。
scsetup(1M) ユーティリティを起動します。
「Main Menu」が表示されます。
# scsetup |
ディスクデバイスグループで作業を行うために、4 (Device groups and volumes) を入力します。
「Device Groups Menu」が表示されます。
デバイスグループの特性を変更するために、6 (Change key properties of a VxVM or Solstice DiskSuite device group) を入力します。
指示に従って、デバイスグループの preferenced および failback オプションを設定します。
ディスクデバイスグループの属性が変更されたことを確認します。
次のコマンドを実行し、表示されるデバイスグループ情報を確認します。
# scconf -p |
次に、scsetup でディスクデバイスグループ (dg-schost-1) の属性値を設定したときに生成される scconf コマンドの例を示します。
# scconf -c -D name=dg-schost-1,nodelist=phys-schost-1:phys-schost-2,¥ preferenced=true,failback=enabled # scconf -p | grep Device Device group name: dg-schost-1 Device group type: SDS Device group failback enabled: yes Device group node list: phys-schost-1, phys-schost-2 Device group ordered node list: yes Device group diskset name: dg-schost-1 |
構成の一覧を表示するために、スーパーユーザーになる必要はありません。
ディスクデバイスグループ構成情報の一覧を表示するには、次の 3 つの方法があります。
SunPlex Manager GUI を使用する。
詳細については、SunPlex Manager のオンラインヘルプを参照してください。
scstat(1M) を使用し、ディスクデバイスグループ構成を表示する。
% scstat -D |
scconf(1M) を使用し、ディスクデバイスグループ構成の一覧を表示する。
% scconf -p |
scstat -D コマンドを使用すると、次の情報が表示されます。
-- Device Group Servers -- Device Group Primary Secondary ------------ ------- --------- Device group servers: schost-2 - - Device group servers: schost-1 phys-schost-2 phys-schost-3 Device group servers: schost-3 - - -- Device Group Status -- Device Group Status ------------ ------ Device group status: schost-2 Offline Device group status: schost-1 Online Device group status: schost-3 Offline |
scconf コマンドを使用するときは、ディスクグループ名の下に表示される情報を確認してください。
# scconf -p ... Device group name: dg-schost-1 Device group type: SDS Device group failback enabled: yes Device group node list: phys-schost-2, phys-schost-3 Device group diskset name: dg-schost-1 |
次の手順は、アクティブでないデバイスグループを起動する (オンラインにする) ときにも使用できます。
SunPlex Manager GUI を使用すると、アクティブでないデバイスグループをオンラインにしたり、デバイスグループの主ノードを切り替えたりすることができます。詳細については、SunPlex Manager のオンラインヘルプを参照してください。
クラスタ内の任意のノードでスーパーユーザーになります。
scswitch(1M) を使用して、ディスクデバイスグループの主ノードを切り替えます。
# scswitch -z -D disk-device-group -h nodelist |
切り替えを実行します。
切り替えるデバイスグループを指定します。
切り替え先のノードの名前を指定します。このノードが新しい主ノードになります。
ディスクデバイスグループが新しい主ノードに切り替わったことを確認します。
ディスクデバイスグループが適切に登録されている場合、次のコマンドを使用すると、新しいディスクデバイスグループの情報が表示されます。
# scstat -D |
次に、ディスクデバイスグループの主ノードを切り替えて変更結果を確認する例を示します。
# scswitch -z -D dg-schost-1 -h phys-schost-1 # scstat -D -- Device Group Servers -- Device Group Primary Secondary ------------ ------- --------- Device group servers: dg1 phys-schost-1 phys-schost-2 -- Device Group Status -- Device Group Status ------------ ------ Device group status: dg1 Online |
デバイスグループを保守状態にすることによって、デバイスのいずれかにアクセスされたときに、デバイスグループが自動的にオンラインになることを防ぎます。デバイスグループを保守状態にする必要があるのは、修理手順において、修理が終わるまで、すべての入出力活動を停止する必要がある場合などです。また、デバイスグループを保守状態にすることによって、別のノード上のディスクセットまたはディスクグループを修復していても、当該ノード上のディスクデバイスグループはオンラインにならないため、データの損失を防ぎます。
デバイスグループを保守状態にします。
# scswitch -m -D disk-device-group |
修理手順を実行するときに、ディスクセットまたはディスクグループの所有権が必要な場合は、ディスクセットまたはディスクグループを手動でインポートします。
Solstice DiskSuite の場合
# metaset -C take -f -s diskset |
SDS ディスクセットの所有権を取得する場合、デバイスグループが保守状態にあるときは、metaset -C take コマンドを使用する必要があります。metaset -t を使用すると、所有権の取得作業の一部として、デバイスグループがオンラインになります。VxVM ディスクグループをインポートする場合、ディスクグループをインポートするときは、-t フラグを使用する必要があります。こうすることによって、当該ノードが再起動した場合に、ディスクグループが自動的にインポートされることを防ぎます。
VERITAS Volume Manager の場合
# vxdg -t import disk-group-name |
必要な修理手順をすべて実行します。
ディスクセットまたはディスクグループの所有権を解放します。
ディスクデバイスグループを保守状態から戻す前に、ディスクセットまたはディスクグループの所有権を解放する必要があります。解放しないと、データを損失する可能性があります。
Solstice DiskSuite の場合
# metaset -C release -s diskset |
VERITAS Volume Manager の場合
# vxdg deport disk-group-name |
ディスクデバイスグループをオンラインにします。
# scswitch -z -D disk-device-group -h nodelist |
次に、ディスクデバイスグループ dg-schost-1 を保守状態にし、修理作業後に保守状態から戻す例を示します。
[ディスクデバイスグループを保守状態にする] # scswitch -m -D dg-schost-1 [必要であれば、ディスクセットまたはディスクグループを手動でインポートする] For Solstice DiskSuite: # metaset -C take -f -s dg-schost-1 For VERITAS Volume Manager: # vxdg -t import dg1 [必要な修理手順をすべて実行する] [所有権を解放する] For Solstice DiskSuite: # metaset -C release -s dg-schost-1 For VERITAS Volume Manager: # vxdg deport dg1 [ディスクデバイスグループをオンラインにする] # scswitch -z -D dg-schost-1 -h phys-schost-1 |
作業 |
参照箇所 |
---|---|
Sun Cluster の初期インストールの後で、クラスタファイルシステムを追加する。 - newfs と makedir を使用します。 | |
クラスタファイルシステムを削除する。 - fuser と umount を使用します。 | |
ノード間で一貫性を保つように、クラスタ内の広域マウントポイントを検査する。 - sccheck を使用します。 |
次の作業は、Sun Cluster の初期インストール後に作成する各クラスタファイルシステムごとに実行してください。
必ず正しいディスクデバイス名を指定してください。クラスタファイルシステムを作成すると、ディスク上のデータはすべて消去されます。デバイス名を誤って指定すると、本来消去する必要のないデータを失うことになります。
クラスタファイルシステムを追加するには以下が必要です。
クラスタ内のノードでのスーパーユーザー特権。
クラスタファイルシステムの作成先にデバイスグループ (Solstice DiskSuite デバイスグループまたは VxVM デバイスグループ)、またはブロックディスクスライス。
クラスタの任意のノードでスーパーユーザーになります。
ファイルシステムを迅速に作成するには、ファイルシステムを作成する広域デバイスの現在の主ノードでスーパーユーザーになります。
newfs(1M) コマンドを使用してファイルシステムを作成します。
# newfs raw-disk-device |
表 3-3 に、引数 raw-disk-device の名前の例を挙げます。命名規則は各ボリューム管理ソフトウェアごとに異なるので注意してください。
表 3-3 raw ディスクデバイス名の例
使用中のボリューム管理ソフトウェア |
使用可能なディスクデバイス名 |
説明 |
---|---|---|
Solstice DiskSuite |
/dev/md/oracle/rdsk/d1 |
oracle メタセット内部の raw ディスクデバイス d1 |
VERITAS Volume Manager |
/dev/vx/rdsk/oradg/vol01 |
oradg ディスクグループ内部の raw ディスクデバイス vol01 |
なし |
/dev/global/rdsk/d1s3 |
ブロックスライス d1s3 の raw ディスクデバイス |
クラスタ内の各ノードで、クラスタファイルシステムのマウントポイントディレクトリを作成します。
クラスタファイルシステムにアクセスしないノードがある場合でも、マウントポイントは各ノードごとに必要です。
# mkdir -p /global/device-group/mount-point |
デバイスが含まれるデバイスグループ名に対応するディレクトリ名を指定します。
クラスタファイルシステムのマウント先のディレクトリ名を指定します。
管理を行いやすくするには、マウントポイントを /global/device-group ディレクトリに作成します。これを使用することによって、広域に利用できるクラスタファイルシステムを、ローカルファイルシステムから簡単に判別できるようになります。
クラスタ内の各ノードで、/etc/vfstab ファイルにマウントポイントのエントリを追加します。
次の必須マウントオプションを使用します。
すべてのクラスタファイルシステムのロギングが必要です。
Solaris UFS ロギング - global または logging マウントオプションを使用します。UFS マウントオプションの詳細については、mount_ufs のマニュアルページを参照してください。
syncdir マウントオプションは、UFS クラスタファイルシステムには必要ありません。syncdir を指定すると、ファイルシステムは POSIX に準拠する動作になります。指定しないと、ファイルシステムは UFS に準拠する動作になります。syncdir を指定しないと、ディスクブロックを割り当てるような書き込み (ファイルにデータを追加するなど) の性能が著しく改善される可能性があります。しかし、syncdir を指定しない場合、ファイルを閉じるまでは、容量不足の状態を発見できない可能性もあります。syncdir を指定しない場合でも、この問題が発生するのは稀です。syncdir (および POSIX 準拠の動作) を指定した場合、容量不足の状態はファイルを閉じる前に発見できます。
Solstice DiskSuite のトランスメタデバイス - global マウントオプションを使用します (logging マウントオプションは使用しません)。トランスメタデバイスの設定については、Solstice DiskSuite のマニュアルを参照してください。
クラスタファイルシステムを自動的にマウントするには、mount at boot フィールドを yes に設定します。
各クラスタファイルシステムについて、/etc/vfstab エントリの情報が、各ノードで同一であることを確認します。
各ノードの /etc/vfstab ファイルのエントリにおいて、デバイスが同じ順序で並んでいることを確認します。
ファイルシステムの起動順序の依存関係を確認します。
たとえば、phys-schost-1 が /global/oracle にディスクデバイス d0 をマウントし、phys-schost-2 が /global/oracle/logs にディスクデバイス d1 をマウントするとします。この構成では、phys-schost-1 が起動して /global/oracle をマウントした後でなければ、phys-schost-2 が起動して /global/oracle/logs をマウントすることはできません。
詳細は、vfstab(4) のマニュアルページを参照してください。
クラスタ内の任意のノードで、マウントポイントが存在していること、および /etc/vfstab ファイルのエントリがクラスタ内のすべてのノードで正しいことを確認します。
# sccheck |
エラーがない場合は何も表示されません。
クラスタ内の任意のノードから、クラスタファイルシステムをマウントします。
# mount /global/device-group/mount-point |
クラスタの各ノードで、クラスタファイルシステムがマウントされていることを確認します。
df(1M) または mount(1M) のどちらかのコマンドを使用して、マウントされたファイルシステムの一覧を表示できます。
次に、Solstice DiskSuite メタデバイス /dev/md/oracle/rdsk/d1 上に UFS クラスタファイルシステムを作成する例を示します。
# newfs /dev/md/oracle/rdsk/d1 ... [各ノードで実行する] # mkdir -p /global/oracle/d1 # vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/oracle/dsk/d1 /dev/md/oracle/rdsk/d1 /global/oracle/d1 ufs 2 yes global,logging [保存して終了する] [任意のノードで実行する] # sccheck # mount /global/oracle/d1 # mount ... /global/oracle/d1 on /dev/md/oracle/dsk/d1 read/write/setuid/global/logging/ largefiles on Sun May 3 08:56:16 2001 |
クラスタファイルシステムは、単にマウント解除することによって削除します。データも削除する場合は、配下のディスクデバイス (またはメタデバイスかボリューム) をシステムから削除します。
クラスタファイスシステムは、scshutdown(1M) を実行してクラスタ全体を停止したときに、システム停止処理の一環として自動的にマウント解除されます。shutdown を実行して単独でノードを停止したときはマウント解除されません。なお、停止するノードが、ディスクに接続されている唯一のノードの場合は、そのディスク上のクラスタファイルシステムにアクセスしようとするとエラーが発生します。
クラスタファイルシステムをマウント解除するには以下が必要です。
クラスタ内の任意のノードでのスーパーユーザー特権。
ファイルシステムが使用中でないこと。ファイルシステムが使用中と見なされるのは、ユーザーがファイルシステム内のディレクトリにアクセスしている場合や、プログラムがファイルシステム内のファイルを開いている場合です。ユーザーやプログラムは、クラスタ内のどのノードでもアクセスできます。
クラスタ内の任意のノードでスーパーユーザーになります。
マウントされているクラスタファイルシステムを確認します。
# mount -v |
各ノードで、クラスタファイルシステムを使用中の全プロセスの一覧を表示し、停止するプロセスを判断します。
# fuser -c [ -u ] mount-point |
ファイルシステムのマウントポイントにあたるファイルと、マウントされているファイルシステム内にあるファイルを報告します。
(任意) 各プロセス ID のユーザーログイン名を表示します。
プロセスを停止するクラスタファイルシステムの名前を指定します。
各ノードで、クラスタファイルシステムのプロセスをすべて停止します。
プロセスは任意の方法で停止できます。必要であれば、次のコマンドを使用して、クラスタファイルシステムに関係するプロセスを強制終了してください。
# fuser -c -k mount-point |
クラスファイルシステムを使用している各ノードに SIGKILL が送信されます。
各ノードで、ファイルシステムを使用しているプロセスがないことを確認します。
# fuser -c mount-point |
1 つのノードからファイルシステムをマウント解除します。
# umount mount-point |
マウント解除するクラスタファイルシステムの名前を指定します。クラスタファイルシステムがマウントされているディレクトリの名前や、ファイルシステムのデバイス名パスを指定できます。
(任意) /etc/vfstab ファイルを編集し、削除するクラスタファイルシステムのエントリを削除します。
この手順は、/etc/vfstab ファイルにこのクラスタファイスシステムのエントリがある各クラスタノードで実行してください。
(任意) ディスクデバイスグループ、メタデバイス、プレックスを削除します。
詳細は、ボリューム管理ソフトウェアのマニュアルを参照してください。
次に、Solstice DiskSuite メタデバイス /dev/md/oracle/rdsk/d1 にマウントされている UFS クラスタファイルシステムを削除する例を示します。
# mount -v ... /global/oracle/d1 on /dev/md/oracle/dsk/d1 read/write/setuid/global/logging/largefiles on Sun Oct 3 08:56:16 1999 # fuser -c /global/oracle/d1 /global/oracle/d1: 4006c # fuser -c -k /global/oracle/d1 /global/oracle/d1: 4006c # fuser -c /global/oracle/d1 /global/oracle/d1: # umount /global/oracle/d1 (各ノードで、強調表示されたエントリを削除する) # vi /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/md/oracle/dsk/d1 /dev/md/oracle/rdsk/d1 /global/oracle/d1 ufs 2 yes global,logging [保存して終了] |
クラスタファイルシステム上のデータを削除するには、配下のデバイスを削除します。詳細は、ボリューム管理ソフトウェアのマニュアルを参照してください。
sccheck(1M) ユーティリティを使用して、/etc/vfstab ファイル内のクラスタファイルシステムのエントリの構文を確認します。エラーがない場合は何も表示されません。
sccheck は、デバイスやボリューム管理コンポーネントに影響を及ぼすような変更 (クラスタファイルシステムの削除など) をクラスタ構成に加えた後で実行してください。