Sun Cluster データサービスの計画と管理 (Solaris OS 版)

高可用性ローカルファイルシステムの有効化

高可用性ローカルファイルシステムを使用すると、出入力負荷が高いデータサービスのパフォーマンスを改善できます。Sun Cluster 環境でローカルファイルシステムを高可用性にするには、HAStoragePlus リソースタイプを使用します。

グローバルまたはローカルのどちらのファイルシステムも指定できます。広域ファイルシステムには、クラスタのすべてのノードからアクセス可能です。ローカルファイルシステムには、1 つのクラスタノードからアクセス可能です。SUNW.HAStoragePlus リソースによって管理されているローカルファイルシステムは、1 つのクラスタノードにマウントされます。これらのローカルファイルシステムでは、配下のデバイスは Sun Cluster グローバルデバイスであることが必要です。

これらのファイルシステムのマウントポイントは、paths[,...] という書式で定義されます。グローバルクラスタ非投票ノードとグローバルクラスタ投票ノードの両方のパスを、この書式で指定できます。

Non-GlobalZonePath:GlobalZonePath

グローバルクラスタ投票ノードのパスは省略可能です。グローバルクラスタ投票ノードのパスを指定しない場合、グローバルクラスタ非投票ノードのパスとグローバルクラスタ投票ノードのパスは同じであると見なされます。Non-GlobalZonePath: GlobalZonePath のようにパスを指定する場合、グローバルクラスタ投票ノードの /etc/vfstab にある GlobalZonePath を指定します。

このプロパティーのデフォルト設定は、空のリストです。

SUNW.HAStoragePlus リソースタイプを使用すると、ファイルシステムをグローバルクラスタ非投票ノードで利用可能にすることができます。SUNW.HAStoragePlus リソースタイプを使用してこのようにするには、グローバルクラスタ投票ノードとグローバルクラスタ非投票ノードにマウントポイントを作成する必要があります。ファイルシステムをグローバルクラスタ非投票ノードで利用可能にするために、SUNW.HAStoragePlus リソースタイプは、まずグローバルクラスタにあるファイルシステムをマウントします。このリソースタイプは、次にグローバルクラスタ非投票ノードでループバックマウントを実行します。すべてのクラスタノードおよびグローバルクラスタ投票ノードにある /etc/vfstab には、各ファイルシステムのマウントポイントに対応する等価なエントリが存在するはずです。SUNW.HAStoragePlus リソースタイプは、グローバルクラスタ非投票ノードにある /etc/vfstab をチェックしません。


注 –

ローカルファイルシステムには、Unix File System (UFS)、Quick File System (QFS)、Veritas File System (VxFS)、Solaris ZFS (Zettabyte File System) などがあります。


出入力負荷が高い各 Sun Cluster データサービスの作業手順では、データサービスを構成して HAStoragePlus リソースタイプとともに動作させる方法が説明されています。詳細については、個別の Sun Cluster データサービスのガイドを参照してください。


注 –

HAStoragePlus リソースタイプを使用してルートファイルシステムを高可用性にしないでください。


Sun Cluster には、HAStoragePlus リソースタイプを設定してローカルファイルシステムを高可用性にするための、次のツールがあります。

Sun Cluster Manager および clsetup ユーティリティーを使用すると、対話形式でリソースをリソースグループに追加できます。これらのリソースを対話的に使うことにより、コマンドの構文エラーまたは脱落による設定エラーが起きる可能性が少なくなります。Sun Cluster Manager および clsetup ユーティリティーは、すべての必須リソースが作成され、リソース間のすべての必須依存関係が設定されるようにします。

高可用性ローカルファイルシステムの構成要件

多重ホストディスク上のすべてのファイルシステムは、これらの多重ホストディスクに直接接続されたすべてのホストからアクセス可能である必要があります。この要件を満たすには、次のように、高可用性ローカルファイルシステムを構成します。


注 –

高可用性ローカルファイルシステム用の広域デバイスと、ボリュームマネージャーの併用は、任意に選択できます。


ボリュームマネージャーを使用しないデバイスのデバイス名の形式

ボリュームマネージャーを使用しない場合、基本のストレージデバイスの名前には適切な形式を使用します。使用する形式は、次のように、ストレージデバイスの種類に依存します。

これらのデバイス名の置換可能な要素の意味は次のとおりです。

