SMF (Service Management Facility) を使用すると、ノードの起動中またはサービス障害中に自動的に SMF サービスを起動および再起動することができます。SMF は、単一ホスト上の SMF サービスに、ある程度の高可用性を実現します。この機能は、クラスタアプリケーションに高可用性とスケーラビリティーを実現する、Sun Cluster Resource Group Manager (RGM) に似ています。SMF サービスと RGM の機能は相互に補完的です。
Sun Cluster には、3 つの新しい SMF プロキシリソースタイプが含まれています。これらを使用すると、フェイルオーバー、マルチマスター、またはスケーラブル構成の Sun Cluster とともに SMF サービスが実行できるようになります。プロキシリソースタイプは次のとおりです。
SUNW.Proxy_SMF_failover
SUNW.Proxy_SMF_multimaster
SUNW.Proxy_SMF_scalable
SMF プロキシリソースタイプを使用すると、相互関係のある SMF サービスのセットを 1 つのリソースにカプセル化し、SMF プロキシリソースを Sun Cluster で管理することができます。この機能では、SMF は 1 つのノード上の SMF サービスの可用性を管理します。Sun Cluster は、SMF サービスの、クラスタ全体にわたる高い可用性とスケーラビリティーを提供します。
SMF プロキシリソースタイプを使用すると、独自の SMF の制御によるサービスを Sun Cluster に統合できます。これらのサービスには、ユーザーがコールバックメソッドやサービスマニフェストを書き換えることなく、クラスタ全体のサービス可用性が与えられます。SMF サービスを SMF プロキシリソースに統合したあとは、SMF サービスはデフォルトの再起動プログラムにより管理されなくなります。Sun Cluster により委任された再起動プログラムが、SMF サービスを管理します。
SMF プロキシリソースはほかのリソースと同じで、使用法に制限はありません。たとえば、SMF プロキシリソースは、ほかのリソースとともにリソースグループにグループ化することができます。SMF プロキシリソースは、ほかのリソースと同じように作成、管理することができます。SMF プロキシリソースは、1 点のみほかのリソースとは異なります。SMF プロキシリソースタイプのリソースを作成する場合、拡張プロパティー Proxied_service_instances を指定する必要があります。SMF リソースによってプロキシされる SMF サービスに関する情報を含めます。拡張プロパティーの値は、プロキシされるすべての SMF サービスを含むファイルへのパスです。ファイル内の各行は 1 つの SMF サービス専用で、svc fmri、対応するサービスマニフェストファイルのパスを指定します。
たとえば、リソースが 2 つのサービス、 restarter_svc_test_1:default と restarter_svc_test_2:default を管理する必要がある場合、ファイルには次に示す 2 行が含まれているはずです。
<svc:/system/cluster/restarter_svc_test_1:default>,</var/svc/manifest/system/clus ter/restarter_svc_test_1.xml> |
<svc:/system/cluster/restarter_svc_test_2:default>,</var/svc/manifest/system/clus ter/restarter_svc_test_2.xml> |
SMF プロキシリソースの下でカプセル化されたサービスは、グローバルクラスタまたはグローバルクラスタ非投票ノードに存在できます。ただし、同じプロキシリソースの下のすべてのサービスは同じゾーン内に配置します。
SMF svcadm は、プロキシリソース内にカプセル化される SMF サービスを有効または無効にするためには使用しないでください。プロキシリソースにカプセル化される SMF サービス (SMF リポジトリ内) のプロパティーは変更しないでください。
フェイルオーバー構成の詳細については、「リソースグループの作成」を参照してください。
この手順は、任意のクラスタノードから実行します。
クラスタメンバーで、スーパーユーザーになるか、solaris.cluster.modify RBAC の承認を提供する役割になります。
プロキシ SMF フェイルオーバーリソースタイプを登録します。
# clresourcetype register -f\ /opt/SUNWscsmf/etc/SUNW.Proxy_SMF_failover SUNW.Proxy_SMF_failover |
登録されたプロキシリソースタイプを確認します。
# clresourcetype show |
SMF フェイルオーバーリソースグループを作成します。
# clresourcegroup create [-n node-zone-list] resource-group |
このリソースグループをマスターできるノードの、コンマ区切りの順序付けされたリストを指定します。リスト内の各エントリの形式は node:zone です。この形式では、node はノード名を指定し、zone はグローバルクラスタ非投票ノードの名前を指定します。グローバルクラスタ投票ノードを指定する、またはグローバルクラスタ非投票ノードのないノードを指定するには、node のみを指定します。
このリストはオプションです。このリストを省略すると、リソースグループはすべてのグローバルクラスタ投票ノードに対して構成されます。
高可用性を実現するには、同一ノード上の異なるグローバルクラスタ非投票ノードではなく、SMF フェイルオーバーリソースグループのノードリストの異なるノード上でグローバルクラスタ非投票ノードを指定します。
追加するスケーラブルリソースグループの名前を指定します。任意の名前の先頭文字は ASCII にする必要があります。
SMF リソースグループが作成されていることを確認します。
# clresourcegroup status resource-group |
SMF フェイルオーバーアプリケーションリソースをリソースグループに追加します。
# clresource create -g resource-group -t SUNW.Proxy_SMF_failover \ [-p "extension-property[{node-specifier}]"=value, …] [-p standard-property=value, …] resource |
リソースは有効状態で作成されます。
SMF フェイルオーバーアプリケーションリソースが追加され、妥当性が検査されていることを確認します。
# clresource show resource |
フェイルオーバーリソースグループをオンラインにします。
# clresourcegroup online -M + |
clresource status コマンドを利用して、SMF プロキシリソースタイプの状態を表示するには、 online but not monitored が表示されます。これはエラーメッセージではありません。SMF プロキシリソースが有効になったり、実行したりしています。SMF プロキシリソースタイプのリソースに対して監視サポートが提供されていないので、この状態メッセージが表示されます。
次の例では、SUNW.Proxy_SMF_failover リソースタイプを登録します。
# clresourcetype register SUNW.Proxy_SMF_failover # clresourcetype show SUNW.Proxy_SMF_failover Resource Type: SUNW.Proxy_SMF_failover RT_description: Resource type for proxying failover SMF services RT_version: 3.2 API_version: 6 RT_basedir: /opt/SUNWscsmf/bin Single_instance: False Proxy: False Init_nodes: All potential masters Installed_nodes: <All> Failover: True Pkglist: SUNWscsmf RT_system: False Global_zone: False |
次の例に、プロキシリソースタイプ SUN.Proxy_SMF_failover のリソースグループ resource-group-1 への追加を示します。
# clresource create -g resource-group-1 -t SUNW.Proxy_SMF_failover -x proxied_service_instances=/var/tmp/svslist.txt resource-1 # clresource show resource-1 === Resources === Resource: resource-1 Type: SUNW.Proxy_SMF_failover Type_version: 3.2 Group: resource-group-1 R_description: Resource_project_name: default Enabled{phats1}: True Monitored{phats1}: True |
クラスタメンバーで、スーパーユーザーになるか、solaris.cluster.modify RBAC の承認を提供する役割になります。
SMF プロキシマルチマスターリソースタイプを登録します。
# clresourcetype register -f\ /opt/SUNWscsmf/etc/SUNW.Proxy_SMF_multimaster SUNW.Proxy_SMF_multimaster |
SMF マルチマスターリソースグループを作成します。
# clresourcegroup create\-p Maximum_primaries=m\-p Desired_primaries=n\ [-n node-zone-list]\ resource-group |
このリソースグループのアクティブな主ノードの最大数を指定します。
リソースグループが起動するアクティブな主ノードの数を指定します。
このリソースグループが使用可能となる、コンマ区切りの順序付けられたノードリストを指定します。リスト内の各エントリの形式は node:zone です。この形式では、node はノード名を指定し、zone はグローバルクラスタ非投票ノードの名前を指定します。グローバルクラスタ投票ノードを指定する、またはグローバルクラスタ非投票ノードのないノードを指定するには、node のみを指定します。
このリストはオプションです。このリストを省略すると、リソースグループはグローバルクラスタ投票ノードに対して構成されます。
追加するスケーラブルリソースグループの名前を指定します。任意の名前の先頭文字は ASCII にする必要があります。
SMF プロキシマルチマスターリソースグループが作成されたことを確認します。
# clresourcegroup show resource-group |
SMF プロキシマルチマスターリソースをリソースグループに追加します。
# clresource create -g resource-group -t SUNW.Proxy_SMF_multimaster\ [-p "extension-property[{node-specifier}]"=value, …] [-p standard-property=value, …] resource |
以前に作成したスケーラブルサービスリソースグループの名前を指定します。
リソース用に設定する拡張プロパティーのコンマ区切りリストを指定します。設定できる拡張プロパティーはリソースタイプに依存します。どの拡張プロパティーを設定するかを決定するには、リソースタイプのマニュアルを参照してください。
node-specifier は、-p オプションおよび -x オプションに対する「オプション」の修飾子です。この修飾子は、指定された 1 つまたは複数のノード上でのみ、1 つまたは複数の拡張プロパティーがリソースの作成時に設定されることを示します。指定した拡張プロパティーは、クラスタ内のほかのノード上では、設定されません。node-specifier を指定しないと、クラスタ内のすべてのノード上の指定された拡張プロパティーが設定されます。node-specifier にはノード名またはノード識別子を指定できます。node-specifier の構文例を次に示します。
-p "myprop{phys-schost-1}" |
中括弧 ({}) は、指定した拡張プロパティーをノード phys-schost-1 でのみ設定することを示します。大部分のシェルでは、二重引用符 (") が必要です。
また次の構文を使用して、2 つの異なるノード上の 2 つの異なるグローバルクラスタ非投票ノード内で拡張プロパティーを設定することもできます。
-x "myprop{phys-schost-1:zoneA,phys-schost-2:zoneB}" |
リソース用に設定する標準プロパティーのコンマ区切りリストを指定します。設定できる標準プロパティーはリソースタイプに依存します。スケーラブルサービスの場合、通常は Port_list、Load_balancing_weights、および Load_balancing_policy プロパティーを設定します。どの標準プロパティーを設定するかを決定するには、リソースタイプのマニュアルと付録 B 標準プロパティーを参照してください。
追加するリソースの名前を指定します。
リソースは有効状態で作成されます。
SMF プロキシマルチマスターアプリケーションリソースが追加され、妥当性が検査されていることを確認します。
# clresource show resource |
マルチマスターリソースグループをオンラインにします。
# clresourcegroup online -M + |
clresource status コマンドを利用して、SMF プロキシリソースタイプの状態を表示するには、 online but not monitored が表示されます。これはエラーメッセージではありません。SMF プロキシリソースが有効になって実行しています。SMF プロキシリソースタイプのリソースに対して監視サポートが提供されていないので、この状態メッセージが表示されます。
次の例では、SUNW.Proxy_SMF_multimaster リソースタイプを登録します。
# clresourcetype register SUNW.Proxy_SMF_multimaster # clresourcetype show SUNW.Proxy_SMF_multimaster Resource Type: SUNW.Proxy_SMF_multimaster RT_description: Resource type for proxying multimastered SMF services RT_version: 3.2 API_version: 6 RT_basedir: /opt/SUNWscsmf/bin Single_instance: False Proxy: False Init_nodes: All potential masters Installed_nodes: <All> Failover: True Pkglist: SUNWscsmf RT_system: False Global_zone: False |
次の例に、マルチマスタープロキシリソースタイプ SUN.Proxy_SMF_multimaster の作成とリソースグループ resource-group-1 への追加を示します。
# clresourcegroup create\ -p Maximum_primaries=2\ -p Desired_primaries=2\ -n phys-schost-1, phys-schost-2\ resource-group-1 # clresourcegroup show resource-group-1 === Resource Groups and Resources === Resource Group: resource-group-1 RG_description: <NULL> RG_mode: multimastered RG_state: Unmanaged RG_project_name: default RG_affinities: <NULL> Auto_start_on_new_cluster: True Failback: False Nodelist: phys-schost-1 phys-schost-2 Maximum_primaries: 2 Desired_primaries: 2 Implicit_network_dependencies: True Global_resources_used: <All> Pingpong_interval: 3600 Pathprefix: <NULL> RG_System: False Suspend_automatic_recovery: False |
# clresource create -g resource-group-1 -t SUNW.Proxy_SMF_multimaster -x proxied_service_instances=/var/tmp/svslist.txt resource-1 # clresource show resource-1 === Resources === Resource: resource-1 Type: SUNW.Proxy_SMF_multimaster Type_version: 3.2 Group: resource-group-1 R_description: Resource_project_name: default Enabled{phats1}: True Monitored{phats1}: True |
スケーラブル構成の詳細については、「スケーラブルリソースグループを作成する」を参照してください。
この手順は、任意のクラスタノードから実行します。
クラスタメンバーで、スーパーユーザーになるか、solaris.cluster.modify RBAC の承認を提供する役割になります。
SMF プロキシスケーラブルリソースタイプを登録します。
# clresourcetype register -f\ /opt/SUNWscsmf/etc/SUNW.Proxy_SMF_scalable SUNW.Proxy_SMF_scalable |
スケーラブルリソースグループが使用する共有アドレスを保持する SMF フェイルオーバーリソースグループを作成します。フェイルオーバーリソースグループの作成については、「フェイルオーバーリソースグループを作成する」を参照してください。
SMF プロキシスケーラブルリソースグループを作成します。
# clresourcegroup create\-p Maximum_primaries=m\-p Desired_primaries=n\ -p RG_dependencies=depend-resource-group\ [-n node-zone-list]\ resource-group |
このリソースグループのアクティブな主ノードの最大数を指定します。
リソースグループが起動するアクティブな主ノードの数を指定します。
作成されるリソースグループが依存する共有アドレスリソースを含むリソースグループを指定します。
このリソースグループが使用可能となる、コンマ区切りの順序付けられたノードリストを指定します。リスト内の各エントリの形式は node:zone です。この形式では、node はグローバルクラスタ投票ノードを指定し、zone はグローバルクラスタ非投票ノードの名前を指定します。グローバルクラスタ投票ノードを指定する、またはグローバルクラスタ非投票ノードのないノードを指定するには、node のみを指定します。
このリストはオプションです。このリストを省略すると、クラス内のすべてのノード上でリソースグループが作成されます。
スケーラブルリソースのノードリストは、共有アドレスリソースのノードリストと同じリストまたは nodename:zonename ペアのサブセットを含むことができます。
追加するスケーラブルリソースグループの名前を指定します。任意の名前の先頭文字は ASCII にする必要があります。
スケーラブルリソースグループが作成されていることを確認します。
# clresourcegroup show resource-group |
SMF プロキシスケーラブルリソースをリソースグループに追加します。
# clresource create-g resource-group -t SUNW.Proxy_SMF_scalable \ -p Network_resources_used=network-resource[,network-resource...] \ -p Scalable=True [-p "extension-property[{node-specifier}]"=value, …] [-p standard-property=value, …] resource |
以前に作成したスケーラブルサービスリソースグループの名前を指定します。
このリソースが依存するネットワークリソース (共有アドレス) のリストを指定します。
このリソースがスケーラブルであることを指定します。
リソースの拡張プロパティーを設定していることを指定します。どの拡張プロパティーを設定するかを決定するには、リソースタイプのマニュアルを参照してください。
node-specifier は、-p オプションおよび -x オプションに対する「オプション」の修飾子です。この修飾子は、指定された 1 つまたは複数のノード上でのみ、1 つまたは複数の拡張プロパティーがリソースの作成時に設定されることを示します。指定した拡張プロパティーは、クラスタ内のほかのノード上では、設定されません。node-specifier を指定しないと、クラスタ内のすべてのノード上の指定された拡張プロパティーが設定されます。node-specifier にはノード名またはノード識別子を指定できます。node-specifier の構文例を次に示します。
-p "myprop{phys-schost-1}" |
中括弧 ({}) は、指定した拡張プロパティーをノード phys-schost-1 でのみ設定することを示します。大部分のシェルでは、二重引用符 (") が必要です。
また次の構文を使用して、2 つの異なるグローバルクラスタ投票ノード上の 2 つの異なるグローバルクラスタ非投票ノード内で拡張プロパティーを設定することもできます。
-x "myprop{phys-schost-1:zoneA,phys-schost-2:zoneB}" |
リソース用に設定する標準プロパティーのコンマ区切りリストを指定します。設定できる標準プロパティーはリソースタイプに依存します。スケーラブルサービスの場合、通常は Port_list、Load_balancing_weights、および Load_balancing_policy プロパティーを設定します。どの標準プロパティーを設定するかを決定するには、リソースタイプのマニュアルと付録 B 標準プロパティーを参照してください。
追加するリソースの名前を指定します。
リソースは有効状態で作成されます。
SMF プロキシスケーラブルアプリケーションリソースが追加され、妥当性が検査されていることを確認します。
# clresource show resource |
SMF プロキシスケーラブルリソースグループをオンラインにします。
# clresourcegroup online -M + |
clresource status コマンドを利用して、SMF プロキシリソースタイプの状態を表示するには、 online but not monitored が表示されます。これはエラーメッセージではありません。SMF プロキシリソースが有効になったり、実行したりしています。SMF プロキシリソースタイプのリソースに対して監視サポートが提供されていないので、この状態メッセージが表示されます。
次の例では、SUNW.Proxy_SMF_scalable リソースタイプを登録します。
# clresourcetype register SUNW.Proxy_SMF_scalable # clresourcetype show SUNW.Proxy_SMF_scalable Resource Type: SUNW.Proxy_SMF_scalable RT_description: Resource type for proxying scalable SMF services RT_version: 3.2 API_version: 6 RT_basedir: /opt/SUNWscsmf/bin Single_instance: False Proxy: False Init_nodes: All potential masters Installed_nodes: <All> Failover: True Pkglist: SUNWscsmf RT_system: False Global_zone: False |
この例では、スケーラブルプロキシリソースタイプ SUN.Proxy_SMF_scalalble の作成と resource-group-1 への追加を示します。
# clresourcegroup create\ -p Maximum_primaries=2\ -p Desired_primaries=2\ -p RG_dependencies=resource-group-2\ -n phys-schost-1, phys-schost-2\ resource-group-1 # clresourcegroup show resource-group-1 === Resource Groups and Resources === Resource Group: resource-group-1 RG_description: <NULL> RG_mode: Scalable RG_state: Unmanaged RG_project_name: default RG_affinities: <NULL> Auto_start_on_new_cluster: True Failback: False Nodelist: phys-schost-1 phys-schost-2 Maximum_primaries: 2 Desired_primaries: 2 RG_dependencies: resource-group2 Implicit_network_dependencies: True Global_resources_used: <All> Pingpong_interval: 3600 Pathprefix: <NULL> RG_System: False Suspend_automatic_recovery: False |
# clresource create -g resource-group-1 -t SUNW.Proxy_SMF_scalable -x proxied_service_instances=/var/tmp/svslist.txt resource-1 # clresource show resource-1 === Resources === Resource: resource-1 Type: SUNW.Proxy_SMF_scalable Type_version: 3.2 Group: resource-group-1 R_description: Resource_project_name: default Enabled{phats1}: True Monitored{phats1}: True |