Sun Cluster データサービス開発ガイド (Solaris OS 版)

リソースグループのプロパティー

以下に、Sun Cluster ソフトウェアによって定義されるリソースグループプロパティーについて説明します。プロパティー値は以下のように分類されます。

以下にプロパティー名とその説明を示します。

Auto_start_on_new_cluster (ブール型)

このプロパティーは、新しいクラスタの形成時に Resource Group Manager (RGM) が自動的にリソースグループを起動するかどうかを制御します。デフォルトは TRUE です。

TRUE に設定した場合、クラスタの全てのノードが同時に再起動すると、RGM はリソースグループを自動的に起動して Desired_primaries を取得しようとします。

FALSE に設定されている場合、クラスタのすべてのノードが同時に再起動したとき、RGM はリソースグループを自動的に起動しません。scswitch コマンドまたは同等の GUI 操作によってリソースグループが手動で初めてオンラインに切り替えられるまで、リソースグループはオフラインのままとなります。その後、このリソースグループは通常のフェイルオーバー動作を再開します。

カテゴリ:

任意

デフォルト:

TRUE

調整:

ANYTIME

Desired_primaries (整数型)

グループが同時に実行できるノード数として希望する値。

デフォルトは 1 です。RG_mode プロパティーが Failover である場合、このプロパティーの値は 1 以下である必要があります。RG_mode プロパティーが Scalable である場合、1 より大きな値に設定できます。

カテゴリ:

任意

デフォルト:

1

調整:

ANYTIME

Failback (ブール型)

クラスタのメンバーシップが変更されたとき、グループがオンラインになっているノードセットを再計算するかどうかを示すブール値です。再計算により、RGM は優先度の低いノードをオフラインにし、優先度の高いノードをオンラインにすることができます。

カテゴリ:

任意

デフォルト:

FALSE

調整:

ANYTIME

Global_resources_used (文字配列型)

クラスタファイルシステムがこのリソースグループ内のリソースによって使用されるかどうかを指定します。クラスタ管理者は、アスタリスク (*) か空文字列 (“”) を指定できます。すべてのグローバルリソースを指定するときはアスタリスク、グローバルリソースを一切指定しない場合は空文字列を指定します。

カテゴリ:

任意

デフォルト:

すべてのグローバルリソース

調整:

ANYTIME

Implicit_network_dependencies (ブール型)

TRUE の場合、 RGM は、グループ内のネットワークアドレスリソースで非ネットワークアドレスリソースに対する強い依存を強制します。このとき、RGM は、すべてのネットワークアドレスリソースを起動してからその他のリソースを起動します。また、グループ内のその他のすべてのリソースを停止してからネットワークアドレスリソースを停止します。ネットワークアドレスリソースには、論理ホスト名と共有アドレスリソース型があります。

スケーラブルリソースグループの場合、ネットワークアドレスリソースを含んでいないため、このプロパティーの影響はありません。

カテゴリ:

任意

デフォルト:

TRUE

調整:

ANYTIME

Maximum_primaries (整数型)

グループを同時にオンラインにできるノードの最大数です。

RG_mode プロパティーが Failover である場合、このプロパティーの値は 1 以下である必要があります。RG_mode プロパティーが Scalable である場合、1 より大きな値に設定できます。

カテゴリ:

任意

デフォルト:

1

調整:

ANYTIME

Nodelist (文字配列型)

優先順位に従ってグループをオンラインにできるクラスタノードのリスト。これらのノードは、リソースグループの潜在的主ノードまたはマスターです。

カテゴリ:

任意

デフォルト:

すべてのクラスタノードの順不同のリスト

調整:

ANYTIME

Pathprefix (文字列型)

リソースグループ内のリソースが重要な管理ファイルを書き込むことができるクラスタファイルシステム内のディレクトリ。一部のリソースの必須プロパティーです。各リソースグループの Pathprefix は、一意にする必要があります。

カテゴリ:

任意

デフォルト:

空の文字列

調整:

ANYTIME

Pingpong_interval (整数型)

負数ではない整数値 (秒)。次のような状況において RGM は、この値を使って、リソースグループをどこでオンラインにするかを決めます。

  • 再構成が行われる場合

  • scha_control GIVEOVER コマンドまたは関数の実行結果として

