2.3.3 コンポーネントテンプレートファイル

<この項の構成>
(1) 記述形式
(2) ファイル名
(3) 格納先ディレクトリ
(4) 説明
(5) 指定できる項目

(1) 記述形式

コンポーネントテンプレートファイルはXML形式で記述します。

サポートするXMLファイルの文字コードはUTF-8とします。XMLファイルにはXML宣言を記述し,XML宣言におけるencodingの値にUTF-8を指定してください。

タグは,「表2-16 コンポーネントテンプレートファイルのXMLファイル要素の文法」の順番に従って記述してください。従わない場合,エラーとなることがあります。

表2-16 コンポーネントテンプレートファイルのXMLファイル要素の文法」に示すタグの親子関係以外の位置にタグを記述した場合,エラーとせず該当タグを無視して動作する場合があるので注意してください。

(2) ファイル名

コンポーネントテンプレートファイル名は任意です。

(3) 格納先ディレクトリ

コンポーネントテンプレートファイルの格納先は任意です。

(4) 説明

構成パターンの構成要素となるホストを表現するテンプレートです。

コンポーネントテンプレートが持つ情報を次の表に示します。

表2-14 コンポーネントテンプレートファイルが持つ情報

項番項目説明
1テンプレート名テンプレートの名称を表します。ほかのテンプレートと重複しない名称を指定してください。
2テンプレートパターン
(テンプレート種別)
テンプレートの種別を表します。ここでは,コンポーネントテンプレートであることを指定します。
3識別子VirtualSystemを識別するための識別子を表します。
4要素の説明親要素の説明を表します。
5要素の名前親要素の名前を表します。
6仮想イメージテンプレート情報仮想イメージテンプレート名コンポーネントテンプレートに対応する仮想イメージテンプレートの名称を表します。この名称はJP1/ITRMに登録されている必要があります。
ユーザ名
  • Linuxの場合
    仮想イメージテンプレートのユーザ名と初期パスワードを指定します。※3,※4
  • Windowsの場合
    仮想イメージテンプレートの管理者権限ユーザ名と初期パスワードを指定します。ユーザ名には"Administrator"を指定します。
パスワード
VMのサイズVMのディスク容量を表します。この仮想イメージテンプレートからデプロイした仮想ホストに割り当てられるディスク容量を指定してください。※5
7ミドルウェアの情報ミドルウェア識別子ミドルウェアを識別するための識別子を表します。
製品名ホスト上で動作するミドルウェアの製品名を表します。
ベンダー製品のベンダーを表します。
バージョンミドルウェアのバージョン,詳細バージョンを表します。
詳細バージョン
製品のURL製品のURLを表します。
ベンダーのURLベンダーのURLを表します。
ティアこのミドルウェアの機能がどのティア(例:WEB,DBなど)に対応するか表します。この情報は,マスターイメージ作成時に構成パターン内のティアとミドルウェアをつなぎ合わせるために使用します。
PP一覧PP形名ミドルウェアに含まれるPP形名とバージョンの一覧を表します。
バージョン
ミドルウェア定義格納ディレクトリミドルウェア定義用テンプレートファイルとミドルウェア定義用パラメータファイルを格納したディレクトリのパスを表します。この値はcsdtmpregisterコマンドの-dオプションで指定するディレクトリからの相対パスです。
エラー時続行可否フラグデプロイ処理中にミドルウェアのセットアップに失敗した場合に,デプロイを継続するかどうかを表す情報です。
ロードバランサ使用有無ロードバランサを使用するかどうかを示します。ミドルウェアがCosminexusの場合に指定できます。
構成パターンテンプレートにNetwork(name=business.接続先ネットワーク名)が1つ以上指定されている場合に指定してください。
ロードバランサ業務IP識別子Cosminexus使用時に,ロードバランサが使用する業務IPを表すための情報です※1。このパラメータで指定した識別子を持つNICに割り当てたIPアドレスを,ロードバランサが使用するIPアドレスとします。
次のコンポーネントテンプレートの場合,設定してください。
  • ミドルウェア識別子が“hitachi.Cosminexus”である
  • 業務NICを2つ以上使用する※2
  • ロードバランサを使用する
