ナビゲーションリンクをスキップ
印刷ビューの終了
| Oracle Solaris Cluster システム管理 Oracle Solaris Cluster 3.3 3/13 (日本語)

検索範囲:

- このドキュメント
- ライブラリ全体

## クラスタファイルシステムの管理

クラスタファイルシステムは、クラスタのどのノードからでも読み取りやアクセスが可能なグローバルなファイルシステムです。

表 5-5 タスクリスト : クラスタファイルシステムの管理

タスク | 手順
--- | ---
クラスタファイルシステムを Oracle Solaris Cluster の最初のインストール後に追加する | 「クラスタファイルシステムを追加する方法」
クラスタファイルシステムを削除する | 「クラスタファイルシステムを削除する方法」
クラスタ内のグローバルマウントポイントをチェックして、ノード間の一貫性が保たれているかどうかを確認する | 「クラスタ内のグローバルマウントを確認する方法」

## クラスタファイルシステムを追加する方法

次のタスクは、Oracle Solaris Cluster の初期インストール後に作成するクラスタファイルシステムごとに実行します。

| 注意 - 必ず、正しいディスクデバイス名を指定してください。クラスタファイルシステムを作成すると、ディスク上のデータはすべて消去されます。デバイス名を誤って指定すると、本来消去する必要のないデータを失うことになります。

クラスタファイルシステムを追加する前に、次の必要条件が満たされていることを確認します。

- クラスタ内のノード上でスーパーユーザー特権が確立されていること。

- ボリュームマネージャーソフトウェアがクラスタ上にインストールおよび構成されています。

- クラスタファイルシステムの作成先のデバイスグループ (Solaris Volume Manager デバイスグループ) またはブロックディスクスライスが存在すること。

Oracle Solaris Cluster Manager を使用してデータサービスをインストールした場合は、クラスタファイルシステムがすでに自動的に作成されています (十分な共有ディスクが存在する場合)。

`phys-schost#` プロンプトは、グローバルクラスタのプロンプトを表します。この手順は、グローバルクラスタ上で実行します。

この手順では、長形式の Oracle Solaris Cluster コマンドを使用して説明します。多くのコマンドには短縮形もあります。コマンド名の形式の長短を除き、コマンドは同一です。

1. クラスタ内にある任意のノード上でスーパーユーザーになります。

   クラスタ内に非大域ゾーンが構成されている場合は、大域ゾーンからこの手順を実行します。

   ヒント - ファイルシステムを迅速に作成するには、ファイルシステムを作成するグローバルデバイスの現在のプライマリでスーパーユーザーになります。

2. ファイルシステムを作成する。

   | Caution - ファイルシステムを作成するとき、ディスク上のデータは破壊されます。必ず、正しいディスクデバイス名を指定してください。間違ったデバイス名を指定した場合、削除するつもりのないデータが削除されてしまいます。

   - UFS ファイルシステムの場合は、`newfs`(1M) コマンドを使用します。

         phys-schost# newfs raw-disk-device

     次の表に、引数 raw-disk-device の名前の例を挙げます。命名規約はボリューム管理ソフトウェアごとに異なるので注意してください。

     ボリューム管理ソフトウェア | ディスクデバイス名の例 | 説明
     --- | --- | ---
     Solaris Volume Manager | `/dev/md/nfs/rdsk/d1` | `nfs` ディスクセット内の raw ディスクデバイス `d1`
     なし | `/dev/global/rdsk/d1s3` | raw ディスクデバイス `d1s3`

3. クラスタ内の各ノードで、クラスタファイルシステムのマウントポイントのディレクトリを作成します。

   そのノードからはクラスタファイルシステムにアクセスしない場合でも、マウントポイントはノードごとに必要です。

   ヒント - 管理を容易にするには、マウントポイントを `/global/`device-group`/` ディレクトリに作成します。この場所を使用すると、グローバルに利用できるクラスタファイルシステムとローカルファイルシステムを区別しやすくなります。

       phys-schost# mkdir -p /global/device-group/mountpoint/

   device-group

     デバイスが含まれるデバイスグループ名に対応するディレクトリ名を指定します。

   mountpoint

     クラスタファイルシステムのマウント先のディレクトリ名を指定します。

4. クラスタ内の各ノードで、マウントポイント用の `/etc/vfstab` ファイルにエントリを追加します。

   詳細は、`vfstab`(4) のマニュアルページを参照してください。

   注 - クラスタ内に非大域ゾーンが構成されている場合は、大域ゾーンのルートディレクトリのパスに大域ゾーンのクラスタファイルシステムをマウントするようにします。

   1. 各エントリで、使用する種類のファイルシステムに必要なマウントオプションを指定します。
   2. クラスタファイルシステムを自動的にマウントするには、`mount at boot` フィールドを `yes` に設定します。
   3. 各クラスタファイルシステムで、`/etc/vfstab` エントリの情報が各ノードで同じになるようにします。
   4. 各ノードの `/etc/vfstab` ファイルのエントリに、デバイスが同じ順序で表示されることを確認します。
   5. ファイルシステムのブート順の依存関係を検査します。

      たとえば、`phys-schost-1` がディスクデバイス `d0` を `/global/oracle/` にマウントし、`phys-schost-2` がディスクデバイス `d1` を `/global/oracle/logs/` にマウントするとします。この構成では、`phys-schost-1` がブートされ、`/global/oracle/` がマウントされたあとにのみ、`phys-schost-2` をブートし、`/global/oracle/logs/` をマウントできます。

