5.2.3 定義ディレクトリへ格納する定義ファイルの作成
ここでは,定義ディレクトリに格納する定義ファイルの作成方法について説明します。
- ポイント
-
作業を実施するユーザ:システム構築者
- 〈この項の構成〉
(1) 簡易構築定義ファイルの作成
仮想サーバ上のWebシステムの定義は,簡易構築定義ファイル(DefModel.xml)で設定します。
次の制限事項および注意事項に従った簡易構築定義ファイルを作成します。なお,定義ディレクトリの取り込み,登録済み定義ディレクトリの内容変更または登録済み定義ディレクトリとの比較を実行すると,作成規則に従っていない簡易構築定義ファイルの場合はエラーとなります。
(a) 作成規則
-
簡易構築定義ファイルのファイル名は,「DefModel.xml」を使用してください。
-
Webシステムの属性定義(<web-system>タグの定義)は1回だけ指定してください。
-
負荷分散機の定義(<load-balancer>タグの定義)は指定できません。
-
物理ティアの定義(<tier>タグの定義)は1回だけ指定してください。
-
<tier-type>タグ(物理ティアの種類)には,「combined-tier」,「http-tier」,「j2ee-tier」,または「ctm-tier」を指定してください。
-
-
サービスユニットの定義(<unit>タグの定義)は1回だけ指定してください。
-
物理ティアの定義で<tier-type>タグ(物理ティアの種類)に「ctm-tier」を指定する場合,論理サーバの定義(<define-server>)は,物理ティアの定義で<j2ee-server-count>タグ(1ホストに配置するJ2EEサーバの数)に指定した数分指定してください。この場合,J2EEサーバごとの論理サーバの定義(<define-server>)では次のタグを必ず指定してください。
-
<logical-server-name>タグ(論理サーバを識別するための名称)
-
<logical-server-type>タグ(論理サーバの種類)
-
<server-no>タグ(J2EEサーバを識別するための番号)
-
-
ホストの定義(<host>タグの定義)は1回だけ指定してください。
-
<host-name>タグ(ホストを識別するための名称)には,「localhost」を指定してください。
-
<agent-host>タグ(運用管理エージェントのホスト名)には,「localhost」を指定してください。
-
(b) 簡易構築定義ファイルで指定できる置換文字列
複数のティアを管理している管理ユニットで,ティア間の関連づけをする場合に,関連元のティアの簡易構築定義ファイルでは,関連先のティアで使用される仮想サーバに関する情報を置換文字列で記述できます。置換文字列で記述できる仮想サーバに関する情報を次に示します。
-
仮想サーバ識別子
-
仮想サーバの業務用IPアドレス
-
仮想サーバのサーバ通信エージェントのポート番号
これらの情報を置換文字列で記述した場合,仮想サーバグループ情報ファイルから読み込まれます。
置換文字列の記述形式,記述内容および記述例を次に示します。
- 記述形式
###<ティア識別子>:<パラメタ>###
- 記述内容
-
- <ティア識別子>
-
関連先のティアのティア識別子を指定します。
- <パラメタ>
-
仮想サーバグループ情報ファイルの指定値と置き換えるパラメタを指定します。
-
ip
仮想サーバグループ情報ファイルで指定している,仮想サーバ識別子と置き換えます。
-
serviceip
仮想サーバグループ情報ファイルで指定している,仮想サーバの業務用IPアドレスと置き換えます。
-
port
仮想サーバグループ情報ファイルで指定している,仮想サーバのサーバ通信エージェントのポート番号と置き換えます。
-
- 記述例
-
http-tierとj2ee-tier構成の場合に,関連元(http-tier)の簡易構築定義ファイルで,関連先(j2ee-tier)の仮想サーバの業務用IPアドレス(serviceip)を置換文字列で設定する例を次に示します。
- http-tierの簡易構築定義ファイルの例
: <tier> <tier-type>http-tier</tier-type> <configuration> <logical-server-type>web-server</logical-server-type> <param> <param-name>AppendDirectives</param-name> <param-value> <![CDATA[ ProxyPass / http://###j2ee-tier-01:serviceip###:8008/ HWSProxyPassReverseCookie / ]]> </param-value> </param> :
- 仮想サーバグループ情報ファイルの例
: <group name="set_001"> <virtualserver tier="http-tier" ip="111.111.111.101" port="20580" serviceip="111.111.155.101"/> <virtualserver tier="j2ee-tier-01" ip="111.111.222.101" port="20580" serviceip="111.111.166.101"/> </group> <group name="set_002"> <virtualserver tier="http-tier" ip="111.111.111.102" port="20580" serviceip="111.111.155.102"/> <virtualserver tier="j2ee-tier-01" ip="111.111.222.102" port="20580" serviceip="111.111.166.102"/> </group> :
この例では,簡易構築定義ファイルの「###j2ee-tier-01:serviceip###」は,仮想サーバグループ「set_001」の場合は「111.111.166.101」に,仮想サーバグループ「set_002」の場合は「111.111.166.102」に置き換えられます。
(c) 注意事項
-
ゲストOSがWindowsの場合に,JP1連携を自動設定するフックスクリプトでテンプレートを使用し,かつJP1/Baseのログファイルトラップを有効にしているとき,J2EEサーバとHTTP Serverのログの出力先は,簡易構築定義ファイルおよびフックスクリプトで同じ値を設定し,かつデフォルト値以外を設定してください。詳細は,「7.7.2(3) 注意事項」を参照してください。
-
http-tierとj2ee-tier構成の場合,各ティアの簡易構築定義ファイルでは,次の点に注意して設定してください。
-
http-tierの簡易構築定義ファイルの場合
http-tierとj2ee-tierを関連づけるために,論理Webサーバ(web-server)の<configuration>タグ内に次の表に示すパラメタを指定します。
表5‒2 http-tierの簡易構築定義ファイルに指定するパラメタ パラメタ
説明
指定例
j2ee-tierの簡易構築定義ファイルとの対応
AppendDirectives
追加するディレクティブとして,転送先URLにj2ee-tierのIPアドレスを指定したProxyPassディレクティブと,HWSProxyPassReverseCookieディレクティブを指定します。
param-valueの値はCDATAセクションで指定してください。
<![CDATA[
ProxyPass / http://###j2ee-tier-01:serviceip###:8008/
HWSProxyPassReverseCookie /
]]>
ProxyPassに指定する転送先URLのポート番号は,論理J2EEサーバ(j2ee-server)の<configuration>タグ内のwebserver.connector.nio_http.portパラメタの指定値に対応
-
(2) 仮想サーバのOS種別と起動順序の設定
tier.properties(ティア別プロパティファイル)で,管理ユニットに属する仮想サーバのうち,ティアに割り当てられている仮想サーバのOS種別と起動順序を設定します。
-
仮想サーバのOS種別
仮想サーバのOS種別は必ず設定してください。
-
仮想サーバの起動順序
複数のティアを管理する管理ユニットを一括起動,または一括停止する場合に,ティアに割り当てられている仮想サーバを起動または停止する順序を設定します。番号の小さい順に起動し,番号の大きい順に停止します。番号が同じ場合は同時に処理されます。
tier.propertiesを作成する場合,テンプレートファイルを使用できます。テンプレートファイルの格納場所については,「8.1 仮想化システムの構築・運用時に使用するファイル」を参照してください。
(3) 負荷分散機と接続するための設定
VirtualServerの名称やポート,接続情報の設定個所など負荷分散機と接続するために必要なティアごとの設定を次に示します。
-
負荷分散機の設定
VirtualServerの名称やポートなどを設定します。
-
負荷分散機への接続情報の設定個所
仮想サーバマネージャまたはティアのどちらで定義している接続情報を使用するかを設定します。
負荷分散機を使用する場合,システム構築者は,これらの情報をtier.properties(ティア別プロパティファイル)で設定します。ただし,Webサーバを含まないティアに対して設定しても,その設定は無視されます。
負荷分散機の接続情報は,負荷分散機接続設定プロパティファイル(<LB接続情報の識別名>.propertiesまたはtierlb.properties)で設定します。どちらの接続情報を使用するかは,tier.propertiesのlb.useキーで指定します。lb.useキーの指定値と負荷分散機接続設定プロパティファイルの設定有無による動作を次の表に示します。
lb.useキーの指定値 |
負荷分散機接続設定プロパティファイルの設定有無 |
動作 |
|
---|---|---|---|
<LB接続情報の識別名>.properties |
tierlb.properties |
||
空文字 |
− |
− |
負荷分散機を使用しません。 |
<LB接続情報の識別名> |
なし |
− |
ファイルがないため,次のタイミングでエラーになります。
|
あり |
− |
仮想サーバマネージャで定義している接続情報(<LB接続情報の識別名>.properties)で負荷分散機を使用します。 |
|
:unit: |
− |
なし |
ファイルがないため,管理ユニットに属する仮想サーバへの定義ディレクトリを反映するタイミングでエラーになります。 |
− |
あり |
ティアで定義している接続情報(tierlb.properties)で負荷分散機を使用します。 |
(4) 負荷分散機の接続情報を管理ユニットで定義するための設定
管理ユニットの操作時に負荷分散機を利用する場合,使用する負荷分散機の種類,接続方式など,負荷分散機へのアクセスに必要な接続情報を仮想サーバマネージャまたは管理ユニットで定義できます。管理ユニット操作時に負荷分散機へ依頼する処理(リクエスト振り分けや閉塞など)については,「7.6 仮想サーバマネージャから負荷分散機を制御するための機能(負荷分散機連携機能)」を参照してください。
管理ユニットで負荷分散機の接続情報を定義する場合,システム構築者は,管理ユニットで管理するティアごとに,tierlb.properties(負荷分散機接続設定プロパティファイル)で接続情報を設定します。ただし,Webサーバを含まないティアに対して設定しても,その設定は無視されます。
ここでは,AX2000を設定する場合の設定例を示します。APIを使用した直接接続を使用する負荷分散機の設定例については,マニュアル「アプリケーションサーバ 機能解説 セキュリティ管理機能編」の「8.6.2 負荷分散機の接続情報を管理ユニットで定義するための設定」を参照してください。
lb.type=ACOS lb.host=192.168.2.12 lb.protocol=telnet lb.port=23 lb.user=user01 lb.password=user01pw lb.timeout=10 lb.ACOS.privilegedexec.password=adminpw
ここで設定した負荷分散機の接続情報を使用する場合は,tier.properties(ティア別プロパティファイル)のlb.useキーに「:unit:」を指定します。
- 参考
-
仮想サーバマネージャで負荷分散機の接続情報を定義する場合は,<LB接続情報の識別名>.properties(負荷分散機接続設定プロパティファイル)で設定します。詳細は,「3.1.2(10) 負荷分散機の接続情報を仮想サーバマネージャで定義するための設定」を参照してください。
(5) データベースを使用するための設定
仮想化システムで使用できるデータベースは,HiRDB,OracleまたはSQL Server(Windowsの場合)です。
データベースと接続するためには,リソースアダプタとしてDB Connectorを使用します。DB Connectorを使用する場合,データベース製品のインストールおよび初期設定が終了したあとにConnector属性ファイルのテンプレートを取得して,データベースへの接続の設定など必要な項目を編集してください。テンプレートファイルの名称は変更しないでください。データベースごとのテンプレートファイルの名称を次に示します。
-
HiRDB:DBConnector_HiRDB_Type4_CP_cfg.xml
-
Oracle:DBConnector_Oracle_CP_cfg.xml
-
SQL Server:DBConnector_SQLServer_CP_cfg.xml
なお,J2EEサーバを含まないティアに対してConnector属性ファイルを設定しても,そのファイルは無視されます。
DB Connectorでのデータベース接続については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.6.1 DB Connectorによる接続の概要」を参照してください。
(6) CCディレクトリおよびmanagerディレクトリの定義ファイルの編集
「5.2.1(7) 定義ファイルの取得」で任意のディレクトリにコピーしたファイルを編集します。
定義ファイルを編集する場合の注意事項を次に示します。
-
manager/configディレクトリの次のファイルに,Management Serverの管理ユーザアカウントを設定する場合は,vmsetup.propertiesで指定する値に合わせてください。
-
cmxclient.properties
-
mngsvrutilcl.properties
-
-
CC/admin/usrconfディレクトリ,およびmanager/configディレクトリに指定したファイルは,仮想サーバの<Application Serverのインストールディレクトリ>にないファイルでも反映されます。ただし,いったん反映したファイルは,管理ユニットの定義ディレクトリから削除してから反映しても,仮想サーバの<Application Serverのインストールディレクトリ>から削除できません。
(7) 定義ディレクトリに配置する定義ファイル群のバージョンを管理するための設定
version.properties(インタフェースバージョン定義ファイル)で,定義ディレクトリに登録するファイル群のフォーマットのバージョンを管理するための設定をします。意図しないバージョンのアプリケーションサーバが,仮想サーバ上に構築されることを防ぎます。
version.propertiesを作成する場合,テンプレートファイルを使用できます。テンプレートファイルの格納場所については,「8.1 仮想化システムの構築・運用時に使用するファイル」を参照してください。
version.propertiesの設定例を次に示します。
vm.interface.version=090000 vm.target.edition=standard
(8) 管理者の設定
必要に応じて,vmsetup.propertiesで,仮想サーバ上で動作するManagement Serverの管理ユーザアカウント,Component Container管理者,Component Container管理者グループおよびManagement Server管理グループを設定します。Component Container管理者,Component Container管理者グループおよびManagement Server管理グループの設定は,ゲストOSがLinuxの場合にだけ有効になります。ゲストOSがWindowsの場合,設定は無視されます。
vmsetup.propertiesを作成する場合,テンプレートファイルを使用できます。テンプレートファイルの格納場所については,「8.1 仮想化システムの構築・運用時に使用するファイル」を参照してください。
vmsetup.propertiesの設定例を次に示します。ここでは,Management Serverの管理ユーザアカウントを「usera」,パスワードを「userapwd」,Component Container管理者を「userb」,Component Container管理者グループとManagement Server管理グループを「groupA」とします。
setup.mng.administrator.userid=usera setup.mng.administrator.password=userapwd setup.CC.user=userb setup.CC.group=groupA setup.manager.group=groupA
管理者を設定する場合の注意事項を次に示します。
-
ゲストOSがLinuxの場合,Component Container管理者のユーザとグループ,およびManagement Server管理グループに設定するユーザおよびグループは,仮想サーバのゲストOSにあらかじめ登録されている必要があります。詳細は,「5.2.1(2) OS固有の設定(ゲストOSがLinuxの場合)」を参照してください。
-
Management Serverの管理ユーザアカウントのユーザIDおよびパスワードで指定できない文字が含まれている場合に,定義ディレクトリの取り込みを実行すると,エラーとなります。
-
manager/configディレクトリでmserver.propertiesのcom.cosminexus.mngsvr.management_user_account.enabledキーにfalseを設定して,Management Serverの管理ユーザアカウントを設定しない運用をした場合,Management Serverの管理ユーザアカウントのユーザIDおよびパスワードは設定しても無視されます。
(9) 定義ディレクトリの反映時に初期構築の仮想サーバで実行する処理(フックスクリプト)の設定
JP1連携を自動設定する場合,JP1製品(JP1/IM,JP1/PFM)の環境設定を自動化する処理を,フックスクリプトのテンプレートファイルを使用して作成します。また,必要に応じて,仮想サーバマネージャが定義ディレクトリを反映する際に初期構築の仮想サーバ上で実行する処理を,ユーザが作成したスクリプト(フックスクリプト)で設定します。
フックスクリプトのファイル名は固定で,作成できるファイルは一つです。複数の処理を設定する場合も一つのファイルで作成してください。フックスクリプトのファイル名,ファイルの記述形式および格納場所を次の表に示します。
ゲストOSの種類 |
ファイル名 |
記述形式 |
格納場所 |
---|---|---|---|
Windows |
pre-setup.bat |
バッチ形式 |
<定義ディレクトリ>\<ティア別定義ディレクトリ>\hook\ |
Linux |
pre-setup |
シェル形式 |
<定義ディレクトリ>/<ティア別定義ディレクトリ>/hook/ |
フックスクリプトを作成する場合の注意事項を次に示します。
-
フックスクリプトの実行結果の戻り値は,次のように判断されます。
-
0:成功(正常終了)
-
0以外:失敗(異常終了)
-
-
次の処理を記述すると,フックスクリプトが処理を終了しなくなります。
-
入力応答を求める処理
-
無限ループになる処理
-
詳細は,「7.7 仮想サーバの初期構築時に実行する処理を設定するための機能(フックスクリプト機能)」を参照してください。なお,JP1連携を自動設定する場合のフックスクリプトの作成方法については,「7.7.2 フックスクリプトを利用したJP1連携の自動設定」を参照してください。