高可用性ローカルファイルシステムの /etc/vfstab のサンプルエントリ

次の例に、高可用性ローカルファイルシステムに使用される広域デバイスの /etc/vfstab ファイルにあるエントリを示します。


注 –

Solaris ZFS (Zettabyte File System) は、/etc/vfstab ファイルを使用しません。



例 2–32 ボリュームマネージャーのない広域デバイスの /etc/vfstab にあるエントリ

この例に、ボリュームマネージャーを使用しない物理ディスク上の広域デバイス用の /etc/vfstab ファイルにあるエントリを示します。

/dev/global/dsk/d1s0       /dev/global/rdsk/d1s0
/global/local-fs/nfs  ufs     5  no     logging


例 2–33 Solaris Volume Manager を使用する広域デバイスの /etc/vfstab にあるエントリ

この例では、Solaris Volume Manager を使用する広域デバイス用の /etc/vfstab ファイルにあるエントリを示します。

/dev/md/kappa-1/dsk/d0   /dev/md/kappa-1/rdsk/d0
/global/local-fs/nfs ufs     5  no     logging


例 2–34 VxVM を使用する広域デバイス用の /etc/vfstab にあるエントリ

この例では、VxVM を使用する広域デバイス用の /etc/vfstab ファイルにあるエントリを示します。


/dev/vx/dsk/kappa-1/appvol    /dev/vx/rdsk/kappa-1/appvol
/global/local-fs/nfs vxfs     5 no     log

Procedureclsetup ユーティリティーを使用することで HAStoragePlus リソースタイプを設定する

次の手順では、clsetup ユーティリティーを使用することで HAStoragePlus リソースタイプを設定する方法を説明します。この手順は、任意のグローバルクラスタ投票ノードから実行します。

この手順では、Sun Cluster の保守コマンドの長い形式を使用します。多くのコマンドには短縮形もあります。コマンド名の形式を除き、コマンドは同じです。コマンドのリストとその短縮形については、付録 A Sun Cluster オブジェクト指向コマンドを参照してください。

始める前に

