この項では、フェイルオーバー用にEssbaseを構成するために必須のopmn.xmlファイル内の要素および属性について説明します。opmn.xmlファイルでは、すべての要素は<ias_component>構成要素内にあります。(このエントリはシステム・コンポーネントを表します。)
親: notification-server
属性: local、remote、request
port要素には、ONSリスナー・スレッドのホストおよびポート・バインディングに関する構成情報が含まれます。
例:
<ias-component id="<Essbase-Cluster-Name>"> <process-type id="EssbaseAgent" module-id="ESS" service-failover="1" service-weight="101"> <environment> ... </environment> <port id="essbase-port-range" range="32768-33768"/> </process-type> </ias-component>
親: notification-server
属性: none
topology要素には、クラスタ内のONSトポロジに関する構成情報が含まれます。
例:
<topology> <nodes list="adc2170731:6712,dadvmn0429:6712"/> </topology>
親: topology
属性: list
nodes要素は、ローカルOPMNサーバーと同じクラスタ内のOPMNサーバーに固有のアドレスのリストを示します。ローカルのOPMNサーバーはリストに含まれています。複数のnodes要素を構成できます。
例:
<topology> <nodes list="adc2170731:6712,dadvmn0429:6712"/> </topology>
有効な値: 0より大きい整数値
process-typeは、service-failoverとして構成できます(numがゼロでない場合)。これは、実行中のクラスタ内のどこかにnum個存在するプロセスを表します。このプロセスの実行は制限されており、1つのサービス・インスタンスで実行されるこのタイプのプロセスは1つのみです。このため、クラスタ内の特定のservice-failoverに対するプロセスの最大数は、クラスタ内の参加サービス・インスタンスの数を超えることはできません。クラスタ内でこのservice-failoverに参加するサービス・インスタンスの数よりnumの値の方が大きく、service-failoverがアクティブである(起動済である)場合、クラスタ全体の合計プロセス数がnumになるまで、クラスタに追加された各参加インスタンスによりそのservice-failoverプロセスが自動的に起動されます。
service-failoverプロセスは、サービスに参加する任意のインスタンス上で実行できます。これは、すべてのインスタンスが同じias-component id、process-type idおよびprocess-set idを使用してサービスを構成する必要があることを意味します。サービス自体を対象とする場合、要求にはias-componentとprocess-typeの両方を指定する必要があります(process-setを含めることもできます)。
service-failover process-typeに指定できるのは、1つのprocess-setのみです。1つのフェイルオーバー・サービスのプロセス数が常に1つとなるため、このprocess-setにnumprocs、minprocsまたはmaxprocsを指定することはできません。
service-failoverは、(管理対象プロセスのように) 1つの依存関係として指定することも、複数の依存関係として指定することもできます。1つの依存関係として指定した場合、クラスタ内のどこかでこのタイプのプロセスの1つがアクティブになると同時に、service-failoverの依存関係チェックはnumの構成値とは関係なくtrueとして評価されます。
例:
<ias-component id="<Essbase-Cluster-Name>"> <process-type id="EssbaseAgent" module-id="ESS" service-failover="1" service-weight="101"> <environment> <variable id="EPM_ORACLE_HOME" value="<Oracle Home-Location>”> </environment> ... </process-type> </ias-component>
デフォルト: 100
有効な値: 0より大きい整数値
service-failoverプロセスを実際に実行するサービス・インスタンスは、構成されている(またはデフォルトの) service-weight値に基づいて選択されます。この加重が大きいサービス・インスタンスの方が、加重が小さいサービス・インスタンスより優先して選択されます。サービスに対する一連のサービス・インスタンスの加重が同じである場合は、構成されている数のサービス・インスタンスがセットから選択され、プロセスが実行されます。
service-weight属性を指定できるのは、service-failover属性がゼロ以外の値に設定されている場合のみです。
例:
<ias-component id="<Essbase-Cluster-Name>"> <process-type id="EssbaseAgent" module-id="ESS" service-failover="1" service-weight="101"> <environment> <variable id="EPM_ORACLE_HOME" value="<Oracle Home-Location>”> </environment> ... </process-type> </ias-component>
親: <process-set>
有効な値: trueまたはfalse
管理対象プロセスが予期せずに終了した場合、つまり、要求によって停止したわけではない場合、このプロセスはOPMNによって自動的には再起動されません。
例:
<ias-component id="<Essbase-Cluster-Name>"> <process-type id="EssbaseAgent" module-id="ESS" service-failover="1" service-weight="101"> <environment> ... </environment> <process-set id="AGENT" restart-on-death="true"> <module-data> <category id="start-parameters"> <data id="start-executable" value="$ESSBASEEXE"/> <data id="agent-port" value="1423"/> <data id="start-args" value="-b"/> </category> ... </module-data> </process-type> </ias-component>
親: <process-set>
有効な値: 0より大きく3600より小さい整数
アクションごとにタイムアウト値を構成できます。
例:
<ias-component id="<Essbase-Cluster-Name>"> <process-type id="EssbaseAgent" module-id="ESS" service-failover="1" service-weight="101"> <environment> ... </environment> <start timeout="600" retry="2" /> <stop timeout="600"/> <restart timeout="600" retry="2" /> </process-type> </ias-component>