構成パターンテンプレートに指定した接続先ネットワークの中で,ロードバランサが使用する接続先ネットワークに指定されている仮想ネットワークデバイス用途と同じ値を指定してください。
スクリプト情報スクリプト名ミドルウェアのセットアップに使用するスクリプト名と,スクリプトを配置したディレクトリのパスを表します。指定したディレクトリ内にはスクリプトに付属するファイルを配置することが可能です。
指定するディレクトリのパスは,csdtmpregisterコマンドの-dオプションで指定するディレクトリからの相対パスです。
マスターイメージまたはVM単位で異ならない固定のものについて記載するようにしてください。
テンプレートの登録(csdtmpregister)後,記述内容の修正(csdtmpupdate)を行いたい場合に当該テンプレートを使用しているマスターイメージが存在した場合は,使用しているすべてのマスターイメージをアンデプロイ(csdmiundeploy)させた後,削除(csdmidelete)する必要があります。
そのため,マスターイメージまたはVM単位で異なる可能性のあるものは,マスターイメージ定義ファイルのパッチ情報として記載してください。
詳細は「2.4.1 マスターイメージ定義ファイル」を参照してください。
スクリプト・ディレクトリ
8OSの設定情報OS設定ファイル格納ディレクトリOS設定ファイルテンプレートファイルとOS設定用パラメータファイルを格納したディレクトリのパスを表します。この値はcsdtmpregisterコマンドの-dオプションで指定するディレクトリからの相対パスです。
hostsテンプレート使用有無hostsファイルのテンプレートを使用するかどうかを示します。使用する場合はcsdtmpregisterコマンドの-dオプションで指定するディレクトリ直下に名称”hosts_template”で作成します。
9OS情報OS種別仮想イメージテンプレートが表すホストのOSの種類とバージョンを示します。
OSバージョン
10ハイパーバイザ種別仮想イメージテンプレートで表すホストが動作するハイパーバイザ種別を表します。
11CPUの情報CPUクロック仮想イメージテンプレートが表すホストのCPUクロックとコア数のデフォルト値,最大値,最小値を表します。サイジングによって,指定範囲内でデフォルト値から変更できます。
CPUコア数
インスタンスIDテンプレート内で,CPUを表すハードウェアを識別する値です。
12メモリの情報メモリサイズ仮想イメージテンプレートが表すホストのメモリ容量のデフォルト値,最大値,最小値。サイジングによって,指定範囲内でデフォルト値から変更できます。
インスタンスIDテンプレート内で,メモリを表すハードウェアを識別する値です。
13NICの情報NICのネットワーク名JP1/ITRMの仮想イメージテンプレートが保持するネットワーク名を表します。ハイパーバイザ種別によって次の情報となります。
  • VMwareの場合:
    仮想イメージテンプレートが保持するネットワーク名
  • HVMの場合:
    仮想イメージテンプレートが保持するNIC番号
インスタンスIDテンプレート内で,NICを表すハードウェアを識別する値です。NICが複数ある場合には,それぞれ別の値となります。
14FC-HBA情報PCIデバイス識別情報仮想イメージテンプレートが保持するPCIデバイス識別情報です。
インスタンスIDテンプレート内でFC-HBAを表すハードウェアを識別する値です。FC-HBA情報が複数ある場合には,それぞれ別の値となります。
FC-HBA種別仮想ホストに設定するFC-HBA種別です。
注※1
Cosminexusの仮想サーバグループ情報ファイルの属性名:serviceipに使用されます。
注※2
業務NICが1つの場合は指定不要です(指定することもできます)。この業務NICに割り当てたIPアドレスが,ロードバランサが使用するIPアドレスになります。
注※3
仮想イメージテンプレートが表すホストのOSがLinuxの場合,uCSDはcsdmideployコマンド,またはcsdmiupdateコマンド実行時に,仮想イメージテンプレートが表すホストに対し,コンポーネントテンプレートに指定したroot権限ユーザでSSH接続を実行します。SSH接続を許可するユーザを制限したい場合は,あらかじめ仮想イメージテンプレートの基になるホストに対し,次の設定を実行しておくことで制限できます。

