この章では、広域デバイスとクラスタファイルシステムの管理手順を説明します。
この章で説明する手順は次のとおりです。
この章の関連手順の概要は、表 3-2 を参照してください。
広域デバイス、広域名前空間、ディスクデバイスグループ、クラスタファイルシステムの概念については、『Sun Cluster 3.0 12/01 の概念』を参照してください。
Sun Cluster ディスクデバイスグループの管理方法は、クラスタにインストールされているボリューム管理ソフトウェアによって決まります。Solstice DiskSuite はクラスタ対応なので、Solstice DiskSuite の metaset(1M) コマンドを使用して、ディスクデバイスグループの追加、登録、削除を行うことができます。VERITAS Volume Manager (VxVM) の場合は、VxVM のコマンドを使用してディスクグループを作成します。続いて scsetup(1M) ユーティリティーを使用して、ディスクグループを Sun Cluster ディスクデバイスグループとして登録します。VxVM ディスクデバイスグループを削除するときは、scsetup ユーティリティーと VxVM コマンドの両方を使用します。
クラスタ内のディスクデバイスやテープデバイスごとに、Sun Cluster ソフトウェアは raw ディスクデバイスグループを自動的に作成します。しかし、このようなクラスタデバイスグループは広域デバイスとしてアクセスされるまでオフラインのままです。ディスクデバイスグループやボリューム管理ソフトウェアのディスクグループを管理する際は、グループの主ノードであるクラスタから実行する必要があります。
広域名前空間はインストール時に自動設定され、Solaris オペレーティング環境の再構成再起動の間に自動的に更新されるため、通常は広域デバイス名前空間を管理する必要はありません。ただし、広域名前空間を生成し直したり、更新した場合は、任意のクラスタノードから scgdevs(1M) コマンドを実行できます。これにより、その他のすべてのクラスタノードだけでなく、今後クラスタに結合する可能性があるノードでも広域名前空間を更新できます。
広域デバイスのアクセス権に加えた変更は、Solstice DiskSuite およびディスクデバイスのクラスタのすべてのノードには自動的に伝達されません。広域デバイスのアクセス権を変更する場合は、クラスタ内のすべてのノードで手作業でアクセス権を変更する必要があります。たとえば、広域デバイス /dev/global/dsk/d3s0 のアクセス権を 644 に変更する場合は、次のコマンドを実行する必要があります。
# chmod 644 /dev/global/dsk/d3s0
このコマンドは、クラスタ内のすべてのノードで実行してください。
VxVM では、chmod コマンドはサポートされていません。VxVM で広域デバイスのアクセス権を変更するには、VxVM の管理者ガイドを参照してください。
クラスタ内のディスクデバイスやテープデバイス上で動的再構成 (DR) を実行するときには、いくつかの問題を考える必要があります。
Solaris 8 の DR 機能の説明で述べられているすべての必要条件、手順、制限は Sun Cluster の DR サポートにも適用されます (オペレーティング環境での休止操作を除く)。したがって、Sun Cluster ソフトウェアで DR 機能を使用する前に、必ず、Solaris 8 の DR 機能についての説明を参照してください。特に、DR Detach 操作中に、ネットワークに接続されていない入出力デバイスに影響する問題について確認してください。
主ノードのアクティブなデバイス上では、DR Remove 操作は実行できません。DR 操作を実行できるのは、主ノードのアクティブでないデバイスか、二次ノードの任意のデバイス上でだけです。
DR 操作の前後とも、クラスタ上のデータへのアクセスは継続されます。
定足数デバイスの可用性に影響するような DR 操作は実行できません。詳細については、「定足数デバイスへの動的再構成」を参照してください。
二次ノードに対して DR 操作を行っているときに現在の主ノードに障害が発生すると、クラスタの可用性が損なわれます。これは、新しい二次ノードが提供されるまでは、主ノードのフェイルオーバー先が存在しないためです。
広域デバイス上で DR 操作を実行するには、次の手順をその順番どおりに行います。
表 3-1 作業マップ: ディスクデバイスとテープデバイスでの動的再構成
作業 |
参照箇所 |
---|---|
1. アクティブなデバイスグループに影響するような DR 操作を現在の主ノードに実行する必要がある場合、DR 削除操作をデバイス上で実行する前に、主ノードと二次ノードを切り替えます。 | |
2. 削除するデバイス上で DR 削除操作を実行します。 |
『Sun Enterprise 10000 Dynamic Reconfiguration ユーザーマニュアル』と『Sun Enterprise 10000 Dynamic Reconfiguration リファレンスマニュアル』 (http://docs.sun.com) |
Sun Cluster で VxVM 名前空間を保持するには、VxVM のディスクグループまたはボリュームの変更を Sun Cluster ディスクデバイスグループの構成の変更として登録する必要があります。変更を登録することによって、すべてのクラスタノードを確実に更新できます。名前空間に影響を与える構成の変更の例としては、ボリュームの追加、削除、名前変更や、ボリュームのアクセス権、所有者、グループ ID の変更などが挙げられます
ディスクグループを Sun Cluster ディスクデバイスグループとしてクラスタに登録した後は、VxVM コマンドを使用して VxVM ディスクグループをインポートまたはデポートしてはなりません。ディスクグループのインポートやデポートが必要な場合は、すべて Sun Cluster ソフトウェアによって処理します。
各 VxVM ディスクグループには、クラスタ全体で一意のマイナー番号が与えられています。デフォルトでは、ディスクグループを作成したときに、VxVM によって 1000 の倍数がディスクグループのベースマイナー番号として選択されます。少数のディスクグループしかないほとんどの構成では、これで十分一意性を保証できます。ただし、新たに作成したディスクグループのマイナー番号が、別のクラスタノードにインポートした以前のディスクグループのマイナー番号と衝突することがあります。この場合は、Sun Cluster ディスクデバイスグループを登録できません。この問題を解消するには、新しいディスクグループに一意の値である新しいマイナー番号を付けたうえで、Sun Cluster ディスクデバイスグループとして登録してください。
ミラー化したボリュームを設定している場合、ダーティーリージョンログ (DRL) を使用すると、ノードに障害が発生してからボリュームが回復するまでの時間を短縮できます。入出力のスループットが低下することになりますが、DRL の使用を強くお勧めします。
VxVM を使用して Oracle Parallel Server/Real Application Clusters 用の共有ディスクグループを設定した場合は、『VERITAS Volume Manager Administrator's Reference Guide』に説明されている VxVM のクラスタ機能を使用します。Oracle Parallel Server/Real Application Clusters 用の共有ディスクグループの作成時に注意する、その他のディスクグループの作成との違いは次のとおりです。
Oracle Parallel Server/Real Application Clusters 用の共有ディスクグループは vxdg -s を使用してインポートする必要があります。
Oracle Parallel Server/Real Application Clusters 用の共有ディスクグループをクラスタフレームワークに登録してはなりません。
他の VxVM ディスクグループを作成する方法については、「ディスクの初期化時に新しいディスクグループを作成する (VERITAS Volume Manager)」を参照してください。
クラスタファイルシステムを管理するのに特別な Sun Cluster コマンドは必要ありません。クラスタファイルシステムを管理するには、他の Solaris ファイルシステムを管理するときと同じように、Solaris の標準のファイルシステムコマンド (mount や newfs など) などを使用します。クラスタファイルシステムをマウントするには、mount コマンドに -g オプションを指定します。また、起動時に自動的にマウントすることもできます。
クラスタファイルシステムはファイルを読み取るときにファイルのアクセス時間を更新しません。
scsetup(1M) ユーティリティーは、scconf(1M) コマンドの対話的なインタフェースです。scsetup を実行すると、scconf コマンドが生成されます。これらのコマンドは、各説明の後にある例の中で示しています。
Sun Cluster ソフトウェアは、クラスタ内のディスクデバイスやテープデバイスごとに、raw ディスクデバイスグループを自動的に作成します。しかし、このようなクラスタデバイスグループは広域デバイスとしてアクセスするまでオフラインのままです。
作業 |
参照箇所 |
---|---|
再構成再起動せずに広域デバイス名前空間を更新する。 - 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 ディスクデバイスグループとして登録します。ディスクセットを登録するときにディスクセットに割り当てた名前が、自動的にディスクデバイスグループに割り当てられます。
ディスクセットを作成するディスクに接続されているノード上でスーパーユーザーになります。
構成に必要なメタデバイス名の個数を計算して、各ノード上で /kernel/drv/md.conf ファイルを変更します。
『Sun Cluster 3.0 12/01 ソフトウェアのインストール』の「メタデバイス名とディスクセット数を算出する」を参照してください。
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 ディスクセットのことです。Solstice DiskSuite ディスクデバイスグループを削除するには、metaclear(1M) と metaset(1M) コマンドを使用します。これらのコマンドは、Sun Cluster ディスクデバイスグループと同じ名前を持つディスクデバイスグループを削除して、ディスクグループの登録を解除します。
ディスクセットを削除する手順については、Solstice DiskSuite のマニュアルを参照してください。
この手順を使用して、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 ディスクグループを追加した後には、ディスクデバイスグループを登録する必要があります。
Oracle Parallel Server/Real Application Clusters 用の共有ディスクグループを VxVM を使用して設定した場合、『VERITAS Volume Manager Administrator's Reference Guide』に説明されている VxVM のクラスタ機能を使用します。詳細については、「Oracle Parallel Server/Real Application Clusters 用の共有ディスクグループの作成」を参照してください。
追加するディスクグループを構成するディスクに、物理的に接続されているクラスタ内の任意のノード上でスーパーユーザーになります。
VxVM のディスクグループとボリュームを作成します。
ディスクグループとボリュームを作成する方法は任意です。
ミラー化したボリュームを設定している場合、ダーティーリージョンログ (DRL) を使用すると、ノードに障害が発生してからボリュームが回復するまでの時間を短縮できます。ただし、DRL を使用することで入出力のスループットを低減できることがあります。
この手順を完了する方法については、VERITAS Volume Manager のマニュアルを参照してください。
VxVM ディスクグループを Sun Cluster ディスクデバイスグループとして登録します。
「ディスクグループをディスクデバイスグループとして登録する (VERITAS Volume Manager)」を参照してください。
Oracle Parallel Server/Real Application Clusters 用の共有ディスクグループをクラスタフレームワークに登録してはなりません。
次の手順は、ディスクをカプセル化する場合だけが対象です。ディスクを初期化する手順については、「ディスクの初期化時に新しいディスクグループを作成する (VERITAS Volume Manager)」を参照してください。
ルート以外のディスクは、VxVM ディスクグループとしてカプセル化してから Sun Cluster ディスクデバイスグループとして登録すると、Sun Cluster ディスクデバイスグループに変更できます。
ディスクのカプセル化は、VxVM ディスクグループを初めて作成するときのみサポートされています。VxVM ディスクグループを作成して、Sun Cluster ディスクデバイスグループとして登録した後は、そのディスクグループには、初期化してもよいディスクだけを登録します。
Oracle Parallel Server/Real Application Clusters 用の共有ディスクグループを VxVM を使用して設定した場合、『VERITAS Volume Manager Administrator's Reference Guide』に説明されている VxVM のクラスタ機能を使用します。詳細については、「Oracle Parallel Server/Real Application Clusters 用の共有ディスクグループの作成」を参照してください。
クラスタ内の任意のノード上でスーパーユーザーになります。
/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)」を参照してください。
Oracle Parallel Server/Real Application Clusters 用の共有ディスクグループをクラスタフレームワークに登録してはなりません。
ボリュームを追加した後には、「ディスクグループの構成の変更を登録する (VERITAS Volume Manager)」 の手順に従って構成の変更を登録する必要があります。
新しいボリュームを既存の VxVM ディスクデバイスグループに追加するときは、この手順はディスクデバイスグループの主ノードから行う必要があり、かつ、ディスクデバイスグループはオンラインである必要があります。
クラスタ内の任意のノード上でスーパーユーザーになります。
新しいボリュームを追加するディスクデバイスグループの、主ノードと状態を確認します。
# scstat -D |
ディスクデバイスグループがオフラインのときは、オンラインにします。
# scswitch -z -D disk-device-group -h nodelist |
指定したデバイスグループを切り替えます。
ディスクデバイスグループの切り替え先のノードの名前を指定します。このノードが新しい主ノードになります。
主ノード (ディスクデバイスグループを現在マスターしているノード) から、ディスクグループに VxVM ボリュームを作成します。
VxVM ボリュームを作成する手順については、VERITAS Volume Manager のマニュアルを参照してください。
VxVM ディスクグループに加えた変更を登録して、広域名前空間を更新します。
ディスクグループを現在のノードにインポートしてから、そのディスクグループを 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」が表示されます。
4 (Device groups and volumes) を入力して、VxVM ディスクデバイスグループで作業を行います。
「Device Groups Menu」が表示されます。
1 (Register a VxVM disk group as a device group) を入力して、VxVM ディスクデバイスグループを登録します。
指示に従って、Sun Cluster ディスクデバイスグループとして登録する VxVM ディスクグループの名前を入力します。
Oracle Parallel Server/Real Application Clusters 用の共有ディスクグループを VxVM を使用して設定した場合、この共有ディスクグループをクラスタフレームワークに登録してはなりません。『VERITAS Volume Manager Administrator's Reference Guide』に説明されている 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」が表示されます。
4 (Device groups and volumes) を入力し、VxVM ディスクデバイスグループで作業を行います。
「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 |
4 (Device groups and volumes) を入力して、VxVM デバイスグループで作業を行います。
「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 |
4 (Device groups and volumes) を入力して、VxVM ディスクデバイスグループで作業を行います。
「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 [必要であれば、ディスクセットまたはディスクグループを手動でインポートする] Solstice DiskSuite の場合: # metaset -C take -f -s dg-schost-1 VERITAS Volume Manager の場合: # vxdg -t import dg1 [必要なすべての修復手順を実行する] [所有権を解放する] Solstice DiskSuite の場合: # metaset -C release -s dg-schost-1 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 デバイスグループ)、またはブロックディスクスライス。
SunPlex Manager を使用してデータサービスをインストールした場合は、1 つ以上のクラスタファイルシステムがすでに自動的に作成されています (十分な共有ディスクが存在する場合)。
クラスタ内の任意のノード上でスーパーユーザーになります。
ファイルシステムを迅速に作成するには、ファイルシステムを作成する広域デバイスの現在の主ノード上でスーパーユーザーになります。
newfs(1M) コマンドを使用してファイルシステムを作成します。
# newfs raw-disk-device |
表 3-4 に、引数 raw-disk-device の名前の例を挙げます。命名規約はボリューム管理ソフトウェアごとに異なるので注意してください。
表 3-4 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 ディスクデバイス |
クラスタ内の各ノードで、クラスタファイルシステムのマウントポイントディレクトリを作成します。
クラスタファイルシステムにアクセスしないノードがある場合でも、マウントポイントは各ノードごとに必要です。
管理を行いやすくするには、マウントポイントを /global/device-group ディレクトリに作成します。これを使用することによって、広域に利用できるクラスタファイルシステムを、ローカルファイルシステムから簡単に判別できるようになります。
# mkdir -p /global/device-group/mountpoint |
デバイスが含まれるデバイスグループ名に対応するディレクトリ名を指定します。
クラスタファイルシステムのマウント先のディレクトリ名を指定します。
クラスタ内の各ノードで、マウントポイント用の /etc/vfstab ファイルにエントリを追加します。
以下の必須マウントオプションを使用します。
ロギングはすべてのクラスタファイルシステムに必要です。
Solaris UFS ロギング - マウントオプションとして global と logging を使用します。UFS マウントオプションの詳細については、mount_ufs(1M) のマニュアルページを参照してください。
syncdir マウントオプションは、UFS クラスタファイルシステムでは必要ありません。syncdir を指定すると、POSIX に準拠したファイルシステムの動作が保証されます。指定しない場合は、UFS ファイルシステムと同じ動作になります。syncdir を指定しないと、ディスクブロックを割り当てる書き込み処理のパフォーマンスを大幅に向上できます (ファイルにデータを追加する場合など)。ただし、場合によっては、syncdir を指定しないと、ファイルを閉じるまで容量不足の状態を検出できません。syncdir を指定しないことで生じる問題はほとんどありません。syncdir (および POSIX 動作) を指定すると、ファイルを閉じる前に容量不足の状態を検出できます。
Solstice DiskSuite トランスメタデバイス - マウントオプションとして global を使用します (logging マウントオプションは使用しません)。トランスメタデバイスの設定については、Solstice DiskSuite のマニュアルを参照してください。
VxFS ロギング - マウントオプションとしてglobal と log を使用します。VxFS マウントオプションの詳細については、mount_vxfs(1M) のマニュアルページを参照してください。
クラスタファイルシステムを自動的にマウントするには、「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/mountpoint |
クラスタの各ノードで、クラスタファイルシステムがマウントされていることを確認します。
df(1M) または mount(1M) のいずれかのコマンドを使用して、マウントされたファイルシステムの一覧を表示します。
Sun Cluster 環境で VxFS クラスタファイルシステムを管理するには、管理コマンドは VxFS クラスタファイルシステムがマウントされている主ノードから実行する必要があります。
次に、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 [保存して終了する] [1 つのノード上で:] # sccheck # mount /global/oracle/d1 # mount ... /global/oracle/d1 on /dev/md/oracle/dsk/d1 read/write/setuid/global/logging/ largefiles on Sun Oct 3 08:56:16 2001 |
クラスタファイルシステムは、単にマウント解除することによって削除します。データも削除する場合は、配下のディスクデバイス (またはメタデバイスかボリューム) をシステムから削除します。
クラスタファイスシステムは、scshutdown(1M) を実行してクラスタ全体を停止したときに、システム停止処理の一環として自動的にマウント解除されます。shutdown を実行して単独でノードを停止したときはマウント解除されません。なお、停止するノードが、ディスクに接続されている唯一のノードの場合は、そのディスク上のクラスタファイルシステムにアクセスしようとするとエラーが発生します。
クラスタファイルシステムをマウント解除するには以下が必要です。
クラスタ内のノードでのスーパーユーザー特権
ファイルシステムが使用中でないこと。ファイルシステムが使用中と見なされるのは、ユーザーがファイルシステム内のディレクトリにアクセスしている場合や、プログラムがファイルシステム内のファイルを開いている場合です。ユーザーやプログラムは、クラスタ内のどのノードでもアクセスできます。
クラスタ内の任意のノード上でスーパーユーザーになります。
マウントされているクラスタファイルシステムを確認します。
# mount -v |
各ノードで、クラスタファイルシステムを使用しているすべてのプロセスの一覧を表示して、停止するプロセスを判断します。
# fuser -c [ -u ] mountpoint |
ファイルシステムのマウントポイントにあたるファイルと、マウントされているファイルシステム内にあるファイルを報告します。
(任意) 各プロセス ID のユーザーログイン名を表示します。
プロセスを停止するクラスタファイルシステムの名前を指定します。
各ノードで、クラスタファイルシステムのプロセスをすべて停止します。
プロセスは任意の方法で停止できます。必要であれば、次のコマンドを使用して、クラスタファイルシステムに関係するプロセスを強制終了します。
# fuser -c -k mountpoint |
クラスファイルシステムを使用している各ノードに SIGKILL が送信されます。
各ノードで、ファイルシステムを使用しているプロセスがないことを確認します。
# fuser -c mountpoint |
1 つのノードからファイルシステムをマウント解除します。
# umount mountpoint |
マウント解除するクラスタファイルシステムの名前を指定します。クラスタファイルシステムがマウントされているディレクトリの名前や、ファイルシステムのデバイス名パスを指定できます。
(任意) /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 は、デバイスやボリューム管理コンポーネントに影響を及ぼすような変更 (クラスタファイルシステムの削除など) をクラスタ構成に加えた後で実行します。