次の前提条件を満たしていることを確認します。

  1. 任意のクラスタ投票ノードでスーパーユーザーになります。

  2. clsetup ユーティリティーを起動します。


    # clsetup
    

    clsetup のメインメニューが表示されます。

  3. データサービスのオプションに対応する番号を入力し、Return キーを押します。

    「データサービス」メニューが表示されます。

  4. ファイルシステムを構成するためのオプションに対応する番号を入力し、Return キーを押します。

    clsetup ユーティリティーは、この作業を実行するための前提条件のリストを表示します。

  5. 前提条件が満たされていることを確認し、Return キーを押して継続します。

    clsetup ユーティリティーは、高可用性 HAStoragePlus リソースをマスターできるクラスタノードのリストを表示します。

  6. 高可用性 HAStoragePlus リソースをマスターできるノードを選択します。

    • 任意の順序で並んでいる一覧表示されたすべてのノードのデフォルト選択をそのまま使用するには、a と入力し、Return キーを押します。

    • 一覧表示されたノードのサブセットを選択するには、ノードに対応する番号のコンマ区切りまたはスペース区切りのリストを入力します。続いて、Return キーを押します。

      HAStoragePlus リソースグループのノードリストにノードが表示される順序でノードが一覧表示されていることを確認します。リストの最初のノードは、このリソースグループの主ノードです。

    • 特定の順序ですべてのノードを選択するには、ノードに対応する番号のコンマ区切りまたはスペース区切りの順序付きリストを入力し、Return キーを押します。

  7. ノードの選択を確認するには、d を入力して、Return キーを押します。

    clsetup ユーティリティーは、データが格納される共有ストレージタイプの種類のリストを表示します。

  8. データの格納に使用する共有ストレージの種類に対応する番号を入力し、Return キーを押します。

    clsetup ユーティリティーは、クラスタ内で構成されているファイルシステムのマウントポイントを表示します。既存のマウントポイントが存在しない場合は、clsetup ユーティリティーで新しいマウントポイントを定義できます。

  9. デフォルトのマウントディレクトリ、raw デバイスのパス、Global Mount オプション、および Check File System Periodically オプションを指定して、Return キーを押します。

    clsetup ユーティリティーは、ユーティリティーが作成するマウントポイントのプロパティーを返します。

  10. マウントポイントを作成するには、d を入力し、Return キーを押します。

    clsetup ユーティリティーは、使用可能なファイルシステムのマウントポイントを表示します。


    注 –

    c オプションを使用すると、新しい別のマウントポイントを定義できます。


  11. ファイルシステムのマウントポイントを選択します。

    • 任意の順序で並んでいる一覧表示されたすべてのファイルシステムのマウントポイントのデフォルト選択をそのまま使用するには、a と入力し、Return キーを押します。

    • 一覧表示されたファイルシステムのマウントポイントのサブセットを選択するには、ファイルシステムのマウントポイントに対応する番号の、コンマまたはスペースで区切られたリストを入力し、Return キーを押します。

  12. ノードの選択を確認するには、d を入力して、Return キーを押します。

    clsetup ユーティリティーは、クラスタ内で構成されている広域ディスクセットとデバイスグループを表示します。

  13. 広域デバイスグループを選択します。

    • 任意の順序で並んでいる一覧表示されたすべてのデバイスグループのデフォルト選択をそのまま使用するには、a と入力し、Return キーを押します。

    • 一覧表示されたデバイスグループのサブセットを選択するには、デバイスグループに対応する番号の、コンマまたはスペースで区切られたリストを入力し、Return キーを押します。

  14. ノードの選択を確認するには、d を入力して、Return キーを押します。

    clsetup ユーティリティーは、このユーティリティーが作成する Sun Cluster オブジェクトの名前を表示します。

  15. Sun Cluster オブジェクトに別の名前が必要である場合、次のように名前を変更します。

    1. 変更する名前に対応する番号を入力し、Return キーを押します。

      clsetup ユーティリティーは、新しい名前を指定できる画面を表示します。

    2. 「新しい値」プロンプトで、新しい名前を入力し、Return キーを押します。

    clsetup ユーティリティーは、このユーティリティーが作成する Sun Cluster オブジェクトの名前のリストに戻ります。

  16. Sun Cluster オブジェクト名の選択を確認するには、d を入力して、Return キーを押します。

    clsetup ユーティリティーは、このユーティリティーが作成する Sun Cluster の構成に関する情報を表示します。

  17. 構成を作成するには、c を入力し、Return キーを押します。

    clsetup ユーティリティーは、構成を作成するためにこのユーティリティーがコマンドを実行していることを示す進行状況のメッセージを表示します。構成が完了した時点で、clsetup ユーティリティーは、構成を作成するためにユーティリティーが実行したコマンドを表示します。

  18. (省略可能) clsetup ユーティリティーが終了するまで、繰り返し q を入力し、Return キーを押します。

    必要に応じて、ほかの必要な作業を実行している間、clsetup ユーティリティーを動作させたままにし、そのあとでユーティリティーを再度使用することができます。clsetup を終了する場合、ユーザーがユーティリティーを再起動する際に、ユーティリティーは既存のリソースグループを認識します。

  19. HAStoragePlus リソースが作成されたことを確認します。

    このためには、clresource(1CL) ユーティリティーを使用します。デフォルトでは、clsetup ユーティリティーは、リソースグループに名前 node_name-rg を割り当てます。


    # clresource show node_name-rg
    

ProcedureHAStoragePlus リソースタイプを設定して Solaris ZFS 以外のファイルシステムを高可用性にする

次に、Solaris ZFS 以外のファイルシステムを高可用性にするために HAStoragePlus リソースタイプを設定する手順を示します。

  1. グローバルクラスタ内の任意のノードで、スーパーユーザーになるか、solaris.cluster.modify RBAC の承認を提供する役割になります。

  2. フェイルオーバーリソースグループを作成します。


    # clresourcegroup create resource-group
    
  3. HAStoragePlus リソースタイプを登録します。


    # clresourcetype register SUNW.HAStoragePlus
    
  4. HAStoragePlus リソースを作成し、ファイルシステムのマウントポイントを定義します。


    # clresource create -g resource-group \
    -t SUNW.HAStoragePlus -p FileSystemMountPoints=mount-point-list hasp-resource
    
  5. HAStoragePlus リソースを含むリソースグループをオンラインにし、管理状態にします。


    # clresourcegroup online -M resource-group
    