対象ファイル設定項目設定値設定内容
/etc/ssh/sshd_configAllowUsersログインを許可したいユーザ名指定されたユーザだけログインを許可します。
注※4
一般ユーザを指定した場合はhosts転送機能でエラーとなります。
注※5
指定したディスク容量は物理容量定義ファイルに指定したデータストアまたはストレージの残量管理にだけ使用します。デプロイする仮想ホストのディスク容量は変更できません。

コンポーネントテンプレートは,ミドルウェア定義用・OS設定用テンプレートファイル,ミドルウェア定義用・OS設定用パラメータファイル,ミドルウェアのセットアップスクリプト,およびhostsテンプレートを持ちます。これらのファイルはPaaS提供者が任意のディレクトリ内に作成して,テンプレート登録コマンドにそのディレクトリを指定することで,uCSDに登録されます。

(5) 指定できる項目

表2-15 コンポーネントテンプレートファイルのパラメータ指定方式」にテンプレート内の可変値のパラメータ指定方式を表し,「表2-16 コンポーネントテンプレートファイルのXMLファイル要素の文法」にXMLファイルの要素ごとの文法を示します。

表2-15 コンポーネントテンプレートファイルのパラメータ指定方式

項番項目形式
1テンプレート名英数字記号
1~32文字
2識別子英数字と_
1~32文字
3仮想イメージテンプレート名文字列(日本語可)
1~255文字
4root権限ユーザ名文字列(使用できる文字はJP1/ITRMのマニュアル参照)
1~255文字
5パスワード文字列(使用できる文字はJP1/ITRMのマニュアル参照)
1~255文字
6VMのサイズ1~2147483647​の整数
単位は[MB]とします。
7要素の説明文字列(日本語可)
1~255文字
8要素の名前文字列(日本語可)
1~255文字
9ミドルウェア識別子Cosminexus,HiRDB,またはJP1の場合,次の値です。
  • hitachi.Cosminexus
  • hitachi.HiRDB
  • optional.PFM_AgentforCosminexus
  • optional.PFM_AgentforHirdb
  • optional.Jp1Base
その他の場合,次の形式で指定します(optional.を含めて10~32文字の文字列)。
  • optional.任意の製品名
  • 任意の製品名:英数字と_.#-@()から成る文字列
