Oracle® Solaris Cluster データサービス計画および管理ガイド

印刷ビューの終了

更新: 2014 年 9 月
 
 

ローカル Solaris ZFS ファイルシステムを高可用性にするように HAStoragePlus リソースタイプを設定する方法

ローカル Solaris ZFS を高可用性にするには、次の主なタスクを実行します。

  • ZFS ストレージプールを作成します。

  • その ZFS ストレージプール内に ZFS ファイルシステムを作成します。

  • ZFS ストレージプールを管理する HAStoragePlus リソースを設定します。

このセクションでは、これらのタスクを完了する方法について説明します。


Caution

注意  -  クラスタによってすでに管理されている ZFS プールを手動でインポートすることを予定している場合は、そのプールが複数のノードにインポートされないようにしてください。複数のノードにプールをインポートすると、問題が発生する場合があります。詳細は、HAStoragePlus リソースによって管理されている ZFS プール構成の変更を参照してください。


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

    Caution

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


    Oracle Solaris Cluster 構成内に ZFS ストレージプールを作成する場合は、次の要件に従ってください。

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

    • zpool(1M) コマンドに対して指定した Oracle Solaris デバイス識別子 (たとえば、/dev/dsk/c0t0d0) が、cldevice list -v コマンドに認識されることを確認してください。


    注 -  ZFS ストレージプールは、ディスク全体またはディスクスライスを使用して作成できます。ZFS ファイルシステムの性能はディスクの書き込みキャッシュを有効にすることで向上するため、Oracle Solaris 論理デバイスを指定することにより、ディスク全体を使用して ZFS ストレージプールを作成することをお勧めします。ディスク全体が指定された場合、ZFS ファイルシステムはそのディスクのラベルを EFI にします。DID デバイス上に zpool を作成している場合は、スライスを指定する必要があります。/dev/did/dn は、ディスクラベルを破損させる場合があるため使用しないでください。

    ZFS ストレージプールを作成する方法については、Managing ZFS File Systems in Oracle Solaris 11.2 のCreating a Basic ZFS Storage Poolを参照してください。

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

    ZFS プール内に ZFS ファイルシステムを作成する場合は、次の要件に従ってください。

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

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

    • ZFS ファイルシステムを FilesystemMountPoints 拡張プロパティーに含めないでください。

    • 必要に応じて、ZFS の failmode プロパティーの設定を、continue または panic のどちらか、要件に当てはまる方に変更します。


      注 -  ZFS プールの failmode プロパティーは、デフォルトでは wait に設定されています。この設定により、HAStoragePlus リソースがブロックされる場合があり、それによってリソースグループのフェイルオーバーが妨げられることがあります。zpool の推奨される設定は failmode=continue です。この zpool を管理している HAStoragePlus リソースで、reboot_on_failure プロパティーを TRUE に設定します。あるいは、zpool failmode=panic を設定して、ストレージの損失時のパニック、クラッシュダンプ、およびフェイルオーバーを保証することもできます。failmode=panic の設定は、reboot_on_failure プロパティーの設定には関係なく機能します。ただし、reboot_on_failure=TRUE を設定すると、そのモニターでストレージの停止を早く検出できるため、応答性が高くなる場合があります。
    • ZFS ファイルシステムを作成するときに、その暗号化を選択できます。HAStoragePlus リソースは、リソースのオンライン化中にプール内のすべてのファイルシステムを自動的にマウントします。マウント中に鍵またはパスフレーズを対話式に入力する必要がある暗号化されたファイルシステムでは、リソースをオンラインにする際に問題が発生します。問題を回避するために、HAStoragePlus リソースを使用してクラスタによって管理されている ZFS ストレージプールの暗号化されたファイルシステムには keysource=raw | hex | passphrase,prompt|pkcs11: を使用しないでください。HAStoragePlus リソースがオンラインになるクラスタノードから鍵またはパスフレーズの場所にアクセスできる場合は、keysource=raw | hex | passphrase,file://|https:// を使用できます。

    ZFS ストレージプール内に ZFS ファイルシステムを作成する方法については、Oracle Solaris 11.2 での ZFS ファイルシステムの管理 のZFS ファイルシステム階層を作成するを参照してください。

  3. クラスタ内のいずれかのノードで、RBAC の承認 solaris.cluster.modify を提供する root 役割になります。
  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-40  ローカル ZFS ファイルシステムをグローバルクラスタで高可用性にするための HAStoragePlus リソースタイプの設定

次の例は、ローカル 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-41  ローカル ZFS ファイルシステムをゾーンクラスタで高可用性にするための HAStoragePlus リソースタイプの設定

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

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