高可用性ローカルファイルシステムを使用すると、出入力負荷が高いデータサービスのパフォーマンスを改善できます。Sun Cluster 環境でローカルファイルシステムを高可用性にするには、HAStoragePlus リソースタイプを使用します。
SUNW.HAStoragePlus リソースタイプを使用すると、ファイルシステムを非大域ゾーンで利用可能にすることができます。 SUNW.HAStoragePlus リソースタイプを使用してこのようにするには、大域ゾーンと非大域ゾーンにマウントポイントを作成してください。ファイルシステムを非大域ゾーンで利用可能にするために、SUNW.HAStoragePlus リソースタイプは、まず大域ゾーンにあるファイルシステムをマウントします。このリソースタイプは、次に非大域ゾーンでループバックマウントを実行します。
ローカルファイルシステムには、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。詳細は、Sun Cluster Manager のオンラインヘルプを参照してください。
clsetup(1CL) ユーティリティー。
Sun Cluster の保守コマンド。
Sun Cluster Manager および clsetup ユーティリティーを使用すると、対話形式でリソースをリソースグループに追加できます。これらのリソースを対話的に使うことにより、コマンドの構文エラーまたは脱落による設定エラーが起きる可能性が少なくなります。Sun Cluster Manager および clsetup ユーティリティーは、すべての必須リソースが作成され、リソース間のすべての必須依存関係が設定されるようにします。
多重ホストディスク上のすべてのファイルシステムは、これらの多重ホストディスクに直接接続されたすべてのホストからアクセス可能である必要があります。この要件を満たすには、次のように、高可用性ローカルファイルシステムを構成します。
ローカルファイルシステムのディスクパーティションが広域デバイス上に存在するようにします。
これらの広域デバイスを指定する HAStoragePlus リソースの AffinityOn 拡張プロパティーを True に設定します。
HAStoragePlus リソースの Zpools 拡張プロパティーは、AffinityOn 拡張プロパティーを無視します。
フェイルオーバーリソースグループに HAStoragePlus リソースを作成します。
デバイスグループと、HAStoragePlus リソースを含むリソースグループのフェイルバック設定が同じであるようにします。
高可用性ローカルファイルシステム用の広域デバイスと、ボリュームマネージャーの併用は、任意に選択できます。
ボリュームマネージャーを使用しない場合、基本のストレージデバイスの名前には適切な形式を使用します。使用する形式は、次のように、ストレージデバイスの種類に依存します。
ブロックデバイスの場合: /dev/global/dsk/dDsS
raw デバイスの場合: /dev/global/rdsk/dDsS
これらのデバイス名の置換可能な要素の意味は次のとおりです。
D はデバイス ID (DID) インスタンス番号を指定する整数です。
S はスライス番号を指定する整数です。
次の例に、高可用性ローカルファイルシステムに使用される広域デバイスの /etc/vfstab ファイルにあるエントリを示します。
Solaris ZFS (Zettabyte File System) は、/etc/vfstab ファイルを使用しません。
この例に、ボリュームマネージャーを使用しない物理ディスク上の広域デバイス用の /etc/vfstab ファイルにあるエントリを示します。
/dev/global/dsk/d1s0 /dev/global/rdsk/d1s0 /global/local-fs/nfs ufs 5 no logging
この例では、Solaris ボリュームマネージャー を使用する広域デバイス用の /etc/vfstab ファイルにあるエントリを示します。
/dev/md/kappa-1/dsk/d0 /dev/md/kappa-1/rdsk/d0 /global/local-fs/nfs ufs 5 no logging
この例では、VxVM を使用する広域デバイス用の /etc/vfstab ファイルにあるエントリを示します。
/dev/vx/dsk/kappa-1/appvol /dev/vx/rdsk/kappa-1/appvol /global/local-fs/nfs vxfs 5 no log
次の手順では、clsetup ユーティリティーを使用することで HAStoragePlus リソースタイプを設定する方法を説明します。この手順は、任意のクラスタノードから実行します。
この手順では、Sun Cluster の保守コマンドの長い形式を使用します。多くのコマンドには短縮形もあります。コマンド名の形式を除き、コマンドは同じです。コマンドのリストとその短縮形については、 付録 A 「Sun Cluster オブジェクト指向コマンド」を参照してください。
次の前提条件を満たしていることを確認します。
必要なボリューム、ディスクグループおよびファイルシステムが作成されている。
任意のクラスタノードでスーパーユーザーになります。
clsetup ユーティリティーを起動します。
# clsetup |
clsetup のメインメニューが表示されます。
データサービスのオプションに対応する番号を入力し、Return キーを押します。
「データサービス」メニューが表示されます。
ファイルシステムを構成するためのオプションに対応する番号を入力し、Return キーを押します。
clsetup ユーティリティーは、この作業を実行するための前提条件のリストを表示します。
前提条件が満たされていることを確認し、Return キーを押して継続します。
clsetup ユーティリティーは、高可用性 HAStoragePlus リソースをマスターできるクラスタノードまたはゾーンのリストを表示します。
高可用性 HAStoragePlus リソースをマスターできるノードまたはゾーンを選択します。
任意の順序で並んでいる一覧表示されたすべてのノードのデフォルト選択をそのまま使用するには、a と入力し、Return キーを押します。
一覧表示されたノードまたはゾーンのサブセットを選択するには、ノードに対応する番号のコンマ区切りまたはスペース区切りのリストを入力します。続いて、Return キーを押します。
HAStoragePlus リソースグループのノードリストにノードが表示される順序でノードが一覧表示されていることを確認します。リストの最初のノードは、このリソースグループの主ノードです。
特定の順序ですべてのノードを選択するには、ノードに対応する番号のコンマ区切りまたはスペース区切りの順序付きリストを入力し、Return キーを押します。
ノードの選択を確認するには、d を入力して、Return キーを押します。
clsetup ユーティリティーは、データが格納される共有ストレージタイプの種類のリストを表示します。
データの格納に使用する共有ストレージの種類に対応する番号を入力し、Return キーを押します。
clsetup ユーティリティーは、クラスタ内で構成されているファイルシステムのマウントポイントを表示します。既存のマウントポイントが存在しない場合は、clsetup ユーティリティーで新しいマウントポイントを定義できます。
デフォルトのマウントディレクトリ、raw デバイスのパス、Global Mount オプション、および Check File System Periodically オプションを指定して、Return キーを押します。
clsetup ユーティリティーは、ユーティリティーが作成するマウントポイントのプロパティーを返します。
マウントポイントを作成するには、d を入力し、Return キーを押します。
clsetup ユーティリティーは、使用可能なファイルシステムのマウントポイントを表示します。
c オプションを使用すると、新しい別のマウントポイントを定義できます。
ファイルシステムのマウントポイントを選択します。
ノードの選択を確認するには、d を入力して、Return キーを押します。
clsetup ユーティリティーは、クラスタ内で構成されている広域ディスクセットとデバイスグループを表示します。
広域デバイスグループを選択します。
ノードの選択を確認するには、d を入力して、Return キーを押します。
clsetup ユーティリティーは、このユーティリティーが作成する Sun Cluster オブジェクトの名前を表示します。
Sun Cluster オブジェクトに別の名前が必要である場合、次のように名前を変更します。
変更する名前に対応する番号を入力し、Return キーを押します。
clsetup ユーティリティーは、新しい名前を指定できる画面を表示します。
「新しい値」プロンプトで、新しい名前を入力し、Return キーを押します。
clsetup ユーティリティーは、このユーティリティーが作成する Sun Cluster オブジェクトの名前のリストに戻ります。
Sun Cluster オブジェクト名の選択を確認するには、d を入力して、Return キーを押します。
clsetup ユーティリティーは、このユーティリティーが作成する Sun Cluster の構成に関する情報を表示します。
構成を作成するには、c を入力し、Return キーを押します。
clsetup ユーティリティーは、構成を作成するためにこのユーティリティーがコマンドを実行していることを示す進行状況のメッセージを表示します。構成が完了した時点で、clsetup ユーティリティーは、構成を作成するためにユーティリティーが実行したコマンドを表示します。
(省略可能) clsetup ユーティリティーが終了するまで、繰り返し q を入力し、Return キーを押します。
必要に応じて、ほかの必要な作業を実行している間、clsetup ユーティリティーを動作させたままにし、そのあとでユーティリティーを再度使用することができます。clsetup を終了する場合、ユーザーがユーティリティーを再起動する際に、ユーティリティーは既存のリソースグループを認識します。
HAStoragePlus リソースが作成されたことを確認します。
このためには、clresource(1CL) ユーティリティーを使用します。デフォルトでは、clsetup ユーティリティーは、リソースグループに名前 node_name-rg を割り当てます。
# clresource show node_name-rg |
ローカル Solaris ZFS (Zettabyte File System) を高可用性にするには、主に次の作業を実行します。
ZFS ストレージプールを作成する。
ZFS ストレージプール内に ZFS を作成する。
ZFS ストレージプールを管理する HAStoragePlus リソースを設定する。
この節では両方の作業を完了する方法を説明します。
ZFS ストレージプールを作成する。
構成済みの定足数デバイスは、 ZFS ストレージプールに追加しないでください。構成済みの定足数デバイスをストレージプールに追加すると、ディスクは EFI ディスクとしてラベルが変更され、また定足数構成情報が失われ、ディスクはクラスタへの定足数投票を提供しなくなります。ディスクがストレージプールにある場合、そのディスクを定足数デバイスとして構成できます。または、ディスクの定足数デバイス構成を解除し、ディスクをストレージプールに追加した後に、そのディスクを定足数デバイスとして再構成することができます。
Sun Cluster 構成で ZFS ストレージプールを作成する際には、次の必要条件を確認します。
ZFS ストレージプールの作成元であるすべてのデバイスが、クラスタ内のすべてのノードからアクセス可能であることを確認します。これらのノードは、HAStoragePlus リソースが属するリソースグループのノードリストで構成します。
zpool コマンドに対して指定した Solaris デバイス識別子 (/dev/dsk/c0t0d0 など) が cldevice list -v コマンドで認識できることを確認します。
zpool は、完全なディスクまたはディスクスライスを使用して作成できます。ディスクの書き込みキャッシュを有効にして ZFS の性能が向上することができるように、Solaris 論理デバイスを指定して完全なディスクを使用して zpool を作成することをお勧めします。完全なディスクが提供されている場合、ZFS は EFI を使用してディスクにラベルを付けます。
ZFS ストレージプールの作成方法についての詳細は、『ZFS Administration Guide』の「Creating a ZFS Storage Pool」を参照してください。
作成した ZFS とストレージプール内で、ZFS を作成します。
同一の ZFS ストレージプール内で複数の ZFS を作成できます。
HAStoragePlus は、ZFS ボリューム上に作成されたファイルシステムをサポートしていません。
ZFS マウントポイントのプロパティーは、legacy や none には設定しないでください。ZFS マウントポイントのプロパティーが上記のいずれかの値に設定されているファイルシステムを含む ZFS ストレージプールを、SUNW.HAStoragePlus を使用して管理することはできません。
ZFS は FilesystemMountPoints 拡張プロパティーには配置しないでください。
ZFS ストレージプール内での ZFS の作成方法についての詳細は、『ZFS Administration Guide』の「Creating a ZFS File System Hierarchy」を参照してください。
クラスタ内の任意のノードで、スーパーユーザーになるか、solaris.cluster.modify RBAC の承認を提供する役割になります。
フェイルオーバーリソースグループを作成します。
# clresourcegroup create resource-group |
HAStoragePlus リソースタイプを登録します。
# clresourcetype register SUNW.HAStoragePlus |
ローカル ZFS 用の HAStoragePlus リソースを作成します。
# clresource create -g resource-group -t SUNW.HAStoragePlus \ -p Zpools="zpool" resource |
リソースは有効状態で作成されます。
HAStoragePlus リソースを含むリソースグループをオンラインにし、管理状態にします。
# clresourcegroup online -M resource-group |
次の例では、ローカル 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 zpool using a disk slice by specifying a Solaris device identifier: # zpool create HAzpool c1t8d0s2 or or you can create a zpool 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 |
ローカルSolaris ZFS (Zettabyte File System) を高可用性にしている HAStoragePlus リソースを無効にし、削除します。
# clresource delete -F -g resource-group -t SUNW.HAStoragePlus resource |