5. クラスタの任意のノード上で、構成確認ユーティリティーを実行します。

       phys-schost# cluster check -k vfstab

   構成確認ユーティリティーは、マウントポイントが存在することを確認します。また、`/etc/vfstab` ファイルのエントリが、クラスタのすべてのノードで正しいことを確認します。エラーが発生していない場合は、何も戻されません。

   詳細は、`cluster`(1CL) のマニュアルページを参照してください。

6. クラスタファイルシステムをマウントします。

   UFS および QFS の場合、クラスタ内の任意のノードからクラスタファイルシステムをマウントします。

       phys-schost# mount /global/device-group/mountpoint/

7. クラスタ内にある各ノード上で、クラスタファイルシステムがマウントされていることを確認します。

   `df` コマンドまたは `mount` コマンドのいずれかを使用し、マウントされたファイルシステムの一覧を表示します。詳細は、`df`(1M) のマニュアルページまたは `mount`(1M) のマニュアルページを参照してください。

   クラスタファイルシステムには大域ゾーンと非大域ゾーンの両方からアクセスできます。

例 5-36 UFS クラスタファイルシステムの作成

次に、Solaris Volume Manager ボリューム `/dev/md/oracle/rdsk/d1` 上に、UFS クラスタファイルシステムを作成する例を示します。各ノードの `vfstab` ファイルにクラスタファイルシステムのエントリが追加されます。次に、1 つのノードから `cluster check` コマンドを実行します。構成確認プロセスが正しく終了すると、1 つのノードからクラスタファイルシステムがマウントされ、全ノードで確認されます。

    phys-schost# newfs /dev/md/oracle/rdsk/d1
    …
    phys-schost# mkdir -p /global/oracle/d1
    phys-schost# 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
    …
    phys-schost# cluster check -k vfstab
    phys-schost# mount /global/oracle/d1
    phys-schost# mount
    …
    /global/oracle/d1 on /dev/md/oracle/dsk/d1 read/write/setuid/global/logging/largefiles
    on Sun Oct 3 08:56:16 2005

## クラスタファイルシステムを削除する方法

クラスタファイルシステムを削除するには、単に、そのクラスタファイルシステムのマウントを解除します。データも削除する場合は、配下のディスクデバイス (またはメタデバイスかボリューム) をシステムから削除します。

注 - クラスタファイスシステムは、`cluster shutdown` を実行してクラスタ全体を停止したときに、システム停止処理の一環として自動的にマウント解除されます。`shutdown` を実行して単独でノードを停止したときはマウント解除されません。なお、停止するノードが、ディスクに接続されている唯一のノードの場合は、そのディスク上のクラスタファイルシステムにアクセスしようとするとエラーが発生します。

クラスタファイルシステムをマウント解除する前に、次の必要条件が満たされていることを確認します。

- クラスタ内のノード上でスーパーユーザー特権が確立されていること。

- ファイルシステムが使用中でないこと。ファイルシステムが使用中と見なされるのは、ユーザーがファイルシステム内のディレクトリにアクセスしている場合や、プログラムがファイルシステム内のファイルを開いている場合です。ユーザーやプログラムは、クラスタ内のどのノードでもアクセスできます。

1. クラスタ内にある任意のノード上でスーパーユーザーになります。
2. マウントされているクラスタファイルシステムを確認します。

       # mount -v

3. 各ノードで、クラスタファイルシステムを使用中の全プロセスの一覧を表示し、停止するプロセスを判断します。

       # fuser -c [ -u ] mountpoint

   `-c`

     ファイルシステムのマウントポイントとなっているファイルと、マウントされているファイルシステム内のファイルがすべて表示されます。

   `-u`

     (任意) 各プロセス ID のユーザーログイン名を表示します。

   mountpoint

     プロセスを停止するクラスタファイルシステムの名前を指定します。

4. 各ノードで、クラスタファイルシステムのプロセスをすべて停止します。

   プロセスは任意の方法で停止できます。必要であれば、次のコマンドを使用して、クラスタファイルシステムに関係するプロセスを強制終了してください。

       # fuser -c -k mountpoint

   クラスファイルシステムを使用している各ノードに `SIGKILL` が送信されます。

5. 各ノードで、ファイルシステムを使用しているプロセスがないことを確認します。

       # fuser -c mountpoint

6. 1 つのノードからファイルシステムをマウント解除します。

       # umount mountpoint

   mountpoint

     マウント解除するクラスタファイルシステムの名前を指定します。クラスタファイルシステムがマウントされているディレクトリの名前や、ファイルシステムのデバイス名パスを指定できます。

7. (任意) `/etc/vfstab` ファイルを編集して、削除するクラスタファイルシステムのエントリを削除します。

   この手順は、`/etc/vfstab` ファイルにこのクラスタファイルシステムのエントリがある各クラスタノードで実行してください。

8. (任意) ディスクデバイス `group/metadevice/volume/plex` を削除します。

   詳細については、ボリューム管理ソフトウェアのドキュメントを参照してください。

例 5-37 クラスタファイルシステムの削除

次に、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.]

クラスタファイルシステム上のデータを削除するには、配下のデバイスを削除します。詳細については、ボリューム管理ソフトウェアのドキュメントを参照してください。

## クラスタ内のグローバルマウントを確認する方法

`cluster`(1CL)`ユーティリティーは /etc/vfstab` ファイル内の、クラスタファイルシステムに対するエントリの構文を検証します。エラーが発生していない場合は、何も戻されません。

注 - クラスタファイルシステムの削除など、デバイスやボリューム管理コンポーネントに影響を及ぼすような変更をクラスタ構成に加えたあとに `cluster check` コマンドを実行します。

1. クラスタ内にある任意のノード上でスーパーユーザーになります。
2. クラスタのグローバルマウントを確認します。

       # cluster check -k vfstab

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 著作権について |