例 2–35 HAStoragePlus リソースタイプを設定して UFS ファイルシステムをグローバルクラスタに対して高可用性にする

この例では、ファイルシステム /web-1HAStoragePlus リソースに構成し、グローバルクラスタに対して高可用性にするものとします。


phys-schost-1# vi /etc/vfstab
#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
# /dev/md/apachedg/dsk/d0 /dev/md/apachedg/rdsk/d0 /web-1 ufs 2 no logging
# clresourcegroup create hasp-rg 
# clresourcetype register SUNW.HAStoragePlus
# clresource create -g hasp-rg -t SUNW.HAStoragePlus \
 -p FileSystemMountPoints=/global/ufs-1 hasp-rs
# clresourcegroup online -M hasp-rg


例 2–36 HAStoragePlus リソースタイプを設定して UFS ファイルシステムをゾーンクラスタに対して高可用性にする

この例では、ファイルシステム /web-1HAStoragePlus リソースに構成し、ゾーンクラスタ sczone に対して高可用性にするものとします。


phys-schost-1# vi /etc/vfstab
#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
/dev/md/apachedg/dsk/d0 /dev/md/apachedg/rdsk/d0 /web-1 ufs 2 no logging
# clzonecluster configure sczone
clzc:sczone> add fs
clzc:sczone:fs> set dir=/web-1
clzc:sczone:fs> set special=/dev/md/apachedg/dsk/d0
clzc:sczone:fs> set raw=/dev/md/apachedg/rdsk/d0
clzc:sczone:fs> set type=ufs
clzc:sczone:fs> end
clzc:sczone:fs> exit
# clresourcegroup create -Z sczone hasp-rg
# clresourcetype register -Z sczone SUNW.HAStoragePlus
# clresource create -Z sczone -g hasp-rg \
-t SUNW.HAStoragePlus -p FileSystemMountPoints=/global/ufs-1 hasp-rs
# clresourcegroup online -Z sczone -M hasp-rg

ProcedureHAStoragePlus リソースタイプを設定し、ローカル Solaris ZFS を高可用性にする

ローカル Solaris ZFS (Zettabyte File System) を高可用性にするには、主に次の作業を実行します。

この節では両方の作業を完了する方法を説明します。

  1. ZFS ストレージプールを作成する。


    注意 – 注意 –

    構成済みの定足数デバイスは、ZFS ストレージプールに追加しないでください。構成済みの定足数デバイスをストレージプールに追加すると、ディスクは EFI ディスクとしてラベルが変更され、また定足数構成情報が失われ、ディスクはクラスタへの定足数投票を提供しなくなります。ディスクがストレージプールにある場合、そのディスクを定足数デバイスとして構成できます。または、ディスクの定足数デバイス構成を解除し、ディスクをストレージプールに追加した後に、そのディスクを定足数デバイスとして再構成することができます。


    Sun Cluster 構成で ZFS ストレージプールを作成する際には、次の必要条件を確認します。

    • ZFS ストレージプールの作成元であるすべてのデバイスが、クラスタ内のすべてのノードからアクセス可能であることを確認します。これらのノードは、HAStoragePlus リソースが属するリソースグループのノードリストで構成します。

    • zpool(1M) コマンドに対して指定した Solaris デバイス識別子 (/dev/dsk/c0t0d0 など) が cldevice list -v コマンドで認識できることを確認します。


    注 –

    ZFS ストレージプールは、ディスク全体またはディスクスライスを使用して作成できます。ディスクの書き込みキャッシュを有効にして ZFS ファイルシステムの性能が向上するように Solaris 論理デバイスを指定し、ディスク全体を使用した ZFS ストレージプールを作成することをお勧めします。完全なディスクが提供されている場合、ZFS ファイルシステムは EFI を使用してディスクにラベルを付けます。


    ZFS ストレージプールの作成方法の詳細は、『Solaris ZFS 管理ガイド』「ZFS ファイルシステム階層を作成する」を参照してください。

  2. 作成した ZFS ストレージプール内で、ZFS ファイルシステムを作成します。

    同一の ZFS ストレージプール内で複数の ZFS ファイルシステムを作成できます。


    注 –

    HAStoragePlus は、ZFS ファイルシステムボリューム上に作成されたファイルシステムをサポートしていません。

    ZFS ファイルシステムは FilesystemMountPoints 拡張プロパティーには配置しないでください。


    ZFS ストレージプール内での ZFS ファイルシステムの作成方法の詳細は、『Solaris ZFS 管理ガイド』「ZFS ファイルシステム階層を作成する」を参照してください。

  3. クラスタ内の任意のノードで、スーパーユーザーになるか、solaris.cluster.modify RBAC の承認を提供する役割になります。

  4. フェイルオーバーリソースグループを作成します。


    # clresourcegroup create resource-group
    
  5. HAStoragePlus リソースタイプを登録します。


    # clresourcetype register SUNW.HAStoragePlus
    
  6. ローカル ZFS ファイルシステム用の HAStoragePlus リソースを作成します。


    # clresource create -g resource-group -t SUNW.HAStoragePlus \
    -p Zpools=zpool -p ZpoolsSearchDir=/dev/did/dsk \
    resource
    

    ZFS ストレージプールのデバイスのデフォルトの検索場所は、/dev/dsk です。これは、ZpoolsSearchDir 拡張プロパティーを使用して上書きできます。

    リソースは有効状態で作成されます。

  7. HAStoragePlus リソースを含むリソースグループをオンラインにし、管理状態にします。


    # clresourcegroup online -M resource-group
    