10製品名
ベンダー
英数字と_.#-@()
1~255文字
11バージョン
詳細バージョン
英数字と_.#-@()
1~32文字
12製品のURL
ベンダーのURL
URLに使用できる文字(uCSDでは使用しないためチェックはしない)
1~255文字
13ティア英数字と_
1~32文字
14PP形名英数字と_.#-@()
1~32文字
15ミドルウェア定義格納ディレクトリ相対パス名
ただし半角空白は指定できません。
csdtmpregisterもしくはcsdtmpupdateコマンドの-dオプションに指定したディレクトリからの相対パスを指定します。
定義に指定した定義格納ディレクトリのパス長と,ディレクトリ内に格納したファイルのパス(定義格納ディレクトリからの相対パス)の最大長を足した値が160文字以内に収まる長さ。
16エラー時続行可否フラグtrueまたはfalse
17ロードバランサ使用有無trueまたはfalse
構成パターンテンプレートにNetwork(name=business.接続先ネットワーク名)を指定していない場合は,trueを指定できません。
18hostsテンプレート使用有無trueまたはfalse
19OS設定ファイル格納ディレクトリ相対パス名
ただし,半角空白は指定できません。csdtmpregisterもしくはcsdtmpupdateコマンドの-dオプションに指定したディレクトリからの相対パスを指定します。
定義に指定したOS設定ファイル格納ディレクトリのパス長と,ディレクトリ内に格納したファイルのパス(OS設定ファイル格納ディレクトリからの相対パス)の最大長を足した値が160文字以内に収まる長さ。
20スクリプト名相対パス名
ただし,半角空白は指定できません。1~160文字
スクリプト・ディレクトリからの相対パスでセットアップスクリプトを指定します。
21スクリプト・ディレクトリ相対パス名
ただし,半角空白は指定できません。csdtmpregisterもしくはcsdtmpupdateコマンドの-dオプションに指定したディレクトリからの相対パスを指定します。
定義に指定したスクリプト・ディレクトリのパス長と,ディレクトリ内に格納したファイルのパス(スクリプト・ディレクトリからの相対パス)の最大長を足した値が160文字以内に収まる長さ。
22OS種別RedHat Enterprise Linuxの場合:79
RedHat Enterprise Linux 64-Bitの場合:80
Microsoft Windows Server 2008 R2の場合:103
23インスタンスID0~65535の整数
ハードウェア(CPU,メモリ,NIC(複数あり),FC-HBA(複数あり))ごとに異なる値を指定します。
24ハイパーバイザ種別VMwareの場合:VMware
HVMの場合:HVM
25CPUクロック10~999990の整数
単位は[MHz]とします。
26CPUコア数1~4096の整数
27メモリサイズ256~1022976​の整数
単位は[MB]とします。
ハイパーバイザ種別によって,次のように指定します。
VMwareの場合:ギガバイトに変換後,小数点3位以下を切り捨てます。
HVMの場合:0.25ギガバイト単位で計算し,端数は切り捨てます。
28NICのネットワーク名英数字と_ (スペース)
1~255文字
JP1/ITRMの仮想イメージテンプレートが保持するネットワーク名を記載します。ハイパーバイザ種別によって,次の値となります。
VMwareの場合:仮想イメージテンプレートが保持するネットワーク名
HVMの場合:仮想イメージテンプレートが保持するNIC番号
29PCIデバイス識別情報[xx:xx:xx] xx:0または00~ff(16進数2桁)
(例)[5:4:0]または[05:04:00]
仮想イメージテンプレートが保持するPCIデバイス識別情報を指定します。ハイパーバイザ種別がHVMの場合だけ指定可能です。HVM以外の場合に指定すると,エラーになります。
30FC-HBA種別仮想ホストに設定するFC-HBA種別として,次のどれかを指定します。
B:ブート用のFC-HBAとして設定
Y:ブート用以外で有効なFC-HBAとして設定
N:無効なFC-HBAとして設定
ブート用のFC-HBA(B)は必ず1つ設定してください。
ハイパーバイザ種別がHVMの場合だけ指定可能です。HVM以外の場合に指定すると,エラーになります。
31ロードバランサ業務IP識別子文字列
1~255バイト
構成パターンテンプレートに記載した用途のうち,ロードバランサが使用する業務IPを表すための情報を指定します。
ロードバランサ使用有無でtrueを指定した場合だけ指定できます。

表2-16 コンポーネントテンプレートファイルのXMLファイル要素の文法

