この章では、WebLogic Server Multitenant (MT)でパーティションをエクスポートおよびインポートする方法について説明します。この章の説明に従い、Fusion Middleware Control (FMWC)、WLS管理コンソールまたはWLSTを使用して、パーティションをエクスポートおよびインポートできます。この章では、適宜追加情報について、Fusion MiddlewareとWebLogic Serverのドキュメント・セットおよびオンラインを参照します。
この章には次の項が含まれます:
管理者はWLST (オンラインまたはオフライン)、REST API (オンラインのみ)または管理コンソール(オンラインのみ)を使用して、ドメイン・パーティションをエクスポートし、すでにエクスポートしたパーティションを別のドメインにインポートできます。
パーティションをエクスポートおよびインポートすると、あるドメインから別のドメインにパーティションを簡単に移動できます(パーティションにデプロイされたアプリケーションを含む)。この機能は、ドメイン間でのパーティションのレプリケート、および開発環境から本番環境へのドメインの移動に役立ちます。
パーティションがソース・ドメインからエクスポートされるとき、次のものがパーティション・アーカイブとしてパッケージ化されます。
パーティション構成。
パーティションに含まれるすべてのリソース・グループ。
これらのリソース・グループによって参照されるすべてのリソース・グループ・テンプレート。
パーティションのファイル・システムのコンテンツ、<
partition-file-system
>/config
ディレクトリ。
オプションで、パーティションにデプロイされたアプリケーションのアプリケーション・バイナリおよび構成。
アプリケーション・ランタイムの状態およびアプリケーション固有のランタイム構成は、パーティション・アーカイブには含まれません。他には、キュー内のJMSメッセージ、組込みLDAPレルム内のユーザーなどがエクスポートされません。
WLSTのexportPartition
コマンドを使用して、パーティション・アーカイブ(<
PartitionName
.zip
)を作成できます。これは、パーティションの構成および(オプションで)パーティションのアプリケーションとライブラリをアーカイブ・ファイルにコピーします。このコマンドによって、インポート時にパーティションの構成を変更するために使用できるattributes.json
ファイルも作成されます。
コマンドの構文は次のようになります。
exportPartition(partitionName, expArchPath, [includeAppsNLibs], [keyFile])
partitionName
はエクスポートするパーティションの名前、expArchPath
はパーティション・アーカイブを保存するディレクトリへのフルパス、includeAppsNLibs
はオプションでアプリケーションおよびライブラリのバイナリをパーティション・アーカイブに含めるかどうかを指定し、keyFile
はオプションでパーティション・アーカイブ内の属性を暗号化するための暗号化鍵として使用する文字列を含むファイルへのフルパスを指定します。「ドメイン・パーティションのエクスポート: WLSTの例」を参照してください。
パーティション・アーカイブは、次の特定のパーティション関連ファイルを含むZIPファイルです。
ファイルおよびディレクトリ | 説明 |
---|---|
partition-config.xml |
config.xml のパーティション構成およびリソース・グループ・テンプレート構成が含まれます。 |
MANIFEST.MF |
アーカイブのタイムスタンプおよびドメイン情報が含まれます。 |
< PartitionName >-attributes.json |
パーティションのインポート中に管理者が変更できるMBean属性およびプロパティが含まれます。アーカイブに含まれる以外に、このファイルのコピーは更新を簡易化するためにファイル・システムのアーカイブにも配置されます。 |
expPartSecret |
暗号化および暗号化された属性の復号化に使用される暗号化された秘密鍵が含まれます。 |
domain/config/resource-group-templates/<resource_template_name>/* |
このパーティションに関連付けられたリソース・グループ・テンプレートがある場合は、リソース・グループ・テンプレートに関連するファイルがこの場所にコピーされます。 |
domain/config/partitions/<partition-name>/* |
domain/config/partitions/<partition-name>/config/* にあるすべての構成ファイル。 |
pfs/config/* |
<partition-file-system>/config ディレクトリのコンテンツが含まれます。これには、システム・リソース(JMS、JDBCなど)のディスクリプタ・ファイルも含まれます。 |
domain/upload/resource-group-templates/<resource_template_name>/<application_name>/ |
リソース・グループ・テンプレート・レベルのバイナリが含まれます。 |
pfs/upload/<application_name>/ |
リソース・グループ・レベルのアプリケーション・バイナリが含まれます。 |
パーティションをインポートする前提条件として、サーバー・インスタンスにドメインが構成されている必要があります。パーティションを新しいドメインにインポートする場合は、新たにインポートされたパーティションが認識されるように、一部の外部システムを構成することが必要となることがあります。パーティション・アーカイブのインポート中に、システム管理者は、ドメイン(仮想ターゲット、セキュリティ・レルムおよびリソース・グループ・テンプレートなど)での依存性を更新し、オプションで、パーティション構成の他の属性(パーティション・プロパティ、JDBC、JMSおよびリソース・グループ内の他のリソースなど)も更新して有効にする必要がある場合があります。また、新しいパーティションにアプリケーションおよびシステム・リソースをデプロイする必要があります。
システム管理者は、インポート中に、ターゲット・ドメインに適するように属性が変更された<
PartitionName
>-attributes.json
ファイルを指定して、パーティション構成の特定の部分をオーバーライドできます。ただし、name
属性の値の変更はサポートされていません。たとえば、次のサンプル<
PartitionName
>-attributes.json
の"name
" : "P1
"は変更できません。
{ "partition" : { "name" : "P1", "jdbc-system-resource-override" : { "URL" : "url.com", "Id" : "0", "name" : "test123", "CachingDisabled" : "false", "Registered" : "false", "User" : "test123", "DynamicallyCreated" : "false", "DataSourceName" : "test-source" }, "resource-group-template" : { "name" : "RGT1", "jdbc-system-resource" : { "name" : "jdbc1", "descriptor-file-name" : "jdbc/P1DB1-8882-jdbc.xml" } "jms-server-resource" : { "name" : "jms1", "PagingDirectory" : "" } } }
前述の例では、すべてのJDBCSystemResourceOverrideMBean
属性は、現在の値とともに<
PartitionName
>-attributes.json
ファイルにコピーされます。
リソース・グループ・テンプレートがすでにターゲット・ドメインに存在する場合、createNew
オプションを使用して、既存のリソース・グループ・テンプレートを上書きし、新しい名前で新しいリソース・グループ・テンプレートを作成する必要があります。(「ドメイン・パーティションのインポート: 主な手順」の手順2を参照してください。)
パーティションがエクスポートされる場合は、エクスポート処理のincludeApps
オプションの値によって、アプリケーション・バイナリがパーティション・アーカイブに含まれるかどうかが判断されます。includeApps
がtrue
の場合は、バイナリが含まれます。false
の場合は、除外されます。<
PartitionName
>-attributes.json
ファイルには、アプリケーションまたはライブラリのソース・パス、デプロイメント・プランのパスおよびステージング・モードの属性が含まれます。これらの属性は、<
PartitionName
>-attributes.json
ファイルで変更できます。
includeApps
オプションは、アプリケーションのインポート時のデプロイ方法にも影響します。
true
(デフォルト)の場合、リソース・グループ・テンプレート・レベルのアプリケーションかリソース・グループ・レベルのアプリケーションかに応じて、デプロイメント・ファイルは<domain-dir>/<server>/upload
または<partition-dir>/<server>/upload
にコピーされ、元のステージング・モードを使用してデプロイされます。ステージング・モードがNOSTAGE
またはEXTERNAL
(ターゲット・サーバー上)の場合、システム管理者は、ターゲット・ドメインの正しい場所からアプリケーションを使用できるようにする必要があります。
false
の場合, システム管理者は、ターゲット・ドメインの正しい場所からアプリケーションを使用できるようにする必要があります。
エクスポート処理中に、新しい秘密鍵が生成され、エクスポートされた<
PartitionName
>.zip
ファイルのexpPartSecret
ファイルに保存されます。partition-config.xml
の暗号化されたすべての属性および<
PartitionName
>.zip
の一部であるシステム・リソース・ディスクリプタは、expPartSecret
ファイルの新しい秘密鍵で暗号化されます。または、keyFile
オプションでユーザー独自の秘密鍵を使用することもできます。
インポート処理中に、パーティション全体が読み取られ、<
PartitionName
>-attributes.json
ファイルに従って属性が変更された後、暗号化された属性は次の手順を使用して処理されます。
最初に、エクスポートされたZIPのexpPartSecret
ファイルの秘密鍵が読み取られます。
次に、WLSソースのデフォルトの鍵またはインポートするkeyFile
オプションで指定された鍵の2番目の鍵を使用して秘密鍵が復号化されます。ユーザーが指定した鍵はインポートで使用した鍵と一致する必要があります。
次に、パーティションのMBean (エクスポート処理で読取りおよび変更された)の暗号化されたすべての属性が、expPartSecret
から読み取られた鍵を使用して復号化されます。
次に、パーティションのMBeanの暗号化されたすべての属性が、インポートされたドメインのドメイン固有の鍵(SerializedSystemIni.dat
)を使用して暗号化されます。
ドメイン・パーティション(ソース・ドメイン)をその構成およびデータ全体とともにパーティション・アーカイブとしてエクスポートできます。構成に多くの変更を加えることなく、パーティション・アーカイブをマルチテナントWLS (ターゲット・ドメイン)の別のインスタンスにインポートできます。仮想ターゲットやセキュリティ・レルムなどのドメインの依存性を更新し、オプションでパーティション構成の他の属性を更新して有効にする必要がある場合があります。
ドメイン・パーティションをエクスポートする前に、最初に1つを作成またはインポートする必要があります。
ドメイン・パーティションをエクスポートする主な手順は次のとおりです。
エクスポートするドメイン・パーティションを選択します。
パーティション・アーカイブを保存するディレクトリへのフルパスを指定します。
各ドメイン・パーティションは、独自のディレクトリに配置する必要があります。指定した場所にすでに存在する場合、ドメイン・パーティションのアーカイブは上書きされます。ディレクトリ内の他のファイルも上書きされる場合があります。
オプションで、エクスポートされるパーティション・アーカイブに、インストールされたアプリケーションおよびライブラリのバイナリを含めるよう選択します。
オプションで、パーティション・アーカイブ内の属性を暗号化するための暗号化鍵として使用する文字列を含むファイルへのフルパスを入力します。
ユーザー独自の鍵を指定しない場合、新規の秘密鍵が生成され、エクスポートした<
PartitionName
>.zip
ファイル内のexpPartSecret
ファイルに格納されます。
次のWLSTコマンドは、partition-1
を/var/tmp
ディレクトリにエクスポートします。アプリケーションおよびライブラリのバイナリは含まれません。/home/foo/mykeyfile
は、mykeyfile
暗号化鍵へのパスです。
wls:/mydomain/serverConfig> exportPartition("partition-1", "/var/tmp/", false, "/home/foo/mykeyfile")
ドメイン・パーティションをインポートする前に:
先にドメイン・パーティション(ソース・ドメイン)をパーティション・アーカイブ・ファイルにエクスポートしておく必要があります。
サーバー・インスタンスにはドメイン(ターゲット・ドメイン)が構成されている必要があります。
ドメイン・パーティションをインポートする主な手順は次のとおりです。
インポートするパーティション・アーカイブ・ファイルへのフルパスを指定します。
オプションで、リソース・グループ・テンプレートがすでにターゲット・ドメインに存在して、新しい名前で新しいリソース・グループ・テンプレートを作成する場合に、既存のリソース・グループ・テンプレートの上書きを選択します。
ソース・ドメイン・パーティションで使用されるすべてのリソース・グループ・テンプレートはパーティション・アーカイブに含まれ、パーティションとともにターゲット・ドメインにインポートされます。リソース・グループ・テンプレートがターゲット・ドメインにすでに存在し、既存のリソース・グループ・テンプレートの上書きを指定しない場合、インポート処理は失敗します。
オプションで、ターゲット・ドメインに作成されるときにパーティションに使用する名前を指定します。デフォルトはそのパーティションの元の名前です。
オプションで、パーティション・アーカイブ内の属性を復号化するための鍵を含むファイルへのフルパスを入力します。
詳細は、次を参照してください:
『Fusion Middleware ControlによるOracle WebLogic Serverの管理』のドメイン・パーティションのエクスポートに関する項およびドメイン・パーティションのインポートに関する項。
『Oracle WebLogic Server Administration Consoleオンラインヘルプ』のパーティションのエクスポートに関する項およびパーティションのインポートに関する項。