プロビジョニングシステムは任意の数のコンポーネントを収容し、ユーザーが作成する任意のディレクトリ構造にそれらを配置することができます。作成可能なコンポーネントの数は、マスターサーバー上のファイルシステムによってのみ制限されます。各ファイルシステムは作成可能なファイルの数を制限します。単一のディレクトリに作成するファイルの数が多過ぎると、ファイルシステムの制限を超える可能性があります。コンポーネントとファイルの間の関係は、必ずしも同比率ではありません。たとえば、あるコンポーネントに 100,000 個のファイルが含まれる場合、そのコンポーネントはファイルシステムの制限を超えることもありますが、ファイルを含むコンポーネントがない場合、 100,000 個のコンポーネントでもファイルシステムの制限に収まることもあります。
ファイルシステムの制限を超えても、ファイルの作成時には直接エラーが生じない場合があります。ただし、問題は別の機会に、パフォーマンス劣化の深刻化や、予測不可能な障害の発生といった形で生じる可能性があります。
1 つのディレクトリがサポートできるファイルの数に対する制限はファイルシステムにより異なり、またオペレーティングシステムの構成方法の影響を受ける可能性があります。使用するファイルシステムの制限を理解し、単一の大きなディレクトリではなく小さな複数のサブディレクトリにコンポーネントを配置することで、ディレクトリの負荷超過を回避できます。コンポーネントを作成する際に使用する安全な方法としては、1 つのディレクトリに配置するファイル数を 30,000 以下にします。
コンポーネントタイプ system#directory は、ターゲットサーバーから取得されたファイルとフォルダの集まりを表します。コンポーネントタイプ system#directory には、インストール、アンインストール、およびスナップショット手続きが含まれています。
コンポーネントタイプ system#directory では次の変数を定義します。
installName – インストールしたリソースに使用する名前。デフォルト値はコンポーネント名です。
installPath – リソースをインストールするパス。デフォルト値は、コンテナコンポーネントの installPath 変数の値です。
installPermissions – インストールしたリソースに割り当てるアクセス許可。chmod(1M) のマニュアルページを参照してください。デフォルト値は空です。
installUser – このリソースをインストールしたときの所有者。デフォルト値は空です。
installGroup – このリソースをインストールしたときに割り当てるグループ。デフォルト値は空です。
installDiffDeploy – リソースを差分配備モードで配備するかどうかを指定します。デフォルト値は TRUE です。
overrideRsrcInstallPath – リソースをインストールする絶対パス。未定義の場合、installPath によって指定されたパスにインストールされます。この値は通常使用しません。installPath を使用すると、コンポーネントとリソースの両方について、インストールするパスを指定できるからです。
installDeployMode – ファイルをディレクトリに追加する (ADD_TO) か、ディレクトリのファイルを置き換える (REPLACE) かを指定します。デフォルト値は REPLACE です。
|
UNIX システム |
Microsoft Windows システム |
---|---|---|
ルートパス |
/ |
ホストまたはネットワーク上の物理ドライブリストをドライブ文字に対応づけます。リムーバブルメディアは表示されません。 |
区切り文字 |
/ |
\ |
順序付け |
ディレクトリのアルファベット順に表示 |
|
選択方式 |
チェックインするディレクトリをユーザーが選択できます。ディレクトリをダブルクリックすると、ディレクトリの内容が表示されます。 |
|
サンプルパス |
/foo/foo/ |
C:\foo\foo\ |
フィルタ |
なし |
|
特別 |
リンクは、ローカル名と指定された場所を示します。 foo/->/usr/bar/ |
|
コンポーネントタイプ system#directory には次の手続きが定義されています。
default install block – 変数の状態に基づいて包含ファイルを配備します。スナップショットは取得されません。
markOnly install block – 新しいバージョンのコンポーネントがインストールされたことを明確にします。リソースの転送もスナップショットの取得も行われません。
default uninstall block – 包含ファイルの配備を解除して、最初に配備されていた場所に戻します。
markOnly uninstall block – 現在のバージョンのコンポーネントがアンインストールされたことを明確にします。コンポーネントのリソースがターゲットホストから実際に削除されるわけではありません。
default snapshot block – 配備されたファイルのスナップショットを取得します。デフォルトインストールブロックは、デフォルトではファイルをキャプチャしないので、スナップショットが必要な場合はコンテナコンポーネントでこのルーチンを明示的に呼び出す必要があります。