項番タグ名属性出現回数説明
1Envelope1ルート要素を表します。
2xmlns1"http://schemas.dmtf.org/ovf/envelope/1"を指定してください。
3xmlns:ovf1"http://schemas.dmtf.org/ovf/envelope/1"を指定してください。
4xmlns:vssd1"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"を指定してください。
5xmlns:rasd1"http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" を指定してください。
6xmlns:csd "http://www.hitachi.co.jp/soft/csd"を指定してください。
7csd:type1componentを指定。
コンポーネントテンプレートであることを表します。
8csd:name1テンプレート名
表2-20の項番18で設定した値と同じ値を設定してください。
9 References1空要素として指定
10VirtualSystem1VMの情報を定義します。
11ovf:id1任意の識別子を指定します。必須ですが,uCSDではコメントとして扱われます。
12 Info1テキストノードに親要素の説明(コメント)を記述します。
13Name0-1テキストノードに要素の名前(コメント)を指定します。
14ProductSection(ref.ImageTemplate)1仮想イメージテンプレートを指定します。
15ovf:class1ref.ImageTemplateを指定します。
16 Info1テキストノードに親要素の説明(コメント)を記述します。
17Property(key=name)1
18ovf:key1nameを指定します。
JP1/ITRMに登録した仮想イメージテンプレート名であることを表します。
19ovf:type1string
20ovf:value1JP1/ITRMに登録した仮想イメージテンプレート名を指定します。
21Property(key=user)1
22ovf:key1userを指定します。
root権限ユーザ名であることを表します。
23ovf:type1string
24ovf:value1root権限ユーザ名を指定します。
25Property(key=password)1
26ovf:key1passwordを指定します。
初期パスワードであることを表します。
27ovf:type1string
28ovf:value1仮想イメージテンプレートのrootユーザの初期パスワードと同じものを指定します。
29Property(key=vmsize)1
30ovf:key1vmsizeを指定します。
VMのディスクサイズであることを表します。
31ovf:type1uint32
32ovf:value1VMのディスクサイズを指定します。
33ProductSection(pp.ミドルウェア識別子)1-5
34ovf:class1pp.ミドルウェア識別子を指定します。親要素VirtualSystem内で重複してはいけません。
表2-20の項番20で設定した値と同じ値を設定してください。
35 Info1テキストノードに親要素の説明(コメント)を記述します。
36Product0-1テキストノードに製品名を記述します。
37Vendor0-1テキストノードにベンダーを記述します。
38Version0-1テキストノードにバージョンを記述します。
39FullVersion0-1テキストノードに詳細なバージョンを記述します。
40ProductUrl0-1テキストノードに製品のURLを記述します。
41VendorUrl0-1テキストノードにベンダーのURLを記述します。
42Property(key=tier)1親の親要素VirtualSystem内でvalueの値が重複してはいけません。
43ovf:key1tierを指定します。
44ovf:type1string
45ovf:value1ミドルウェアの機能がどのティアに対応するかを表します。親の親要素VirtualSystem内で重複してはいけません。
表2-13の項番34で設定した値と同じ値を設定してください。
46Property(key=ppname.PP形名)0-5
47ovf:key1ppname.PP形名を指定します。
48ovf:type1string
49ovf:value1PP形名に対応するミドルウェアのバージョンを指定します。
50Property(key=dirname)0-1
51ovf:key1dirnameを指定します。
52ovf:type1string
53ovf:value1ミドルウェア定義格納ディレクトリを指定します(csdtmpregisterコマンドの-dオプションで指定したディレクトリからの相対パスで指定します)。
54Property(key=errorProcess)0-1
55ovf:key1errorProcessを指定します。
56ovf:type1boolean
57ovf:value1ミドルウェアのセットアップ失敗時にデプロイを継続するかどうかを指定します。trueの場合に継続します。省略時はfalseとなります。
58Property(key=LoadBalancer)0-1
59ovf:key1LoadBalancerを指定します。
60ovf:type1boolean
61ovf:value1ロードバランサ使用有無を指定します。trueの場合,ロードバランサを使用します。省略時は,falseとなります。
62Property(key=script.スクリプト名)0-1
63ovf:key1script.スクリプト名を指定します。
64ovf:type1string
65ovf:value1セットアップ用の格納ディレクトリを指定します。
66Property(key=LoadBalancerServiceIpId)0-1
67ovf:key1LoadBalancerServiceIpIdを指定します。
68ovf:type1string
69ovf:value1ミドルウェアが使用するロードバランサ業務IP識別子を指定します。
70  ProductSection(os)0-1
71ovf:class1osを指定します。
72 Info1テキストノードに親要素の説明(コメント)を記述します。
73Property(key=dirname)1
74ovf:key1dirnameを指定します。
75ovf:type1string
76ovf:value1OS設定ファイル格納ディレクトリを指定します。
77Property(key=hosts)0-1
78ovf:key1hostsを指定します。
79ovf:type1boolean
80ovf:value1hostsテンプレートを使用するかどうかを指定します。trueの場合にhostsテンプレートを使用します。省略時はfalseとなります。
81OperatingSystemSection1
82ovf:id1OS種別を指定します。
83ovf:version1OSバージョンを指定します。
84 Info1テキストノードに親要素の説明(コメント)を記述します。
85Description0-1テキストノードに親要素の説明(コメント)を記述します。
86VirtualHardwareSection1
87 Info1テキストノードに親要素の説明(コメント)を記述します。
88System1
89 vssd:Description0-1テキストノードに要素の説明(コメント)を記述します。
90vssd:ElementName1テキストノードに要素の名称(コメント)を指定します。
91vssd:InstanceID1テキストノードにインスタンスIDを指定します。
親の親要素VirtualHardwareSection内で重複してはいけません。
92vssd:VirtualSystemType1テキストノードにハイパーバイザ種別を指定します。
93Item(CPU)1
94ovf:bound0-1defaultを指定します。
本属性の指定を省略した場合,defaultとなります。
95 rasd:AllocationUnits1テキストノードに"hertz * 10^6"を指定します。
96rasd:Description0-1テキストノードに要素の説明(コメント)を記述します。
97rasd:ElementName1テキストノードに要素の名称を指定します。
98rasd:InstanceID1テキストノードにインスタンスIDを指定してください。親の親要素VitualHardwareSection内で重複してはいけません。
99rasd:ResourceType1テキストノードに3を指定します。
100rasd:VirtualQuantity1テキストノードにCPUコア数を指定します。
101csd:CpuClock1CPUクロック[MHz]を指定します。
102Item(CPU)1
103ovf:bound1maxを指定します。
最大値であることを表します。
104 子要素については,defaultと同様
105Item(CPU)1
106ovf:bound1minを指定します。
最小値であることを表します。
107 子要素については,defaultと同様
108Item(メモリ)1
109ovf:bound0-1defaultを指定します。
本属性の指定を省略した場合,defaultとなります。
110 rasd:AllocationUnits1テキストノードに”byte*2^20”を指定します。
111rasd:Description0-1
112rasd:ElementName1テキストノードに要素の名前(コメント)を指定します。
113rasd:InstanceID1テキストノードにインスタンスIDを指定します。親の親要素VitualHardwareSection内で重複してはいけません。
114rasd:ResourceType1テキストノードに4を指定します。
115rasd:VirtualQuantity1テキストノードにメモリサイズ[MB]を指定します。
116Item(メモリ)1
117ovf:bound1maxを指定します。
最大値であることを,表します。
118 子要素については,defaultと同様
119Item(メモリ)1
120ovf:bound1minを指定します。
最小値であることを,表します。
121 子要素については,defaultと同様
122Item(NIC)VMware:
0-10※1
HVM:
0-16※2
仮想イメージテンプレートのNICの構成と同じ数だけ指定します。指定しなかったNICに対しては,csdmireserveコマンドによるリソースの割り当てがされません。
123 rasd:Description0-1テキストノードに要素の説明(コメント)を記述します。
124rasd:ElementName1テキストノードにNICのネットワーク名を指定します。親の親要素VirtualHardwareSection内で重複してはいけません。
125rasd:InstanceID1テキストノードにインスタンスIDを指定してください。親の親要素VitualHardwareSection内で重複してはいけません。
126rasd:ResourceType1テキストノードに10を指定します。
127Item(FC-HBA)0以上仮想イメージテンプレートが保持するPCIデバイス識別情報を指定します。
ハイパーバイザ種別がHVMの場合に指定できます。
ブート用のFC-HBA(B)を指定する場合は必ず1つだけ指定しなければなりません。
128 rasd:Address1テキストノードに仮想イメージテンプレートが保持するPCIデバイス識別情報を指定します。
親の親要素
VirtualHardwareSection内で重複してはいけません。
129rasd:Description0-1テキストノードに要素の説明(コメント)を記述します。
130rasd:ElementName1テキストノードに”FC-HBA”を指定します。
131rasd:InstanceID1テキストノードにインスタンスIDを指定します。
親の親要素VirtualHardwareSection内で重複してはいけません。
132rasd:ResourceSubType1FC-HBA種別を表します。
133rasd:ResourceType1テキストノードに7を指定します。

構成パターンテンプレートのNetwork要素の定義数は,コンポーネントテンプレートのItem(NIC)に指定した数以下とする必要があります。Item(NIC)よりも多く接続先ネットワーク名を指定した場合は,csdmiregisterコマンド実行時にエラー(KFUD23127-E)となります。

コンポーネントテンプレートのItem(NIC)に指定した数より少ない場合,差分のItem(NIC)は未使用として扱います。

注※1 VMwareの制限値です。上限値はプログラムでチェックしません。
注※2 HVMの制限値です。上限値はプログラムでチェックしません。