再構成が行われる場合、リソースグループは特定のノードにおいて Pingpong_interval に指定された秒数内に 2 回以上オンラインにならない可能性があります。このエラーが発生するのは、リソースの Start または Prenet_start メソッドがゼロ以外のステータスで終了したかタイムアウトになったためです。この結果、そのノードはリソースグループのホストとしての資格がないものと見なされ、RGM は別のマスターを探します。

scha_control コマンドまたは scha_control GIVEOVER コマンドがリソースによって特定のノード上で実行され、その結果そのリソースグループがほかのノードにフェイルオーバーすると、Pingpong_interval 秒が経過するまで、最初のノード (scha_control が実行されたノード) は同じリソースによるほかの scha_control GIVEOVER の実行先になることができません。

カテゴリ:

任意

デフォルト:

3600 (1 時間)

調整:

ANYTIME

Resource_list (文字配列型)

グループ内に含まれるリソースのリストです。クラスタ管理者はこのプロパティーを直接設定しません。このプロパティーは、クラスタ管理者がリソースグループにリソースを追加したりリソースグループからリソースを削除したりすると、RGM によって更新されます。

カテゴリ:

照会のみ

デフォルト:

デフォルトなし

調整:

NONE

RG_affinities (文字列型)

RGM は、リソースグループを、別のあるリソースグループの現行マスターであるノードに求める (ポジティブアフィニティー) か、リソースグループを、あるリソースグループの現行マスターではないノードに求めようとします (ネガティブアフィニティー)。

RG_affinities には次の文字列を設定できます。

  • ++ (強いポジティブアフィニティー)

  • + (弱いポジティブアフィニティー)

  • - (弱いネガティブアフィニティー)

  • -- (強いネガティブアフィニティー)

  • +++ (フェイルオーバーの権限を委譲された強いポジティブアフィニティー)

たとえば、RG_affinities=+RG2,--RG3 は、このリソースグループが RG2 に対して弱いポジティブアフィニティーを、RG3 に対して強いネガティブアフィニティーをもつことを表しています。

RG_affinities の使い方については、Sun Cluster Data Services Planning and Administration Guide の 『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の第 2 章「データサービスリソースの管理」を参照してください。

カテゴリ:

任意

デフォルト:

空の文字列

調整:

ANYTIME

RG_dependencies (文字配列型)

リソースグループのリスト (任意)。このリストは、同じノードでほかのグループをどのような順序でオンラインまたはオフラインにするかを表しています。すべての強い RG_affinities (ポジティブおよびネガティブ) と RG_dependencies の関係図式の中に循環が含まれていてはなりません。

たとえば、リソースグループ RG1 の RG_dependencies リストにリソースグループ RG2 が含まれているとします。つまり、RG1 には RG2 に対するリソースグループの依存性があるものとします。次の各項は、このリソースグループの依存性がどのような結果をもたらすかを説明したものです。

  • ノードがクラスタに結合されると、そのノードでは、RG2 のすべてのリソースに対する Boot メソッドが終わってから、 RG1 のリソースに対する Boot メソッドが実行されます。

  • RG1 と RG2 の両方が同じノード上で同時に PENDING_ONLINE 状態になっている場合、RG2 内のすべてのリソースがそれらの起動メソッドを完了するまで、起動メソッド (Prenet_start または Start) は RG1 内のどのリソースに対しても実行されません。

  • RG1 と RG2 の両方が同じノード上で同時に PENDING_OFFLINE 状態になっている場合、RG1 内のすべてのリソースがそれらの停止メソッドを完了するまで、停止メソッド (Stop または Postnet_stop) は RG2 内のどのリソースに対しても実行されません。

  • RG1 または RG2 の主ノードをスイッチする場合、それによって RG1 がいずれかのノードでオンラインに、RG2 がすべてのノードでオフラインになる場合は、このスイッチは失敗します。詳細は、scswitch(1M)scsetup(1M) のマニュアルページを参照してください。

  • RG2 に対する Desired_primaries がゼロに設定されている場合は、RG1 に対する Desired_primaries プロパティーをゼロより大きい値に設定することはできません。

  • RG2 に対する Auto_start_on_new_cluster FALSE に設定されている場合は、RG1 に対する Auto_start_on_new_cluster プロパティーを TRUE に設定することはできません。

