作業 |
参照箇所 |
---|---|
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 ... |