SUNW.HAStoragePlus - Oracle Solaris Cluster デバイスサービス、ファイルシステム、およびデータサービス間の依存関係を強制し、これらのエンティティーをモニターするリソースタイプ
SUNW.HAStoragePlus は、データサービスリソースと、デバイスグループ、クラスタファイルシステム、およびローカルファイルシステム間の依存関係を指定するためのリソースタイプです。
このリソースタイプを使用すると、依存するデバイスグループおよびファイルシステムが使用可能なことが保証されてはじめてデータサービスをオンラインにできます。SUNW.HAStoragePlus リソースタイプは、ファイルシステムのマウント、マウント解除、およびチェックをサポートします。
リソースグループだけでは、ディスクデバイスグループ、クラスタファイルシステム、またはローカルファイルシステムとの直接同期は提供されません。このため、クラスタのリブートまたはフェイルオーバー時に、依存する広域デバイスやクラスタファイルシステムは使用できないにも関わらず、データサービスの起動が試行されます。その結果、データサービスの START メソッドがタイムアウトになり、データサービスで障害が発生する可能性があります。
SUNW.HAStoragePlus リソースタイプは、1 つ以上のデータサービスリソースによって使用されるデバイスグループ、クラスタ、およびローカルファイルシステムを表します。これらは、リソースグループに SUNW.HAStoragePlus タイプのリソースを追加し、その他のリソースと SUNW.HAStoragePlus リソース間の依存関係を設定します。
アプリケーションリソースが HAStoragePlus リソース上に構成されている場合、アプリケーションリソースはその下にある HAStoragePlus リソースとのオフライン再起動の依存関係を定義しなければなりません。これによって、依存する HAStoragePlus リソースがオンラインになったあとでアプリケーションリソースがオンラインになり、HAStoragePlus resource がオフラインになる前にアプリケーションリソースがオフラインになります。例:
# clresource set \ -p Resource_dependencies_offline_restart=hasp_rs \ applicaton_rs
このような依存関係により、データサービスリソースは次の状況が発生したあとにオンラインになることが保証されます。
指定のすべてのサービスが使用可能な状態になっており、必要に応じて連結されている。
指定のすべてのファイルシステムがチェックされ、マウントされている
SUNW.HAStoragePlus リソースタイプも、グローバルデバイス、ファイルシステム、ZFS ストレージプールなどの HAStoragePlus リソースによって管理されるエンティティーの健全性をモニターするための障害モニターを提供します。障害モニターは定期的に障害プローブを実行します。いずれかのエンティティーが使用できない状態になると、リソースが再起動されるか、別のノードへのフェイルオーバーが実行されます。
複数のエンティティーがモニターされている場合、障害モニターはすべてのエンティティーを同時にプローブします。グローバルデバイスのモニター対象、raw デバイスグループ、Oracle Solaris Volume Manager デバイスグループ、ファイルシステム、および ZFS ストレージプールのリストを表示するには、Oracle Solaris Cluster 5.0 データサービス計画および管理ガイド の 第 2 章, Administering Data Service Resourcesを参照してください。
HAStoragePlus リソースの障害モニターは、ファイルシステムの読み取りと書き込みを行なうことで、管理対象のデバイスおよびファイルシステムを検証します。読み取り操作が I/O スタックのソフトウェアによってブロックされており、HAStoragePlus リソースがオンラインである必要がある場合、ユーザーは障害モニターを無効にしなければなりません。
ZFS ファイルシステムの mountpoint プロパティーが none か legacy に設定されているか、または canmount プロパティーが off に設定されている場合、HAStoragePlus リソースはそのファイルシステムをモニターしません。その他のすべての ZFS ファイルシステムについて、HAStoragePlus リソースの障害モニターは、そのファイルシステムがマウントされているかどうかを確認します。ファイルシステムがマウントされている場合、HAStoragePlus リソースは、IOOption プロパティーの値が ReadOnly であるか ReadWrite であるかに応じて、ファイルシステムの読み取りと書き込みを行うことによってそのアクセス可能性をプローブします。
ZFS ファイルシステムがマウントされていないか、またはファイルシステムのプローブが失敗した場合、リソースの障害モニターは失敗し、リソースは Faulted に設定されます。RGM はファイルシステムを再起動しようとします (リソースの retry_count および retry_interval プロパティーによって決定される)。先に説明した mountpoint プロパティーと canmount プロパティーの特定の設定が有効でない場合は、このアクションによってファイルシステムが再マウントされます。障害モニターが引き続き失敗し、retry_interval 内に retry_count を超えた場合、RGM はリソースグループを別のノードにフェイルオーバーします。
次の標準プロパティーは、SUNW.HAStoragePlus リソースタイプと関連付けられています。
障害プローブの起動とリソースの起動の間の時間ウィンドウを秒単位で定義します。
任意
5
3600
180
すべての時間
SUNW.HAStoragePlus リソースタイプには、次に示す拡張プロパティーが関連付けられています:
SUNW.HAStoragePlus リソースが、GlobalDevicePaths および FilesyStemMountPoints 拡張プロパティーに定義されているすべてのグローバルデバイスのアフィニティースイッチオーバーを実行する必要があるかどうかを指定します。TRUE または FALSE を指定できます。
任意
TRUE
無効時
Zpools 拡張プロパティーは、AffinityOn 拡張プロパティーを無視します。AffinityOn 拡張プロパティーは、GlobalDevicePaths および FileSystemMountPoints 拡張プロパティーとのみ一緒に使用するよう意図されています。
AffinityOn 拡張プロパティーを FALSE に設定すると、SUNW.HAStoragePlus リソースは、指定されたグローバルサービスが使用可能な状態になるのを受動的に待機します。この場合、各オンライングローバルデバイスサービスのプライマリノードがリソースグループのプライマリノードと一致しなくなる可能性があります。
アフィニティースイッチオーバーの目的は、特定のノードでのデバイスグループとリソースグループのコロケーションを確保し、パフォーマンスを向上することです。データの読み取りおよび書き込みは、常にデバイスのプライマリパスで行われます。アフィニティースイッチオーバーを行うには、リソースグループのプライマリノード候補のリストとデバイスグループのノードリストが等価でなければなりません。SUNW.HAStoragePlus リソースがオンラインになると、SUNW.HAStoragePlus リソースは 1 回だけ、各デバイスサービスにアフィニティースイッチオーバーを実行します。
スケーラブルサービスの場合、AffinityOn フラグの設定は無視されます。スケーラブルリソースグループでアフィニティースイッチオーバーを実行できません。
SUNW.HAStoragePlus がファイルシステムをマウントする前に、マウントされていないファイルシステムに対して行うチェックを変更します。この拡張プロパティーには、すべてのマウントされていないファイルシステムで呼び出される、代替のコマンド文字列または実行可能ファイルを指定できます。
任意
NULL
すべての時間
SUNW.HAStoragePlus リソースがスケーラブルリソースグループ内に構成されている場合、マウントされていない個々のクラスタファイルシステムに対するファイルシステムチェックは省略されます。この拡張プロパティーを NULL に設定すると、Oracle Solaris Cluster は /usr/sbin/fsck -o p コマンドを実行することで UFS をチェックします。Oracle Solaris Cluster は /usr/sbin/fsck コマンドを実行して、ほかのファイルシステムをチェックします。
FileSystemCheckCommand 拡張プロパティーに別のコマンド文字列を設定すると、SUNW.HAStoragePlus は、ファイルシステムのマウントポイントを引数として、このコマンド文字列を呼び出します。この方法であらゆる任意の実行可能ファイルを指定できます。ゼロ以外の戻り値は、ファイルシステムチェック処理中に発生したエラーとして扱われます。このエラーが発生すると、START メソッドが失敗します。
ファイルシステムチェック処理が必要ない場合は、 FileSystemCheckCommand 拡張プロパティーに /bin/true を設定してください。
有効なファイルシステムのマウントポイントのリストを指定します。グローバルまたはローカルのどちらのファイルシステムも指定できます。グローバルファイルシステムには、クラスタのすべてのノードからアクセス可能です。ローカルファイルシステムには、1 つのクラスタノードからアクセス可能です。SUNW.HAStoragePlus リソースによって管理されているローカルファイルシステムは、1 つのクラスタノードにマウントされます。これらのローカルファイルシステムでは、ベースとなるデバイスが ZFS ストレージプールである必要があり、UFS の場合は Oracle Solaris Cluster グローバルデバイスである必要があります。
これらのファイルシステムマウントポイントは、paths[,…] という形式で定義されます。
ZFS 以外のファイルシステムの場合、すべてのクラスタノードおよびすべての大域ゾーンにある /etc/vfstab には、各ファイルシステムのマウントポイントに対応する等価なエントリが存在するはずです。SUNW.HAStoragePlus リソースタイプは、非大域ゾーンにある /etc/vfstab をチェックしません。
ZFS 以外のファイルシステムの場合、ローカルファイルシステムを指定する SUNW.HAStoragePlus リソースは、アフィニティースイッチオーバーが有効になっているフェイルオーバーリソースグループ以外には所属できません。このため、これらのローカルファイルシステムはフェイルオーバーファイルシステムと呼ばれます。ローカルおよびグローバルファイルシステムのマウントポイントは同時に指定できます。
ZFS 以外のファイルシステムのマウントポイントが FileSystemMountPoints 拡張プロパティーに指定され、/etc/vfstab エントリが次の条件を両方とも満たしている場合、このファイルシステムはローカルとみなされます。
グローバルではないマウントオプションが指定されている
エントリの「mount at boot」フィールドが「no」 に設定されている。
ZFS ファイルシステムが HAStoragePlus によって管理される場合、そのファイルシステムを /etc/vfstab に一覧表示しないでください。グローバルクラスタ内に構成されている HAStoragePlus リソースの場合、ZFS マウントポイントを FileSystemMountPoints プロパティーに含めないでください。HAStoragePlus によって制御される ZFS プールは代わりにローカルファイルシステムの Zpools プロパティーやグローバルファイルシステムの GlobalZpools プロパティーを使用して指定されます。
ゾーンクラスタでは、グローバルクラスタからのファイルシステムのループバックマウントを制御するように HAStoragePlus リソースを構成できます。この場合、ゾーンクラスタ内でそれらのループバックマウントポイントを特定するには、FileSystemMountPoints プロパティーが使用されます。
任意
空のリスト
すべての時間
有効な広域デバイスグループ名または広域デバイスパスのリストを指定します。これらのパスは、paths[,…] という書式で定義されます。
任意
空のリスト
無効時
有効な ZFS ストレージプールのリストを指定します。これらの ZFS ストレージプールは、プール名のコンマ区切りリストの形式で定義されます。Zpools および GlobalZpools プロパティーには、共通の ZFS ストレージプール名を指定できません。
GlobalZpools 拡張プロパティーを使用すると、含まれているファイルシステムのデータセットがグローバルにマウントされる ZFS ストレージプールを指定できます。ZFS ストレージプールを構成するデバイスは、SUNW.HAStoragePlus リソースが属するリソースグループのノードリスト内に構成されているすべてのノードからアクセスできる必要があります。ZFS ストレージプールを管理する SUNW.HAStoragePlus リソースは、フェイルオーバー (単一マスター) リソースグループだけに属することができます。
SUNW.HAStoragePlus リソースがオンラインになると、GlobalZpools プロパティーにリストされている各 ZFS ストレージプールがインポートされ、そのファイルシステムがクラスタでグローバルにマウントされます。
リソースがノード上でオフラインになると、GlobalZpools プロパティーにリストされている ZFS ストレージプールごとに、すべてのファイルシステムがグローバルにマウントされたままになり、zpool はエクスポートされません。
詳しくは、zpool(8) のマニュアルページを参照してください。
任意
空のリスト
すべての時間
ファイルシステムをプローブするために実行する I/O のタイプを定義します。サポートされている値は ReadOnly と ReadWrite のみです。ReadOnly 値は、障害モニターが管理対象ファイルシステム (FileSystemMountPoints プロパティーで指定されているファイルシステムと、Zpools プロパティーで指定されている ZFS ストレージプールに属する ZFS ファイルシステムを含む) で読み取り専用 I/O を実行できることを示します。ReadWrite 値は、障害モニターが管理対象ファイルシステムで読み取りおよび書き込み I/O を実行できることを示します。
任意
ReadOnly
すべての時間
I/O プローブのタイムアウト値を秒単位で定義します。
任意
10
3600
300
すべての時間
障害モニターで可能なプロセスモニター機能 (PMF) の再起動回数を制御します。
任意
1
4
すべての時間
障害モニターが再起動される時間間隔を分単位で定義します。
任意
2
2
すべての時間
障害が検証によって検出された場合、ローカルシステムをリブートするかどうかを指定します。TRUE に設定されている場合、リソースによって使用されるすべてのデバイスを、ディスクパスのモニタリングで直接または間接的にモニターする必要があります。
RebootOnFailure が TRUE に設定されており、GlobalDevicePaths、FileSystemMountPoints、または Zpools プロパティーで指定した各エントリで、使用可能なデバイスが少なくとも 1 つ検出された場合、ローカルシステムはリブートされます。ローカルシステムは、リソースがオンライン状態のグローバルクラスタノードまたはゾーンクラスタノードを参照します。
任意
FALSE
すべての時間
有効な ZFS ストレージプールのリストを指定します。これらの ZFS ストレージプールは、プール名のコンマ区切りリストの形式で定義されます。Zpools および GlobalZpools プロパティーには、共通の ZFS ストレージプール名を指定できません。
ZFS ストレージプールを構成するデバイスは、SUNW.HAStoragePlus リソースが属するリソースグループのノードリスト内に構成されているすべてのノードからアクセスできる必要があります。ZFS ストレージプールを管理する SUNW.HAStoragePlus リソースは、フェイルオーバー (単一マスター) リソースグループだけに属することができます。
SUNW.HAStoragePlus リソースがオンラインになると、Zpools プロパティーにリストされている各 ZFS ストレージプールがインポートされ、そのファイルシステムのデータセットが ZFS によってローカルでマウントされます。
リソースがノード上でオフラインになると、Zpools プロパティーにリストされている ZFS ストレージプールごとに、すべてのファイルシステムがアンマウントされ、ZFS ストレージプールがエクスポートされます。
詳しくは、zpool(8) のマニュアルページを参照してください。
任意
空のリスト
すべての時間
このプロパティーは Oracle Solaris Cluster によって内部で使用され、ユーザーによっては設定または変更できません。
照会のみ
しない
このプロパティーは Oracle Solaris Cluster によって内部で使用され、ユーザーによっては設定または変更できません。
照会のみ
しない
Zpools のデバイスを検索する場所を指定します。ZpoolsSearchDir 拡張プロパティーは、zpool コマンドの -d オプションと類似しています。
任意
/dev/dsk
無効時
次の例は、ZFS ストレージプール newpool を SUNW.HAStoragePlus リソースタイプ myhasp の GlobalZpools プロパティーに追加する方法を示しています。
# clresource set -p GlobalZpools+=newpool myhasp使用例 2 ZFS ストレージプールの削除
次の例は、ZFS ストレージプール pool2 を SUNW.HAStoragePlus リソースタイプ myhasp の GlobalZpools プロパティーから削除する方法を示しています。
# clresource set -p GlobalZpools-=pool2 myhasp
次の属性については、attributes(7) を参照してください。
|
指定のリソースグループが持つデータサービスリソースはSUNW.HAStoragePlus リソースに依存させてください。依存していない場合、データサービスと広域デバイスまたはファイルシステム間の同期を取ることはできません。オフライン再起動のリソース依存関係により、SUNW.HAStoragePlus リソースがほかのリソースの前に確実にオンラインになります。SUNW.HAStoragePlus リソースによって管理されているローカルファイルシステムは、リソースがオンラインにされた場合だけマウントされます。
UFS システムへのログオンを有効にしてください。
複数の SUNW.HAStoragePlus リソースを別々のリソースグループ内に構成し、同じデバイスグループを参照させ、AffinityOn フラグを TRUE に設定することは避けてください。冗長デバイススイッチオーバーが発生する場合があります。この結果、リソースとデバイスグループの位置が変更される場合もあります。
異なるリソースグループ内の複数の SUNW.HAStoragePlus リソースで ZFS ストレージプールを構成するのは避けてください。
障害モニターは、グローバルデバイス、ファイルシステム、ZFS ストレージプールなどの HAStoragePlus リソースによって管理されるエンティティーをモニターします。モニター対象のエンティティーのステータスは次のいずれかです。
オンライン - 部分エラーや重大なエラーはありません。
縮退 - 部分エラー。
障害 - 重大なエラー。Resource Group Manager (RGM) はリソースの再起動と別のクラスタノードへのフェイルオーバーを試みます。
複数のエンティティーがモニター対象になっている場合、リソースのステータスはモニター対象のすべてのエンティティーの集約ステータスによって決定されます。
SUNW.HAStoragePlus リソースは、マウント解除状態になっているどのクラスタファイルシステムでもマウントできます。
すべてのファイルシステムはオーバーレイモードでマウントされます。
ローカルファイルシステムは強制的にマウント解除されます。
すべてのデバイスサービスおよびファイルシステムが使用可能な状態になるまでの待ち時間は、SUNW.HAStoragePlus の Prenet_start_timeout プロパティーで指定されます。これは調節可能なプロパティーです。