クラスタファイルシステムは、クラスタのどのノードからでも読み取りやアクセスが可能なグローバルなファイルシステムです。
表 5–5 作業リスト: クラスタファイルシステムの管理
作業 |
参照先 |
---|---|
クラスタファイルシステムを Sun Cluster の最初のインストール後に追加する | |
クラスタファイルシステムを削除する | |
クラスタ内のグローバルマウントポイントをチェックして、ノード間の一貫性が保たれているかどうかを確認する |
次の作業は、Sun Cluster の初期インストール後に作成するクラスタファイルシステムごとに実行します。
必ず、正しいディスクデバイス名を指定してください。クラスタファイルシステムを作成すると、ディスク上のデータはすべて消去されます。デバイス名を誤って指定すると、本来消去する必要のないデータを失うことになります。
クラスタファイルシステムを追加する前に、次の必要条件が満たされていることを確認します。
クラスタ内のノード上でスーパーユーザー特権が確立されていること。
ボリュームマネージャーソフトウェアがクラスタ上にインストールおよび構成されていること。
クラスタファイルシステムの作成先がデバイスグループ (Solaris Volume Manager デバイスグループまたは VxVM デバイスグループ)、またはブロックディスクスライスであること。
Sun Cluster Manager を使用してデータサービスをインストールした場合は、クラスタファイルシステムがすでに自動的に作成されています (十分な共有ディスクが存在する場合)。
phys-schost# プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。
この手順では、長形式の Sun Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。コマンドのリストとその短縮形については、付録 B Sun Cluster オブジェクト指向コマンドを参照してください。
クラスタ内にある任意のノード上でスーパーユーザーになります。
ファイルシステムを迅速に作成するには、ファイルシステムを作成するグローバルデバイスの現在の主ノードでスーパーユーザーになります。
newfs コマンドを使用してファイルシステムを作成します。
newfs コマンドは、新しい UFS ファイルシステムを作成するときだけ有効です。新しい VxFS ファイルシステムを作成する場合は、VxFS マニュアルの手順に従ってください。
# newfs raw-disk-device |
下の表 に、引数 raw-disk-device の名前の例を挙げます。命名規約はボリューム管理ソフトウェアごとに異なるので注意してください。
ボリューム管理ソフトウェア |
ディスクデバイス名 |
説明 |
---|---|---|
Solaris Volume Manager |
/dev/md/oracle/rdsk/d1 |
oracle メタセット内部の raw ディスクデバイス d1 |
SPARC:Veritas Volume Manager |
/dev/vx/rdsk/oradg/vol01 |
oradg ディスクグループ内部の raw ディスクデバイス vol01 |
なし |
/dev/global/rdsk/d1s3 |
ブロックスライス d1s3 の raw ディスクデバイス |
クラスタ内の各ノードで、クラスタファイルシステムのマウントポイントディレクトリを作成します。
クラスタファイルシステムにアクセスしないノードがある場合でも、マウントポイントはノードごとに必要です。
管理しやすくするために、マウントポイントは /global/devicegroup ディレクトリに作成します。これを使用することによって、グローバルに利用できるクラスタファイルシステムを、ローカルファイルシステムから簡単に判別できるようになります。
# mkdir -p /global/devicegroup mountpoint |
デバイスが含まれるデバイスグループ名に対応するディレクトリ名を指定します。
クラスタファイルシステムのマウント先のディレクトリ名を指定します。
クラスタ内の各ノードで、マウントポイント用の /etc/vfstabファイルにエントリを追加します。
以下の必須マウントオプションを使用します。
ロギングはすべてのクラスタファイルシステムに必要です。
Solaris UFS ロギング – global,logging マウントオプションを使用します。UFS マウントのオプションについての詳細は、mount_ufs(1M) のマニュアルページを参照してください。
syncdir マウントオプションは UFS クラスタファイルシステムには必要ありません。syncdir を指定すると、POSIX に準拠したファイルシステムの動作が保証されます。指定しない場合は、UFS ファイルシステムと同じ動作になります。syncdir を指定しない場合、ディスクブロックを割り当てる (つまり、データをファイルに追加するような) 書き込みの性能が大幅に向上します。ただし、場合によっては syncdir を指定しないと、ファイ ルを閉じるまで容量不足の状態を検出できません。syncdir を指定しないことで生じる問題はほとんどありません。syncdir (つまり、POSIX の動作) を指定した場合、空間不足状態はファイルを閉じる前に見つかります。
Solaris Volume Manager トランザクションボリューム - global マウントオプションを使用します (logging マウントオプションは使用しないでください)。トランザクションボリュームを設定する方法については、Solaris Volume Manager のマニュアルを参照してください。
将来の Solaris ソフトウェアのリリースでは、トランザクションボリュームは Solaris OS から削除される予定です。Solaris UFS ロギングは、より低い管理条件とオーバーヘッドで、同様の機能を高いパフォーマンスで提供します。
VxFS ロギング - global および log マウントオプションを使用します。詳細は、VxFS ソフトウェアに付属の mount_vxfs のマニュアルページを参照してください。
クラスタファイルシステムを自動的にマウントするには、mount at boot フィールドを yes に設定します。
各クラスタファイルシステムで、/etc/vfstab エントリの情報が各ノードで同じになるようにします。
各ノードの /etc/vfstab ファイルのエントリに、デバイスが同じ順序で表示されることを確認します。
ファイルシステムの起動順の依存関係を検査します。
たとえば、phys-schost-1 がディスクデバイス d0 を /global/oracle にマウントし、phys-schost-2 がディスクデバイス d1 を /global/oracle/logs にマウントすると仮定します。この構成では、phys-schost-1 が起動して /global/oracle をマウントしたあとにのみ phys-schost-2 が起動して /global/oracle/logs をマウントできます。
詳細については、vfstab(4) のマニュアルページを参照してください。
クラスタ内にある任意のノード上で、マウントポイントが存在し、クラスタ内にあるすべてのノード上で /etc/vfstab ファイルのエントリが正しいことを確認します。
# sccheck |
エラーが発生していない場合は、何も戻されません。
クラスタ内にある任意のノードから、クラスタファイルシステムをマウントします。
# mount /global/devicegroup mountpoint |
クラスタ内にある各ノード上で、クラスタファイルシステムがマウントされていることを確認します。
df または mount のいずれかのコマンドを使用し、マウントされたファイルシステムの一覧を表示します。
Sun Cluster 環境で VxFS クラスタファイルシステムを管理するには、管理コマンドは VxFS クラスタファイルシステムがマウントされている主ノードから実行する必要があります。
次に、Solaris Volume Manager メタデバイスまたはボリューム /dev/md/oracle/rdsk/d1 上に UFS クラスタファイルシステムを作成する例を示します。
# newfs /dev/md/oracle/rdsk/d1 ... [on each node:] # 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 [save and exit] [on one node:] # sccheck # mount /dev/md/oracle/dsk/d1 /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 |
クラスタファイルシステムを削除するには、単に、そのクラスタファイルシステムのマウントを解除します。データも削除する場合は、配下のディスクデバイス (またはメタデバイスかボリューム) をシステムから削除します。
クラスタファイスシステムは、cluster shutdown を実行してクラスタ全体を停止したときに、システム停止処理の一環として自動的にマウント解除されます。shutdown を実行して単独でノードを停止したときはマウント解除されません。なお、停止するノードが、ディスクに接続されている唯一のノードの場合は、そのディスク上のクラスタファイルシステムにアクセスしようとするとエラーが発生します。
クラスタファイルシステムをマウント解除する前に、次の必要条件が満たされていることを確認します。
クラスタ内のノード上でスーパーユーザー特権が確立されていること。
ファイルシステムが使用中でないこと。ファイルシステムが使用中と見なされるのは、ユーザーがファイルシステム内のディレクトリにアクセスしている場合や、プログラムがファイルシステム内のファイルを開いている場合です。ユーザーやプログラムは、クラスタ内のどのノードでもアクセスできます。
クラスタ内にある任意のノード上でスーパーユーザーになります。
マウントされているクラスタファイルシステムを確認します。
# mount -v |
各ノードで、クラスタファイルシステムを使用中の全プロセスの一覧を表示し、停止するプロセスを判断します。
# fuser -c [ -u ] mountpoint |
ファイルシステムのマウントポイントとなっているファイルと、マウントされているファイルシステム内のファイルがすべて表示されます。
(任意) 各プロセス ID のユーザーログイン名を表示します。
プロセスを停止するクラスタファイルシステムの名前を指定します。
各ノードで、クラスタファイルシステムのプロセスをすべて停止します。
プロセスは任意の方法で停止できます。必要であれば、次のコマンドを使用して、クラスタファイルシステムに関係するプロセスを強制終了してください。
# fuser -c -k mountpoint |
クラスファイルシステムを使用している各ノードに SIGKILL が送信されます。
各ノードで、ファイルシステムを使用しているプロセスがないことを確認します。
# fuser -c mountpoint |
1 つのノードからファイルシステムをマウント解除します。
# umount mountpoint |
マウント解除するクラスタファイルシステムの名前を指定します。クラスタファイルシステムがマウントされているディレクトリの名前や、ファイルシステムのデバイス名パスを指定できます。
(任意) /etc/vfstab ファイルを編集して、削除するクラスタファイルシステムのエントリを削除します。
この手順は、/etc/vfstab ファイルにこのクラスタファイルシステムのエントリがある各クラスタノードで実行してください。
(任意) ディスクデバイス group/metadevice/volume/plex を削除します。
詳細については、ボリューム管理ソフトウェアのマニュアルを参照してください。
次に、Solaris Volume Manager メタデバイスまたはボリューム /dev/md/oracle/rdsk/d1 にマウントされた UFS クラスタファイルシステムを削除する例を示します。
# mount -v ... /global/oracle/d1 on /dev/md/oracle/dsk/d1 read/write/setuid/global/logging/largefiles # 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 (On each node, remove the highlighted entry:) # 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 [Save and exit.] |
クラスタファイルシステム上のデータを削除するには、配下のデバイスを削除します。詳細については、ボリューム管理ソフトウェアのマニュアルを参照してください。
sccheck(1M) ユーティリティーを使用して、/etc/vfstab ファイル内のクラスタファイルシステムのエントリの構文を確認します。エラーが発生していない場合は、何も戻されません。
sccheck は、デバイスやボリューム管理コンポーネントに影響を及ぼすような変更 (クラスタファイルシステムの削除など) をクラスタ構成に加えたあとで実行します。