Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

2.5. ファイルシステムパス

JBoss EAP 6 は、ファイルシステムパスに論理名を使用します。domain.xmlhost.xml、および standalone.xml 設定ファイルには、パスを宣言するセクションが含まれます。
各ファイルの他のセクションは論理名を使用してパスを参照できます。そのため、各インスタンスに絶対パスを使用する必要がなく、特定のホスト設定が汎用論理名に解決できます。
たとえば、デフォルトの logging サブシステム設定は jboss.server.log.dir をサーバーの ログ ディレクトリーの論理名として宣言します。

例2.16 ロギングディレクトリーの相対パス例

<file relative-to="jboss.server.log.dir" path="server.log"/>
JBoss EAP 6 では、複数の標準的なパスが自動的に提供されるため、ユーザーが設定ファイルでこれらのパスを設定する必要はありません。

表2.4 標準的なパス

Value 説明
java.ext.dirs Java Development Kit 拡張ディレクトリーパス。
jboss.home.dir JBoss EAP 6 ディストリビューションのルートディレクトリー。
user.home ユーザーのホームディレクトリー。
user.dir ユーザーのカレントワーキングディレクトリー。
java.home Java インストールディレクトリー。
jboss.server.base.dir 各サーバーインスタンスのルートディレクトリー。
jboss.server.data.dir サーバーが永続データファイルストレージに使用するディレクトリー。
jboss.server.config.dir サーバー設定が含まれるディレクトリー。
jboss.server.log.dir サーバーがファイルストレージに使用するディレクトリー。
jboss.server.temp.dir サーバーが一時ファイルストレージに使用するディレクトリー。
jboss.server.deploy.dir サーバーがデプロイされたコンテンツの格納に使用するディレクトリー。
jboss.controller.temp.dir ホストコントローラーが一時的なファイルストレージとして使用するディレクトリー。
jboss.domain.base.dir ドメインコンテンツのベースディレクトリー。
jboss.domain.config.dir ドメイン設定が含まれるディレクトリー。
jboss.domain.data.dir ドメインが永続データファイルの格納に使用するディレクトリー。
jboss.domain.log.dir ドメインが永続ログファイルの格納に使用するディレクトリー。
jboss.domain.temp.dir ドメインが一時ファイルの格納に使用するディレクトリー。
jboss.domain.deployment.dir ドメインがデプロイ済みコンテンツの格納に使用するディレクトリー。
jboss.domain.servers.dir ドメインが管理対象ドメインインスタンスの出力を格納するために使用するディレクトリー。

パスのオーバーライド

スタンドアロンサーバーを実行している場合は、2 つの方法のいずれかですべての jboss.server.* パスを上書きできます。

  • サーバーの起動時にコマンドライン引数を渡すことができます。以下に例を示します。
    bin/standalone.sh -Djboss.server.log.dir=/var/log
  • サーバー設定ファイルで JAVA_OPTS 変数を変更できます。EAP_HOME/bin/standalone.conf ファイルを開き、ファイルの最後に以下の行を追加します。
    JAVA_OPTS="$JAVA_OPTS -Djboss.server.log.dir=/var/log"
パスのオーバーライドは、管理対象ドメインで実行しているサーバーでサポートされます。たとえば、jboss.domain.servers.dir を使用して管理対象ドメインのサーバーのベースディレクトリーを変更できます。

カスタムパスの追加

また、独自のカスタムパスを作成することもできます。たとえば、ロギングに使用する相対パスを定義できます。次に、ログハンドラーを変更して my.relative.path を使用することができます。

例2.17 カスタムロギングパス

my.relative.path=/var/log

2.5.1. ディレクトリーのグループ化

ドメインモードでは、各サーバーのファイルは EAP_HOME/domain/ ディレクトリーに保存されます。サブディレクトリーの名前は、server または file タイプのいずれかで directory-grouping 属性に従って付けられます。

サーバーを基にしたディレクトリーのグループ化

デフォルトのディレクトリーグルーピング はサーバー です。管理作業がサーバー中心である場合はこの設定が推奨されます。たとえば、サーバーインスタンスごとにバックアップやログファイルの処理を設定することができます。

例2.18 サーバーを基にしたディレクトリーのグループ化

Zip メソッドを使用して JBoss EAP がインストールされ、すべてのデフォルトオプションが適用されると、ドメインモードのディレクトリー構造は以下のようになります。
EAP_HOME/domain
             └─ servers
                  ├── server-one
                  │   ├── data
                  │   ├── tmp
                  │   └── log
                  └── server-two
                      ├── data
                      ├── tmp
                      └── log
directory-grouping 属性をデフォルトから変更し、リセットする場合は、以下の管理 CLI コマンドを入力します。
/host=master:write-attribute(name="directory-grouping",value="by-server")
これにより、コントローラーの host.xml 設定ファイルが更新されます。
<servers directory-grouping="by-server">
  <server name="server-one" group="main-server-group" >
  </server>
  <server name="server-two" group="main-server-group" auto-start="true">
  </server>
</servers>

タイプを基にしたディレクトリーのグループ化

各サーバーのディレクトリーをサーバーごとにグループ化するのではなく、ファイルタイプでグループ化することもできます。管理作業がファイルタイプ中心である場合は、この設定が推奨されます。たとえば、データファイルのみを含める場合は、バックアップ設定が簡単になります。

タイプ 別にドメインデータディレクトリーをグループ化するには、以下の管理 CLI コマンドを入力します。
/host=master:write-attribute(name="directory-grouping",value="by-type")
これにより、コントローラーの host.xml 設定ファイルが更新されます。
<servers directory-grouping="by-type">
  <server name="server-one" group="main-server-group" >
  </server>
  <server name="server-two" group="main-server-group" auto-start="true">
  </server>
</servers>

例2.19 タイプを基にしたディレクトリーのグループ化

Zip メソッドを使用して JBoss EAP がインストールされ、ドメインのファイルがタイプを基にグループ化された場合、ドメインモードのディレクトリー構造は以下のようになります。
EAP_HOME/domain
            ├── data
            │   └── servers
            │       ├── server-one
            │       └── server-two
            ├── log
            │   └── servers
            │       ├── server-one
            │       └── server-two
            └── tmp
                └── servers
                    ├── server-one
                    └── server-two