カテゴリ:

任意

デフォルト:

空のリスト

調整:

ANYTIME

RG_description (文字列型)

リソースグループの簡単な説明です。

カテゴリ:

任意

デフォルト:

空の文字列

調整:

ANYTIME

RG_is_frozen (ブール型)

あるリソースグループが依存している大域デバイスをスイッチオーバーするかどうかを表します。このプロパティーが TRUE に設定されている場合、大域デバイスはスイッチオーバーされます。このプロパティーが FALSE に設定されている場合、大域デバイスはスイッチオーバーされません。リソースグループが大域デバイスに依存するかどうかは、Global_resources_used プロパティーの設定によります。

RG_is_frozen プロパティーをユーザーが直接設定することはありません。RG_is_frozen プロパティーは、大域デバイスのステータスが変わったときに、RGM によって更新されます。

カテゴリ:

任意

デフォルト:

デフォルトなし

調整:

NONE

RG_mode (>列挙型)

リソースグループがフェイルオーバーグループなのか、スケーラブルグループなのかを指定します。この値が Failover の場合、 RGM はグループの Maximum_primaries プロパティーの値を 1 に設定し、リソースグループのマスターを単一のノードに制限します。

このプロパティーの値が Scalable の場合、RGM は Maximum_primaries プロパティーに 1 より大きな値を設定することを許可します。その結果、グループを複数のノードで同時にマスターできます。Failover プロパティーが TRUE のリソースを、RG_modeScalable であるリソースグループに追加することはできません。

Maximum_primaries が 1 の場合、デフォルトは Failover です。Maximum_primaries が 1 より大きい場合、デフォルトは Scalable です。

カテゴリ:

任意

デフォルト:

Maximum_primaries の値によります。

調整:

NONE

RG_name (文字列型)

リソースグループの名前。これは必須プロパティーです。この値は、クラスタ内で一意でなければなりません。

カテゴリ:

必須

デフォルト:

デフォルトなし

調整:

NONE

RG_project_name (文字列型)

リソースグループに関連付けられた Solaris プロジェクト名 (projects(1)のマニュアルページを参照)。このプロパティーは、CPU の共有、クラスタデータサービスのリソースプールといった Solaris のリソース管理機能に適用できます。RGM は、リソースグループをオンラインにするとき、Resource_project_name プロパティーセットを持たないリソースに対して、このプロジェクト名で関連プロセスを起動します (r_properties(5) のマニュアルページを参照)。プロジェクトデータベース内に存在するプロジェクト名を指定する必要があります (projects(1) のマニュアルページと『Solaris のシステム管理 (Solaris コンテナ : 資源管理と Solaris ゾーン)』を参照)。

このプロパティーは Solaris 9 以降でサポートされます。


注 –

このプロパティーへの変更は、リソースの次回起動時に有効になります。


カテゴリ:

任意

デフォルト:

文字列 “default

調整:

ANYTIME

各クラスタノード上の RG_state (列挙型)

RGM によって UNMANAGEDONLINEOFFLINEPENDING_ONLINEPENDING_OFFLINEERROR_STOP_FAILEDONLINE_FAULTED、または PENDING_ONLINE_BLOCKED に設定されます。これは、そのグループが各クラスタノードでどのような状態にあるかを表します。

ユーザーはこのプロパティーを構成できません。ただし、scswitch コマンドを実行するか、同等の scsetup または SunPlex Manager コマンドを使用すれば、このプロパティーを間接的に設定することができます。RGM の制御下にないときは、グループは管理されていない状態で存在することができます。

各状態の説明は次のとおりです。


注 –

各状態は、すべてのノードについて該当する UNMANAGED 状態を除き、個々のノードについて該当します。たとえば、リソースグループはノード A では OFFLINE でありながらノード B では PENDING_ONLINE である可能性があります。


UNMANAGED

新しく作成されたリソースグループの最初の状態や、前に管理されていたリソースグループの状態。そのグループのリソースに対して Init メソッドがまだ実行されていないか、そのグループのリソースに対して Fini メソッドがすでに実行されています。

