この章では、広域デバイスとクラスタファイルシステムの管理手順を説明します。
この章で説明する手順は次のとおりです。
この章の関連手順の概要は、表 3-1 を参照してください。
広域デバイス、広域名前空間、ディスクデバイスグループ、クラスタファイルシステムの概念に関する情報は、『Sun Cluster 3.0 の概念』を参照してください。
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 名前空間を正しく保持できるように、ディスクグループやボリュームの構成情報を変更したときは、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 コマンドが生成されます。これらのコマンドは、各説明の後にある例の中で示しています。
作業 |
参照箇所 |
---|---|
再構成再起動せずに広域デバイス名前空間を更新します。 - scgdevs を使用します。 | |
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)」
|
Solstice DiskSuite ディスクデバイスグループを構成から削除します。 - metaset と metaclear を使用します。 | |
VERITAS Volume Manager ディスクデバイスグループを構成から削除します。 - scsetup を使用します (scconf を生成)。 |
「ディスクデバイスグループからボリュームを削除する (VERITAS Volume Manager)」
|
VERITAS Volume Manager ディスクデバイスグループにノードを追加します。 - scsetup を使用します (scconf を生成)。 | |
ディスクデバイスグループの属性を変更します。 - scsetup を使用します (scconf を生成)。 | |
ディスクデバイスグループと属性を表示します。 - scconf を使用します。 | |
ディスクデバイスグループの主ノードを切り替えます。 - scswitch を使用します。 |
新しい広域デバイスを追加するときに、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 |
ディスクデバイスグループは Solstice DiskSuite ディスクセットに直接対応付けられています。metaset(1M) を使用してディスクセットを作成するときに、同じ名前のディスクデバイスグループも作成し、 Sun Cluster ディスクデバイスグループとして登録します。
ディスクセットを作成するディスクに接続されているノードでスーパーユーザーになります。
metaset を使用し、Solstice DiskSuite ディスクセットを追加して Sun Cluster にディスクデバイスグループとして登録します。
# metaset -s diskset -a -h node-list |
作成するディスクセットを指定します。
ディスクセットをマスターできるノードの一覧を追加します。
ディスクデバイスグループが追加されたことを確認します。
ディスクデバイスグループの名前は、metaset で指定したディスクセットの名前に一致します。
# scconf -p | egrep disk-device-group |
次は、ディスクセットとディスクデバイスグループを作成して、ディスクデバイスグループが作成されたことを確認する例です。
# metaset -s dg-schost-1 # scconf -p | egrep dg-schost-1 Device group name: dg-schost-1 |
次の手順は、ディスクを初期化する場合だけが対象です。ディスクをカプセル化する場合は、「ディスクをカプセル化する際に新しいディスクグループを作成する (VERITAS Volume Manager)」を参照してください。
VxVM ディスクグループを追加したら、ディスクデバイスグループを登録する必要があります。
追加するディスクグループを構成するディスクに物理的に接続されているクラスタのノードでスーパーユーザーになります。
VxVM ディスクグループとボリュームを作成します。
ディスクグループとボリュームは任意の方法で作成してください。
ミラー化したボリュームを設定する場合は、システムクラッシュ発生時のボリューム回復時間を短縮できるように、ダーティーリージョンログ (DRL) を使用することを強くお勧めします。
この手順を完了する方法については、VERITAS Volume Manager のマニュアルを参照してください。
VxVM ディスクグループを Sun Cluster ディスクデバイスグループとして登録します。詳細は、「ディスクグループをディスクデバイスグループとして登録する (VERITAS Volume Manager)」を参照してください。
次の手順は、ディスクをカプセル化する場合だけが対象です。ディスクを初期化する場合は、「ディスクの初期化時に新しいディスクグループを作成する (VERITAS Volume Manager)」を参照してください。
ルート以外のディスクは、VxVM ディスクグループとしてカプセル化してから Sun Cluster ディスクデバイスグループとして登録すると、Sun Cluster ディスクデバイスグループに変更できます。
ディスクのカプセル化は、VxVM ディスクグループを初めて作成するときのみサポートされています。ディスクグループを作成および登録した後は、そのディスクグループには、初期化してもよいディスクしか登録しないでください。
クラスタのノードでスーパーユーザーになります。
/etc/vfstab ファイルに、カプセル化するディスクのファイルシステムのエントリがある場合は、mount at boot オプションを必ず no に設定します。
この設定は、ディスクをカプセル化して Sun Cluster ディスクデバイスグループとして登録したら、yes に設定し直してかまいません。
ディスクをカプセル化します。
vxdiskadm のメニューまたはグラフィカルユーザーインタフェースを使用し、ディスクをカプセル化します。VxVM では、2 つの空きパーティションのほかに、ディスクの始点または終端に未割り当てのシリンダが必要です。また、スライス 2 をディスク全体に設定する必要もあります。詳細は、vxdiskadm(1M) のマニュアルページを参照してください。
ノードを停止して再起動します。
scswitch(1M) コマンドを使用して、すべてのリソースグループとデバイスグループをこのノードから次の優先ノードにスイッチオーバーします。続いて shutdown(1M) を使用して、ノードを停止して再起動します。
# scswitch -S -h node # shutdown -g 0 -i 6 -y |
必要であれば、すべてのリソースグループとデバイスグループをスイッチバックします。
リソースグループとデバイスグループがもともと主ノードにフェイルバックするように構成されていた場合、この手順は必要ありません。
# scswitch -z -h node -D devgrp1 [ ,devgrp2,... ] # scswitch -z -h node -g resgrp1 [ ,resgrp2,... ] |
VxVM ディスクグループを Sun Cluster ディスクデバイスグループとして登録します。詳細は、「ディスクグループをディスクデバイスグループとして登録する (VERITAS Volume Manager)」を参照してください。
ボリュームを追加した後で、「ディスクグループの構成変更を登録する (VERITAS Volume Manager)」 の手順に従って構成変更の内容を登録する必要があります。
新しいボリュームを既存の VxVM ディスクデバイスグループに追加するときは、ディスクデバイスグループの主ノードからこの手順を実行してください。また、ディスクデバイスグループはオンラインである必要があります。
クラスタのノードでスーパーユーザーになります。
ディスクデバイスグループの主ノードを確認します。
# scstat -D |
ディスクデバイスグループがオフラインかどうかを確認します。
オフラインでない場合は、手順 4 に進んでください。
オフラインの場合は、ディスクグループをオンラインにします。
# scswitch -z -D disk-device-group -h node |
指定したデバイスグループを切り替えます。
ディスクデバイスグループの切り替え先のノードの名前を指定します。
主ノード (ディスクデバイスグループを現在マスターしているノード) から、ディスクグループに VxVM ボリュームを作成します。
VxVM ボリュームの作成方法は、VERITAS Volume Manager のマニュアルを参照してください。
VxVM ディスクグループに加えた変更を登録し、広域名前空間を更新します。詳細は、「ディスクグループの構成変更を登録する (VERITAS Volume Manager)」を参照してください。
ディスクグループを現在のノードにインポートしてから、そのディスクグループを Sun Cluster ディスクデバイスグループとして登録すると、既存の VxVM ディスクグループを Sun Cluster ディスクデバイスグループに変更できます。
VxVM ディスクグループを Sun Cluster ディスクデバイスグループとして登録します。詳細は、「ディスクグループをディスクデバイスグループとして登録する (VERITAS Volume Manager)」を参照してください。
マイナー番号が別のディスクグループと衝突しているために VxVM ディスクデバイスグループを登録できない場合は、新しいディスクグループに未使用のマイナー番号を新たに割り当てる必要があります。新しいマイナー番号を割り当てた後で、登録手順を再度実行し、ディスクグループを Sun Cluster ディスクデバイスグループとして登録します。
クラスタのノードでスーパーユーザーになります。
使用中のマイナー番号を確認します。
# ls -l /dev/vx/dsk/* |
新しいディスクグループのベースとなるマイナー番号として、使用されていない 1000 の倍数を選択します。
ディスクグループに新しいマイナー番号を割り当てます。
# vxdg reminor diskgroup base_minor_number |
次の例では、マイナー番号 16000 〜 16002 と 4000 〜 4001 が使用されています。ここでは、ベースとなるマイナー番号として 5000 が使用されるように、vxdg reminor コマンドを使用して新しいディスクデバイスグループに再度マイナー番号を割り当てています。
# ls -l /dev/vx/dsk/* /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 /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 |
VxVM ディスクグループを Sun Cluster ディスクデバイスグループとして登録します。詳細は、「ディスクグループをディスクデバイスグループとして登録する (VERITAS Volume Manager)」を参照してください。
次の手順では、scsetup(1M) ユーティリティを使用し、関連付けられている VxVM ディスクグループを Sun Cluster ディスクデバイスグループとして登録します。
ディスクデバイスグループを登録した後で VxVM ディスクグループやボリュームに変更を加えた場合は、「ディスクグループの構成変更を登録する (VERITAS Volume Manager)」の手順に従って、ディスクデバイスグループの構成変更を登録してください。これによって、広域名前空間が正しい状態になります。
VxVM ディスクデバイスグループを登録するには以下が必要です。
クラスタ内のノードでのスーパーユーザー特権
ディスクデバイスグループとして登録する VxVM ディスクグループの名前
ディスクデバイスグループをマスターするノードの優先順位
優先順位を指定する場合は、最優先ノードが停止した後にクラスタに復帰するときに、ディスクデバイスグループを最優先ノードにスイッチバックするかどうかも指定します。
ノードの優先順位とフェイルバックのオプションについての詳細は、scconf(1M) を参照してください。
クラスタのノードでスーパーユーザーになります。
scsetup ユーティリティを起動します。
# scsetup |
「Main Menu」が表示されます。
VxVM ディスクデバイスグループで作業を行うために、3 (Device groups and volumes) を入力します。
「Device Groups Menu」が表示されます。
VxVM ディスクデバイスグループを登録するために、1 (Register a VxVM disk group as a device group) を入力します。
指示に従って、Sun Cluster ディスクデバイスグループとして登録する VxVM ディスクグループの名前を入力します。ディスクデバイスグループを登録しようとしたときに次のエラーが表示される場合は、「ディスクデバイスグループに新しいマイナー番号を割り当てる (VERITAS Volume Manager)」の手順に従ってください。この手順を実行すると、既存のディスクデバイスグループで使用中のマイナー番号と衝突しない新しいマイナー番号を割り当てることができます。
scconf: Failed to add device group - in use |
ディスクデバイスグループが登録され、オンラインになったことを確認します。
次のコマンドを実行し、表示される新しいディスクのディスクデバイス情報を確認します。
# scstat -D |
次に、scsetup で VxVM ディスクデバイスグループ (dg1) を登録する際に生成される scconf コマンドの例と、その検証手順を示します。この例では、VxVM ディスクグループとボリュームは以前に作成されたものと想定しています。
# 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 ディスクデバイスグループで作業を行うために、3 (Device groups and volumes) を入力します。
「Device Groups Menu」が表示されます。
構成変更を登録するために、2 (Synchronize volume information for a VxVM device group) を入力します。
指示に従って、構成を変更した VxVM ディスクグループ名を入力します。
次に、scsetup で、変更した VxVM ディスクデバイスグループ (dg1) を登録する際に生成される scconf コマンドの例を示します。この例では、VxVM ディスクグループとボリュームは以前に作成されたものと想定しています。
# scconf -c -D name=dg1,sync |
ディスクデバイスグループは Solstice DiskSuite ディスクセットに直接対応付けられています。したがって、Solstice DiskSuite ディスクデバイスグループを削除するには、metaclear(1M) および metaset(1M) コマンドを使用します。これらのコマンドを実行することで、同じ名前のディスクデバイスグループを削除し、Sun Cluster ディスクデバイスグループからディスクグループの登録を解除します。
ディスクセットを削除する手順は、Solstice DiskSuite のマニュアルを参照してください。
ディスクデバイスグループからボリュームを削除した後は、「ディスクグループの構成変更を登録する (VERITAS Volume Manager)」の手順に従って、ディスクデバイスグループに構成変更を登録してください。
クラスタのノードでスーパーユーザーになります。
ディスクデバイスグループの主ノードを確認します。
# scstat -D |
ディスクデバイスグループがオフラインかどうかを確認します。
オフラインでない場合は、手順 4 に進んでください。
オフラインの場合は、ディスクグループをオンラインにします。
# scswitch -z -D disk-device-group -h node |
切り替えを実行します。
切り替えるデバイスグループを指定します。
新たに主ノードになるノードの名前を指定します。
主ノード (ディスクデバイスグループを現在マスターしているノード) から、ディスクグループの VxVM ボリュームを削除します。
# vxedit -g diskgroup -rf rm volume |
ボリュームが含まれる VxVM ディスクグループを指定します。
指定したボリュームを削除します。
ボリュームを削除したら、ディスクデバイスグループに構成変更を登録する必要があります。「ディスクグループの構成変更を登録する (VERITAS Volume Manager)」を参照してください。
Sun Cluster ディスクデバイスグループを削除すると、対応する VxVM ディスクグループはデポートされます (消去されるわけではありません)。ただし、VxVM ディスクグループが引き続き存在していても、再登録しない限りクラスタで使用することはできません。
次の手順では、scsetup(1M) ユーティリティを使用して、VxVM ディスクグループを削除し、Sun Cluster ディスクデバイスグループから登録を解除します。
クラスタのノードでスーパーユーザーになります。
ディスクデバイスグループをオフラインにします。
# scswitch -F -D disk-device-group |
ディスクデバイスグループをオフラインにします。
オフラインにするデバイスグループを指定します。
scsetup ユーティリティを起動します。
「Main Menu」が表示されます。
# scsetup |
VxVM デバイスグループで作業を行うために、3 (Device groups and volumes) を入力します。
「Device Groups Menu」が表示されます。
VxVM デバイスグループの登録を解除するために、3 (Unregister a VxVM device group) を入力します。
指示に従って、登録を解除する VxVM ディスクグループを入力します。
次に、VxVM ディスクデバイスグループ dg1 をオフラインにして、scsetup でディスクデバイスグループの削除と登録の解除を行う際に生成される scconf(1M) コマンドの例を示します。
# scswitch -F -D dg1 # scconf -r -D name=dg1 |
この手順では、scsetup(1M) ユーティリティを使用してディスクデバイスグループにノードを追加します。
VxVM ディスクデバイスグループにノードを追加するには以下が必要です。
クラスタ内のノードでのスーパーユーザー特権。
ノードの追加先の VxVM デバイスグループの名前。
追加するノードの名前または ノード ID。
クラスタのノードでスーパーユーザーになります。
scsetup(1M) ユーティリティを起動します。
「Main Menu」が表示されます。
# scsetup |
VxVM ディスクデバイスグループで作業を行うために、3 (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 コマンドと、その検証手順の例を示します。
# scconf -a -D type=vxvm,name=dg1,nodelist=phys-schost-3 # scconf -p ... Device group name: dg1 Device type: VXVM Failback enabled: yes Node preference list: phys-schost-1, phys-schost-3 |
ディスクデバイスグループの主所有権を確立する方法は、preferenced という所有権設定属性の設定に基づきます。この属性を設定していない場合は、ほかで所有されていないディスクデバイスグループの主所有者が、そのグループ内のディスクへのアクセスを試みる最初のノードになります。一方、この属性を設定してある場合は、ノードが所有権の確立を試みる優先順位を指定する必要があります。
preferenced 属性を無効にすると、failback 属性も自動的に無効に設定されます。ただし、preferenced 属性を有効または再有効にする場合は、failback 属性を有効にするか無効にするかを選択できます。
preferenced 属性を有効または再有効にした場合は、主所有権の設定一覧でノードの順序を確立し直す必要があります。
次の手順では、scsetup(1M) を使用し、Solstice DiskSuite または VxVM ディスクデバイスグループの、preferenced 属性と failback 属性を設定または設定解除します。
この手順を実行するには、属性値を変更するディスクデバイスグループの名前が必要です。
クラスタのノードでスーパーユーザーになります。
scsetup(1M) ユーティリティを起動します。
「Main Menu」が表示されます。
# scsetup |
ディスクデバイスグループで作業を行うために、3 (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 Device group name: dg-schost-1 Device type: SDS Failback enabled: yes Node preference list: phys-schost-1, phys-schost-2 Diskset name: dg-schost-1 |
構成の一覧を表示するために、スーパーユーザーになる必要はありません。
scconf(1M) を使用して、ディスクデバイスグループ構成の一覧を表示します。
% scconf -p |
scconf コマンドを使用するときは、ディスクグループ名の下に表示される情報を確認してください。
# scconf -p ... Device group name: dg-schost-1 Device type: SDS Failback enabled: yes Node preference list: phys-schost-2, phys-schost-3 Diskset name: dg-schost-1 |
次の手順は、アクティブでないデバイスグループを起動する (オンラインにする) ときにも使用できます。
クラスタのノードでスーパーユーザーになります。
scswitch(1M) を使用して、ディスクデバイスグループの主ノードを切り替えます。
# scswitch -z -D disk-device-group -h node |
切り替えを実行します。
切り替えるデバイスグループを指定します。
新たに主ノードになるノードの名前を指定します。
ディスクデバイスグループが新しい主ノードに切り替わったことを確認します。
次のコマンドを実行し、表示される新しいデバイスグループのディスクデバイス情報を確認します。
# scstat -D |
次に、ディスクデバイスグループの主ノードを切り替えて変更結果を確認する例を示します。
# scswitch -z -D dg-schost-1 -h phys-schost-1 # scstat -D ... Device Group Name: dg-schost-1 Status: Online Primary: 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 ファイルにマウントポイントのエントリを追加します。
クラスタファイルシステムを自動的にマウントするには、mount at boot フィールドを yes に設定します。
次の必須マウントオプションを使用します。
global マウントオプションは、すべてのクラスタファイルシステムに必要です。このオプションにより、ファイルシステムをクラスタファイルシステムとして扱うように指定します。
ファイルシステムロギングは、すべてのクラスタファイルシステムに必要です。UFS ロギングは、Solaris DiskSuite メタトランスデバイスを使用して実行するか、直接 Solaris UFS マウントオプションを使用して実行できます。ただし、これらの方法は組み合わせて使用するべきではありません。Solaris UFS ロギングを直接使用する場合は、logging マウントオプションを使用する必要があります。一方、メタトランスファイルシステムロギングを使用する場合は、他のマウントオプションは不要です。
各クラスタファイルシステムについて、/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 をマウントすることはできません。
各ノードの /etc/vfstab ファイルのエントリに、共通デバイスが同じ順序で記述されていることを確認します。
たとえば、phys-schost-1 と phys-schost-2 がデバイス d0、d1、d2 に物理的に接続されている場合は、各 /etc/vfstab ファイルのエントリは d0、d1、d2 の順に記載されている必要があります。
詳細は、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 Oct 3 08:56:16 1999 |
クラスタファイルシステムは、単にマウント解除することによって削除します。データも削除する場合は、配下のディスクデバイス (またはメタデバイスかボリューム) をシステムから削除します。
クラスタファイスシステムは、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 は、デバイスやボリューム管理コンポーネントに影響を及ぼすような変更 (クラスタファイルシステムの削除など) をクラスタ構成に加えた後で実行してください。
次の手順で、Solstice DiskSuite を実行中のディスクデバイスグループ (ディスクセット) からクラスタノードを削除します。
削除するノードがメンバーになっているディスクデバイスグループを確認します。
# scstat -D |
ノードが削除されるディスクデバイスグループを現在所有しているノードでスーパーユーザーになります。
ディスクデバイスグループから、削除するノードのホスト名を削除します。
ノードを削除する各ディスクデバイスグループに対してこの手順を繰り返します。
# metaset -s setname -d -f -h node |
ディスクデバイスグループ (ディスクセット) の名前を指定します。
強制的に実行します。
ディスクデバイスグループから削除します。
ディスクデバイスグループをマスターできるノードの一覧からノードを削除します。
更新が完了するまでに数分間かかることがあります。
ディスクデバイスグループからノードが削除されたことを確認します。
ディスクデバイスグループの名前は、metaset で指定したディスクセットの名前に一致します。
# scstat -D |
次に、ディスクデバイスグループ (メタセット) からホスト名を削除し、ノードがディスクデバイスグループから削除されたことを確認する例を示します。この例では単一のディスクデバイスグループから 1 つのノードを削除する場合を示していますが、1 つのノードは同時に複数のディスクデバイスグループに所属できます。ノードを削除する各ディスクデバイスグループに対して、metaset コマンドを繰り返します。
[ノードのディスクデバイスグループを確認する] # 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) を実行中の既存のディスクデバイスグループ (ディスクセット) からクラスタノードを削除します。
削除するノードがメンバーになっているディスクデバイスグループを確認します。
# scstat -D |
現在のクラスタメンバーノードでスーパーユーザーになります。
scsetup ユーティリティを実行します。
# scsetup |
「Main Menu」が表示されます。
3 (Device groups and volumes) を入力し、ディスクデバイスグループを再構成します。
5 (Remove a node from a VxVM device group) を入力し、VxVM ディスクデバイスグループからノードを削除します。
プロンプトに従って、ディスクデバイスグループからクラスタノードを削除します。次の情報を入力するよう求められます。
VxVM デバイスグループ
ノード名
VxVM ディスクデバイスグループからノードが削除されたことを確認します。
# scstat -D ... Device group name: devicegroupname Device group type: VxVM Device group failback enabled: no Device group node list: nodename Diskgroup name: diskgroupname ... |
次に、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 [オプション 3 を選択する] *** Main Menu *** Please select from one of the following options: ... 3) Device groups and volumes ... Option: 3 [オプション 5 を選択する] *** Device Groups Menu *** Please select from one of the following options: ... 5) Remove a node from a VxVM device group ... Option: 5 [プロンプトが表示されたら質問に答える] >>> Remove a Node from a VxVM Device Group <<< ... Is it okay to continue (yes/no) [yes]? yes ... Name of the VxVM device group from which you want to remove a node? dg1 Name of the node to remove from this group? phys-schost-4 Is it okay to proceed with the update (yes/no) [yes]? yes scconf -r -D name=dg1,nodelist=phys-schost-4 Command completed successfully. Hit ENTER to continue: |
[scsetup の「Device Groups Menu」と「Main Menu」を終了する] ... Option: q [ノードが削除されたことを確認する] # scstat -D ... Device group name: dg1 Device group type: VxVM Device group failback enabled: no Device group node list: phys-schost-3 Diskgroup name: dg1 ... |