例 2–37 HAStoragePlus リソースタイプを設定してローカル ZFS をグローバルクラスタに対して高可用性にする

次の例では、ローカル ZFS ファイルシステムを高可用性にするためのコマンドを示します。


phys-schost-1% su
Password: 
# cldevice list -v

DID Device          Full Device Path
----------          ----------------
d1                  phys-schost-1:/dev/rdsk/c0t0d0
d2                  phys-schost-1:/dev/rdsk/c0t1d0
d3                  phys-schost-1:/dev/rdsk/c1t8d0
d3                  phys-schost-2:/dev/rdsk/c1t8d0
d4                  phys-schost-1:/dev/rdsk/c1t9d0
d4                  phys-schost-2:/dev/rdsk/c1t9d0
d5                  phys-schost-1:/dev/rdsk/c1t10d0
d5                  phys-schost-2:/dev/rdsk/c1t10d0
d6                  phys-schost-1:/dev/rdsk/c1t11d0
d6                  phys-schost-2:/dev/rdsk/c1t11d0
d7                  phys-schost-2:/dev/rdsk/c0t0d0
d8                  phys-schost-2:/dev/rdsk/c0t1d0
you can create a ZFS storage pool using a disk slice by specifying a Solaris device 
identifier:
# zpool create HAzpool c1t8d0s2
or you can create a ZFS storage pool using disk slice by specifying a logical device 
identifier
# zpool create HAzpool /dev/did/dsk/d3s2
# zfs create HAzpool/export
# zfs create HAzpool/export/home
# clresourcegroup create hasp-rg
# clresourcetype register SUNW.HAStoragePlus
# clresource create -g hasp-rg -t SUNW.HAStoragePlus \
                    -p Zpools=HAzpool hasp-rs
# clresourcegroup online -M hasp-rg


例 2–38 HAStoragePlus リソースタイプを設定してローカル ZFS をゾーンクラスタに対して高可用性にする

次の例では、ローカル ZFS ファイルシステムをゾーンクラスタ sczone で高可用性にする手順を示します。


phys-schost-1# cldevice list -v
# zpool create HAzpool c1t8d0 
# zfs create HAzpool/export 
# zfs create HAzpool/export/home
# clzonecluster configure sczone
clzc:sczone> add dataset
clzc:sczone:fs> set name=HAzpool
clzc:sczone:fs> end
clzc:sczone:fs> exit
# clresourcegroup create -Z sczone hasp-rg
# clresourcetype register -Z sczone SUNW.HAStoragePlus
# clresource create -Z sczone -g hasp-rg \
-t SUNW.HAStoragePlus -p Zpools=HAzpool hasp-rs
# clresourcegroup online -Z -sczone -M hasp-rg

Procedureローカル Solaris ZFS を高可用性にしている HAStoragePlus リソースを削除する

    ローカルSolaris ZFS (Zettabyte File System) を高可用性にしている HAStoragePlus リソースを無効にし、削除します。


    # clresource delete -F -g resource-group -t SUNW.HAStoragePlus resource