6. 設定ファイルの詳細な解説(PVSregister サーバ側)¶
6.1. PVSregisterServer.exe.config の設定¶
PVSregister サーバーがサービスとして動作する際の設定内容を記載するファイルです。 なお、このファイルを変更したときには、PVSregister サーバー サービスの再起動が必要となります。
以下にPVSregisterServer.exe.config ファイルの例を示します。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<appender name="LogFileAppender"
type="log4net.Appender.RollingFileAppender" >
<param name="File" value="..\log\PVSregisterServer.log" />
<param name="MaxSizeRollBackups" value="5" />
<param name="RollingStyle" value="Size" />
<param name="AppendToFile" value="true" />
<param name="MaximumFileSize" value="100KB" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="LogFileAppender" />
</root>
</log4net>
<appSettings>
<!-- PVS への登録を行うスクリプト-->
<add key="command1"
value="powershell -command C:\ProgramData\CO-CONV\PVSregister\scripts\regist\pvs\pvs.ps1"/>
<!-- DHCP への登録を行うスクリプト-->
<add key="command2"
value="powershell -command C:\ProgramData\CO-CONV\PVSregister\scripts\regist\dhcp\dhcp.ps1"/>
<!-- SSH を起動してDHCP への登録などを行うスクリプト-->
<!--<add key="command3"
value="powershell -command C:\PVSregister\server\scripts\regist\dhcp\dhcp_ssh.ps1"/>-->
<add key="hostinfoCommand"
value="powershell -command C:\PVSregister\server\scripts\hostinfo\hostinfo.ps1"/>
<add key="listenPort" value="65432"/>
<add key="timeout" value="60"/>
<add key="pvsRegisterVersion" value="2011010600" />
</appSettings>
</configuration>
6.1.1. サーバーの動作に関する設定(appSettings 要素)¶
設定ファイル内の <appSettings> の項目を用いて設定します。各項目の意味は以下の通りです。
key の値 | 説明 |
---|---|
command1
command2
command3
command4
|
PVS/DHCP 登録のリクエストを受けた際に実行されるコマンドを示します。
※
command1 , command2 ・・・の実行順序は数字の順ではなく、上に書いてあるものから順に実行されます。また、更に実行す
るコマンドを追加したい場合は、
command3 , command4 のように
command[数字] の key で add 要素を追加することができます。この際も実行順序は数字の順ではなく上から順番であるこ
とに注意してください。
|
hostinfoCommand | 端末から「端末構成情報ファイル」の要求を受けた際に、端
末構成情報の選択のために実行されるコマンドを指定しま
す。PVSregister を C ドライブに導入した場合は、通常は変更する
必要がありません。ディスク/PVS 設定のリクエストを受けた
際に実行されるコマンドです。デフォルトだと hostinfo.ps1
の実行ですが、インストール先の環境にパスを合わせること
に注意してください。
|
listenPort | PVSregister サーバーが端末から端末情報の記された XML フ
ァイルを送受信するためのポート番号を書く。デフォルトだと
65432 。 |
Timeout | サービスから外部コマンドを叩く場合にどのくらいタイムアウ
トを待つか(秒)。デフォルトだと
60 。 |
deleteTempFile | 端末側から受信した情報を保存した一時ファイルを削除す
るかどうか。(
1 ・・削除する、0 ・・削除しない) |
6.1.2. ログの取得に関する設定(log4net 要素)¶
設定ファイル内の <log4net>
の項目を用いて設定します。基本的には変更する必要はありません。各項目の意味は以下の通りです。
name の値 | 説明 |
---|---|
File | ログのファイル名。デフォルトでは server フォルダと同じ階層の log
フォルダに PVSregisterServer.log という名前で作成されます。
|
MaxSizeRollBackups | ログファイルを分割した場合にログファイルを何個まで保持する
か。デフォルトだと
5 。 |
RollingStyle | 何を基準に分割するか。デフォルトだとログファイルのサイズ。 |
MaximumFileSize | ファイルサイズで分割する場合にどのサイズ以上になったら分割
するか。デフォルトだと
100KB |
上記の項目の記述方法の詳細については、log4net のマニュアルなどを参照してください。
ただし、上記に記載されていない項目については変更しないでください
6.2. HostInfoSelection.txt の設定¶
端末からの登録要求が来たときに、その端末をどの「端末構成情報ファイル」に基づいて構成するかを選択するためのルールを記述するファイルです。
この HostInfoSelection.txt ファイルの内容により選択される端末構成情報ファイルには、「どのようなパーティション構成でHDD をフォーマットするか、どの PVS に登録するべきか」といった内容が記載されています。
HostInfoSelection.txt は空行区切りで、
{マッチさせるタイプ}: {マッチさせる文字列}
file: {適用する端末構成情報ファイルの名前}
の形式でルールが繰り返し記載されます(空行を含めた 3 行ずつの繰り返し)。
また、ファイル中の "#" で始まる行はコメントとして扱われます。
「マッチさせるタイプ」には host
, dhcp
, ip
のいずれかを指定できます。
host:
ユーザが入力したホスト名。大文字小文字は区別されません。
dhcp:
端末起動時に利用した DHCP サーバの IP アドレス。DHCPrelay を利用している場合でも Relay サーバではなく DHCP サーバの IP アドレスとなります。
ip:
端末起動時に DHCP サーバから割り当てられた IP アドレス。
「マッチさせる文字列」には、「正規表現」か「完全一致の名前」を記述できます。正規表現を使う場合はスラッシュで囲んでください。そうでない場合は完全一致での比較になります。タイプが Host
の場合には、比較は Case insensitive(大文字と小文字を同一視する)で比較されます。
「適用する端末構成情報ファイルの名前」には、「端末構成情報ファイル」のファイル名を記載してください。パス名を含むことはできません。選択される端末構成情報ファイルは C:\ProgramData\CO-CONV\PVSregister\HostInfo の下に置いてください。
HostSelection.txt には上記のフォーマットで複数のルールを記述することができますが、ファイルの先頭に近いルールから順に比較され、より上に書かれたルールが優先されます。どのルールにもマッチしなかった場合は default.xml が選択されたものとみなされます。ただし、下の例のように、
default:
file: {デフォルト設定とする端末構成情報ファイルのファイル名}
のような形式で明示的な指定があれば、別のファイル名をデフォルト値として指定することもできます。
6.2.1. HostInfoSelection.txt の設定例¶
# クライアントのホスト名がPC123 に完全一致したらfoo.xml を返す
HOST: PC123
file: foo.xml
# クライアントのホスト名が/^pc\d$/ の正規表現(Case Insensitive)
# にマッチしたらbar.xml を返す(ex. pc1, PC3)
HOST: /^pc\d$/
file: bar.xml
# DHCP サーバーのIP アドレスが/^192\./ の正規表現にマッチしたら
# buz.xml を返す(ex. 192.168.1.1)
DHCP: /^192\./
file: buz.xml
# クライアントのIP アドレスが192.168.80 のセグメントで、末尾(第4 オクテット)が奇数の場合には
# hoge.xml を返す(ex 192.168.80.111)
IP: /^192\.168\.80\.\d*[13579]$/
file: hoge.xml
# 上のどの設定にもマッチしなかった場合に適用するファイルを指定
default:
file: nomatch.xml
6.3. servers.txt の設定¶
複数の DHCP サーバが存在する場合、特定の DHCP サーバーに登録する際に一緒に登録したいサーバーの組を指定する設定ファイルです。
サーバの組を改行区切りで、サーバの IP アドレスをカンマ区切りで書いてください。
複数マッチする場合は上に書かれている設定が優先されます
また、ファイル中の "#" で始まる行はコメントとして扱われます。
6.3.1. servers.txt の設定例¶
192.168.1.1, 192.168.1.10, 192.168.1.100
192.168.1.2, 192.168.1.3, 192.168.1.4
192.168.80.150,192.168.80.151,192.168.80.152,192.168.80.153
6.4. 端末構成情報ファイルの設定¶
端末構成情報ファイルは、「どのようなパーティション構成で HDD をフォーマットしどの PVS に登録するべきか」といった内容が記載されるファイルです。 C:\ProgramData\CO-CONV\PVSregister\HostInfo に XML 形式のファイルで置きます。
このファイルは端末からの要求をうけて HostSelection.txt の記述に基づいて選択され、選択されたファイルが端末側に返送されます。
また、このファイルは端末からの「DHCP 登録要求」「PVS 登録要求」の際にも各スクリプトに渡され、登録処理に利用されます。
以下に、端末構成情報ファイルの例(default.xml)の一部を示します。
<Configuration>
<Disk device="/dev/sda">
<PartitionExt></PartitionExt>
<NTSignature>0x1234ABCD</NTSignature>
<PrimaryPartition1 fs="NTFS" size="20480"/>
<PrimaryPartition2 fs="FAT32" size="10480"/>
</Disk>
<PVSServer>
<IPAddress>192.168.95.1</IPAddress>
<Port>54321</Port>
<SiteName>サイト</SiteName>
<CollectionName>コレクション</CollectionName>
<CopyTemplate>1</CopyTemplate>
<ForceAdd>1</ForceAdd>
</PVSServer>
</Configuration>
6.4.1. ディスクのパーティション構成に関する設定(Disk 要素)¶
default.xml を参考に XML 形式でディスク設定と PVS サーバーの設定を記述してください。また、その際ファイルを保存する文字コードと XML で指定している charset が合っているか気をつけてください。Disk 要素は任意の個数を記述することができます。パーティション構成を変更しない場合は省略することができます。
要素名 | 説明 |
---|---|
Disk | 要素端末にセットされているディスクの数だけ
<Configuration> 要素の子要素として挿入します。
デバイス名は、通常 SCSI ディスクの場合には
/dev/sda 、IDEディスクの場合には
/dev/hda を指定します。複数台のディスクが接続されている場合には、複数の Disk 要素を
作成し、それぞれのデバイス名に
/dev/sdb , /dev/sdc … と指定することになります。
|
PartitionExt | 要素デバイス名からパーティション名を作成する際、パーティション番号
の数字の手前に追加すべき文字列を指定します。
例えば、NVMe デバイスの場合には、デバイス名が
/dev/nvme0n1 、パーティション名が /dev/nvme0n1p1 といった
パスとなりますが、この場合には
<PartitionExt>p</PartitionExt> と指定します。 |
NTSignature | 要素NT シグネチャ(4 バイト)を指定します。
CD,AB,34,12 ないしは 0xCD, AB, 34, 0x12 のように記述します。コンマ区切りで 4 バイトを指定してください。各項目は
0x の有無にかかわらず 16 進数として解釈されます。
0x1234ABCD のように 32bit を一括して指定するとMBR に対してmbr[440] = 0xCD;
mbr[441] = 0xAB;
mbr[442] = 0x34;
mbr[443] = 0x12;
のような順序で書き込まれます。
|
PrimaryPartition | 要素この要素で指定された構成でディスクのパーティションが作成され
ます。PrimaryPartition1, PrimaryPartition2 … のように最大 4 つま
で指定できます。
各 Partition には
size と fs の属性があります。size : パーティションのサイズを MB 単位で指定します。最後に作成するパーティションについては、
size=”*” と指定すると、未指定領域の全てが割り当てられます。例えば 150GB のディスクに対し
て、
PrimaryPartition1 を size=”102400” として、PrimaryPartition2 をsize=”*” として作成した場合、100GB のパーティションと残り 50GBのパーティションが作成されます。
"fs": パーティションの種類を指定します。次のうちのいずれかの
文字列を選択するか、パーティション ID を
fs=”0xF6” のように 16 進数で直接指定してください。パーティションID を16 進数で指定した
場合はフォーマット処理は実行されません。
対応するファイルシステム:
FAT32 , NTFS , EXT3 , EXT4 ,SWAP , EFI , MSR , RC (ReadCache 用、キャッシュパーティション) |
6.4.2. PVS への登録処理に関する設定(PVSServer 要素)¶
PVS 登録処理に関する設定を記述します。
PVS への端末の登録処理では、PVS 上に「端末側から渡されたホスト名とMAC アドレスの対」を登録します。登録しようとするホスト名がすでに登録済みであった場合には、そのホストの MAC アドレスを変更します。
PVSServer
要素は任意の個数を記述することができます。PVS サーバへの端末登録を行わない場合は PVSServer
要素を省略することができます。なお、PVSServer 要素が省略されている場合でも、サーバ側でのコマンドの実行(DHCP サーバへの登録など)は行われます。
要素名 | 説明 |
---|---|
IPAddress | PVS サーバーの IP アドレスを設定します |
Port | PVS サーバーに SOAP リクエストを行う場合のポートを設定します。 |
SiteName | PVS サーバーに端末を登録する際の登録先のサイト名を記述します。 |
CollectionName | PVS サーバーに端末を登録する際のコレクション名を記述します。
SiteName で指定したサイトに属するコレクションである必要があります。 |
CopyTemplate | 上記コレクションにおいて、テンプレート指定された端末から、
ホスト名、MAC アドレス以外の設定項目をコピーするかを設定します。
コピーする場合は
1 、しない場合は 0 を入れます。テンプレート指定が設定されていないときには何もしません。
|
ForceAdd | PVS サーバに端末を登録しようとした際に、すでに同じ MAC アドレスを
持つ端末が PVS 上に登録されていた場合の挙動について指定します。
0 が指定された際には、エラーとして終了します。1 が指定されていた際には、既存の同じ MAC をもつ端末を削除した上で新規に登録をします。
|
6.4.3. クライアント終了時のデフォルト動作(DefaultActionOnFinish 要素)¶
クライアント終了時のアクション選択画面において、デフォルトでフォーカスされる項目を選択します。
DefaultActionOnFinish 要素は最大 1 つ記述することができます。省略時は Shutdown
を指定したものと解釈されます。
要素名 | 説明 |
---|---|
DefaultActionOnFinish | クライアント終了時のデフォルト動作を以下のいずれかから指定します。
・
Shutdown ”…シャットダウンします。DefaultActionOnFinish 要素省略時のデフォルト値です。
・
Reboot …再起動します。・
Nop … シャットダウンや再起動を行わず、X Window System のデスクトップ画面に戻ります。OS ごとの再起動を行わずに
PVSregister ウィザード画面を再実行したい可能性がある場合に
選択します。
|