ここでは、その他に必要となるカスタマイズ項目について説明します。
■System V IPC資源のIPCキー値のカスタマイズについて
Interstageでは、Interstageを構成するプロセス間通信のために、OSが提供するSystem V IPC資源(メッセージキュー、セマフォ、共有メモリ)を使用しています。このIPC資源は、作成時に指定する値(IPCキー値)により、システムで一意に識別されます。
IPCキー値は、システムで一意でなければなりませんが、任意の値を使用することが可能なため、ほかのIPC資源を使用する製品およびアプリケーションプログラムと重複することがあります。
IPCキー値の重複が発生した場合、Interstageでは、以下のようなメッセージを出力して、IPCキー値の重複を通知します。
例
IPCキー値の重複を検出したときにコンポーネントトランザクションサービスが出力するメッセージの例
TD: エラー: td11038:必要なIPC資源が使用中のため獲得できませんでした(key=%x path=%s)
この場合、IPCキー値に対応したIPC資源を使用しているInterstageのサービスの各機能は使用できません。
このような状態に対処するため、Interstageでは以下に示す方法で、Interstageが使用するIPCキー値をカスタマイズすることが可能です。IPCキー値の重複発生を通知するメッセージが出力された場合は、この対処により運用することができます。
■概要
IPCキー値は4バイト(32ビット)で構成されますが、そのうちの下位12ビット(16進3桁)に任意の値を定義することで、ほかの製品が使用するIPCキー値と重複しないようにします。なお、上位残りの20ビットは、Interstageが決定します。
■IPCキー値の定義方法
以下のIPCキー値定義ファイルを新規に作成し、16進3桁でIPCキー値の下位12ビットを指定します。
MessageQueueDirectorを除くサービスは、共通定義ファイルの指定が有効です。MessageQueueDirectorは固有の定義ファイルの指定が有効です。
/var/opt/FJSVisas/system/システム名/FJSVisas/etc/ipc_key
/var/opt/FJSVisas/system/default/FJSVisas/etc/ipc_key
/opt/FJSVmqd/mqd/MQDシステム名/ipc_key
注意
定義ファイルの内容が16進3桁以外の場合は、IPCキー値の指定がない場合と同様に動作します。
“MQDシステム名”については、“MessageQueueDirector 説明書”を参照してください。
“システム名”は、マルチシステム機能のシステム名です。マルチシステム機能を使用していない場合は、“default”となります。
クラスタシステムを使用する場合、MQDシステム用の定義ファイルは、mqd環境定義ファイル中の以下で指定したディレクトリの中に定義ファイル(ipc_key)を作成してください。
[Cluster]
SystemDirectory = MQDのクラスタサービスが使用するディレクトリの名前
例
FFF
この定義例の場合、Interstageが使用する上位20ビットを0x01280とすると、IPCキー値は、16進表示で、以下のようになります。
0x01280FFF
注意
IPCキー値の定義は、Interstageを全強制停止モードで停止し、さらにInterstage JMXサービスを停止してから行ってください。Interstageの運用中に本定義を変更しないでください。
IPCキー値の定義は、システム間で重複することのないように定義してください。