このグループは RGM によって管理されていません。

ONLINE

リソースグループはノード上ですでに起動されています。つまり、グループ内の有効なリソースすべてに対して、起動メソッド Prenet_startStart、および Monitor_start が (各リソースに合わせて) 正常に実行されました。

OFFLINE

リソースグループはノードですでに停止されています。つまり、グループ内の有効なリソースすべてに対して、停止メソッド Monitor_stopStop、および Postnet_stop が (各リソースに合わせて) 正常に実行されました。さらに、リソースグループがノードで最初に起動されるまでは、グループにこの状態が適用されます。

PENDING_ONLINE

リソースグループはノードで起動されようとしています。グループ内の有効なリソースに対して、起動メソッド Prenet_startStart、および Monitor_start が (各リソースに合わせて) 実行されようとしています。

PENDING_OFFLINE

リソースグループはノードで停止されようとしています。グループ内の有効なリソースに対して、停止メソッド Monitor_stopStop、および Postnet_stop が (各リソースに合わせて) 実行されようとしています。

ERROR_STOP_FAILED

リソースグループ内の 1 つ以上のリソースが正常に停止できず、Stop_failed 状態にあります。グループのほかのリソースがオンラインまたはオフラインである可能性があります。ERROR_STOP_FAILED 状態がクリアされるまで、このリソースグループはノード上での起動が許可されません。

管理コマンド (scswitch - c など) を使用して Stop_failed リソースを手動で停止し、その状態を OFFLINE にリセットする必要があります。

ONLINE_FAULTED

リソースグループは PENDING_ONLINE で、このノード上での起動が完了しています。しかし、1 つ以上のリソースが Start_failed 状態または Faulted 状態になりました。

PENDING_ONLINE_BLOCKED

リソースグループは、完全な起動を行うことに失敗しました。これは、リソースグループの 1 つまたは複数のリソースが、ほかのリソースグループのリソースに対して強いリソース依存性があり、それが満たされていないためです。このようなリソースは OFFLINE のままとなります。リソースの依存性が満たされると、リソースグループは自動的に PENDING_ONLINE 状態に戻ります。

カテゴリ:

照会のみ

デフォルト:

デフォルトなし

調整:

NONE

RG_system (ブール型)

リソースグループの RG_system プロパティーの値が TRUE の場合、そのリソースグループとそのリソースグループ内のリソースに関する特定の操作が制限されます。この制限は、重要なリソースグループやリソースを間違って変更または削除してしまうことを防ぐためにあります。このプロパティーによって影響を受けるのは、scrgadmscswitch コマンドだけです。scha_control(1HA)scha_control(3HA) の操作には影響を与えません。

リソースグループ (またはリソースグループ内のリソース) の制限操作を実行する前には、まず、リソースグループの RG_system プロパティーをFALSE に設定する必要があります。クラスタサービスをサポートするリソースグループ (または、リソースグループ内のリソース) を変更または削除するときには注意してください。

操作 

サンプル 

リソースグループを削除する 

scrgadm -r -g RG1

リソースグループプロパティーを編集する (RG_system を除く)

scrgadm -c -t RG1 -y nodelist=...

リソースグループへソースを追加する 

scrgadm -a -j R1 -g RG1

リソースグループからリソースを削除する 

scrgadm -r -j R1 -g RG1

リソースグループに属するリソースのプロパティーを編集する 

scrgadm -c -j R1

リソースグループをオフラインに切り替える 

scswitch -F -g RG1

リソースグループを管理する 

scswitch -o -g RG1

リソースグループを管理しない 

scswitch -u -g RG1

リソースを使用可能にする 

scswitch -e -j R1

リソースの監視を有効にする 

scswitch -e -M -j R1

リソースを使用不可にする 

scswitch -n -j R1

リソースの監視を無効にする 

scswitch -n -M -j R1

リソースグループの RG_system プロパティーの値が TRUE の場合、そのリソースグループで編集できるプロパティーは RG_system プロパティー自体だけです。つまり、RG_system プロパティーの編集は無制限です。

カテゴリ:

任意

デフォルト:

FALSE

調整:

ANYTIME