この章では、ドメイン・パーティションの作成、構成および管理の方法について説明します。この章の説明に従い、Fusion Middleware Control (FMWC)、WLSTまたはRESTを使用できます。この章では、適宜追加情報について、Fusion Middleware、CoherenceおよびOracle Traffic Directorのドキュメント・セットおよびオンライン・ヘルプを参照します。
この章の内容は次のとおりです。
WebLogic Server Multitenant (MT)は、ドメイン・パーティションと呼ばれる、ドメインの管理スライスとランタイム・スライスを実装します。ドメイン・パーティションはWeblogicドメインの一部分であり、実行中のアプリケーション・インスタンスおよび関連するリソース専用となります。
任意の数のドメイン・パーティションを1つのドメインの中に作成できます。
注意: 最高のパフォーマンスを実現するために、基本的には1つのドメイン内のパーティションを10個以下とすることをお薦めします。ただし、実際のサーバー環境によっては、これよりも多くのパーティションがサポートされる可能性があります。 |
ドメイン・パーティションを作成するには、次の前提条件を満たしている必要があります。
使用する予定のドメインをまだ作成していない場合は作成します。
Oracle Enterprise Manager - Restricted JRFテンプレートを使用してドメインを作成します。このテンプレートによって、他の必要なテンプレートの多くが自動的に含められます。
ベスト・プラクティスは、新しいドメインを作成することです。既存のドメインをアップグレードする予定の場合、「セキュリティの構成」の説明に従い、新しいセキュリティ・レルムを引き続き作成する必要があります。
注意: Fusion Middleware ControlまたはWLS管理コンソールを使用する場合は、クラスタの作成時にWebLogic Server MTに固有の事項はありません。ただし、WLSTを使用して管理対象サーバーを作成する場合は(手動構成か動的かを問わない)、必要なJRFテンプレートが適用されません。その後でFusion Middleware Controlを使用してドメインをモニターするときに、JRFテンプレートが適用されていないサーバーに対してはモニタリングが機能しません。 したがって、WLSTを使用する場合は次のようにします。
|
ライフサイクル管理のためのデプロイメント・モードを設定します。WLS管理コンソールまたはWLSTからこの手順を実行できます。
WLS管理コンソールから、次の手順を実行します。
ナビゲーション・ペインで、ドメインを選択します。
「構成」→「一般」ページを選択します。
「詳細」コントロールを展開します。
「ライフサイクル管理サービスの可用性」コントロールをLocal Admin Server
に変更します。
これは動的でない変更です。管理サーバーを再起動します。
WLSTから、次を実行します。
edit() startEdit() cd('/LifecycleManagerConfig/mydomain') cmo.setDeploymentType('admin') activate()
これは動的でない変更です。管理サーバーを再起動します。
パーティションのセキュリティ・レルムをまだ作成していない場合は作成します。各パーティションに1つのセキュリティ・レルムが必要です。使用する手順は、「セキュリティの構成」を参照してください。
1つ以上の仮想ターゲットをまだ作成していない場合は作成します。使用する手順は、「仮想ターゲットの構成」を参照してください。
このドメイン・パーティションでリソース・グループ・テンプレートを使用する場合、先にリソース・グループ・テンプレートを作成します。使用する手順は、「リソース・グループ・テンプレートの構成」を参照してください。
OTDをロード・バランシングに使用する場合は、OTDランタイム構成を登録します。
OTDをロード・バランシングに使用する場合は、WLS管理コンソールで「WebLogicプラグインの有効化」コントロールを設定する必要があります。
このコントロールは3つのレベルのいずれかに設定できます。これらのレベルには階層があります。あるレベルでの設定は、それよりも下のレベルのデフォルト値となり、下のレベルでの設定はそれよりも上のレベルでの設定よりも優先されます。レベルは次のとおりです。
ドメイン・レベル - ドメイン・レベルで設定すると、そのドメイン内のクラスタおよび管理対象サーバーのそれぞれに対して設定されます。
クラスタ・レベル - クラスタ・レベルで設定すると、クラスタの一部であるすべての管理対象サーバーに適用されます。これは、ドメイン・レベルの値よりも優先されます。
個々の管理対象サーバー・レベル - 管理対象サーバー・レベルでの設定は、クラスタまたはドメインのレベルで設定された値よりも優先されます。
含まれているクラスタや管理対象サーバーに関係なく、Oracle Traffic Directorを使用するパーティションが影響を受けるように、「WebLogicプラグインの有効化」コントロールをドメイン・レベルで設定することが最も簡単な場合があります。または、Oracle Traffic Directorで使用するパーティションが特定のクラスタまたは管理対象サーバーにのみターゲット指定されることがわかっている場合、「WebLogicプラグインの有効化」コントロールをクラスタ・レベルまたは管理対象サーバー・レベルで設定するように選択できます。
ドメイン・レベル
WLS管理コンソールを使用して、ドメイン・レベルで「WebLogicプラグインの有効化」コントロールを設定するには、次の手順を実行します。
ナビゲーション・ペインで、ドメインを選択します。
「構成」ページを選択し、「Webアプリケーション」を選択します。
「WebLogicプラグインの有効化」コントロールを設定します。
変更内容を保存します。
クラスタ・レベル
WLS管理コンソールを使用して、クラスタ・レベルで「WebLogicプラグインの有効化」コントロールを設定するには、次の手順を実行します。
ナビゲーション・ペインで、「環境」を展開します。
「クラスタ」を選択します。
管理するクラスタを選択します。
「一般」ページを選択し、「詳細」をクリックします。
「WebLogicプラグインの有効化」コントロールを設定します。
変更内容を保存します。
管理対象サーバー・レベル
WLS管理コンソールを使用して、管理対象サーバー・レベルで「WebLogicプラグインの有効化」コントロールを設定するには、次の手順を実行します。
ナビゲーション・ペインで、「環境」を展開します。
「サーバー」を選択します。
管理するサーバーを選択します。
「一般」ページを選択し、「詳細」をクリックします。
「WebLogicプラグインの有効化」コントロールを設定します。
変更内容を保存します。
ドメイン・パーティションを作成する主な手順は次のとおりです。
パーティション名を入力します。パーティション名は、ドメイン内で一意である必要があります。
このパーティションのセキュリティ・レルムを選択します。
セキュリティ・レルムは、このパーティションに対して一意とすることも、複数のパーティションで共有することもできます。
オプションで、このパーティションのプライマリ・アイデンティティ・ドメインの名前を入力します。または、名前を入力せず、デフォルトを受け入れように選択できます。
OTDをロード・バランシングに使用する場合は、OTDランタイム構成を選択します。OTDランタイムをあらかじめ登録しておく必要があります。
このドメイン・パーティションで使用できるようにする1つ以上の既存の仮想ターゲットを選択します。複数のパーティションで同じ仮想ターゲットを使用することはできません。1つの仮想ターゲットは、1つのパーティションでのみ、またはグローバル(ドメイン)レベルで使用できます。
このパーティションのリソース・グループが明示的に識別していない場合、既存の仮想ターゲットのいずれかをデフォルトとして使用するように選択します。
リソース・グループを作成します。2つの方法でリソース・グループを作成できます。
新しいリソース・グループを作成します。パーティションの作成が終了したら、必要に応じてこのリソース・グループを編集する必要があります。
リソース・グループ名を入力します。リソース・グループ名はパーティション内で一意であることが必要です。
リソース・グループ・テンプレートに基づいた新しいリソース・グループを作成します。(リソース・グループ・テンプレートの詳細は、「リソース・グループ・テンプレートの構成」を参照してください。)構成は、テンプレートから新しいリソース・グループにコピーされます。
リソース・グループ名を入力します。リソース・グループ名はドメイン内で一意であることが必要です。
使用するリソース・グループ・テンプレートを選択します。
このリソース・グループで使用する仮想ターゲットを選択します。
これがこのドメインに作成した最初のパーティションであり、本番モードでドメインを実行中の場合は、WebLogic管理サーバーを再起動します。
この手順は、ドメインの最初のパーティションを作成する場合で、ドメインを本番モードで実行している場合にのみ必要です。
パーティションを起動します。パーティションは、停止状態で作成されるため、その中のリソースにアクセスできるように起動する必要があります。
リソース・グループをリソース・グループ・テンプレートから作成していない場合、必要に応じてリソース・グループを編集します。
使用する主な手順は、「リソース・グループの構成」を参照してください。
ドメイン・パーティションをFusion Middleware Controlを使用して作成するには、オンライン・ヘルプのドメイン・パーティションの作成に関する項を参照してください。
次の例では、ドメイン・パーティションPartitionMBeanをpep
という名前でDomainMBeanから作成します。次のことを行います。
ドメイン・パーティションを作成します。
仮想ターゲットを作成します。
仮想ターゲットのホスト名およびURI接頭辞を設定します。
この仮想ターゲットを、使用可能なターゲットとしてパーティションに追加します。
リソース・グループを作成します。
仮想ターゲットをリソース・グループに追加します。
変更をアクティブ化します。
パーティションを起動します。
注意: これが本番モードで作成する最初のパーティションの場合は、管理サーバーを再起動する必要があり、その後でパーティションが起動可能になります。 |
# Create Pep partition and ResourceGroup edit() startEdit() wls:/base_domain/edit/ !> domain=getMBean('/') wls:/base_domain/edit/ !> peppart=domain.createPartition('Pep') wls:/base_domain/edit/ !> vt=domain.createVirtualTarget('TestVT') wls:/base_domain/edit/ !> vt.setHostNames(jarray.array([String('localhost')],String)) wls:/base_domain/edit/ !> vt.setUriPrefix('/foo') wls:/base_domain/edit/ !> peppart.addAvailableTarget(vt) wls:/base_domain/edit/ !> peprg=peppart.createResourceGroup('TestRG') wls:/base_domain/edit/ !> peprg.addTarget(vt) wls:/base_domain/edit/ !> activate() wls:/base_domain/edit/ !> startPartitionWait(peppart)
リソース・グループまたはリソース・グループのオーバーライドの構成時に、パーティションに必要な構成のほとんどを実行します。タスクには、JDBCシステム・データ・ソース、JMSサーバーおよびリソース、外部JNDIプロバイダなどの構成が含まれます。これらのタスクは、それぞれ「リソース・グループの構成」および「リソース・オーバーライドの構成」で説明されています。
この項では、ドメイン・パーティション自体に対して実行する管理タスクに重点を置いており、関連付けられたリソース・グループについては詳しく説明しません。
ドメイン・パーティションの管理の主な手順は次のとおりです。
管理するドメイン・パーティションを選択します。
パーティションのパフォーマンスと使用状況をモニターします。
このドメイン・パーティションに使用できる仮想ターゲットを表示および変更します。
このパーティションに対して構成されているリソース・グループを表示および変更します。
このパーティションにデプロイされたアプリケーションを表示および変更します。(厳密に言えば、アプリケーションのデプロイ先はパーティション自体ではなく、パーティション内のリソース・グループです。)
OTDをロード・バランシングに使用する場合は、このパーティションとともに使用するOTDランタイム構成を表示および変更します。
JDBCおよびJMSモジュールのパーティション・オーバーライド構成を表示および変更します。
このパーティションに対して構成されているパーティション・ワーク・マネージャおよびリソース・マネージャを表示および変更します。
このパーティションのセキュリティ・レルムとデフォルト・ターゲットを表示および変更します。
オプションで、「ノート」属性を使用してこのパーティションの追加情報を指定します。
ドメイン・パーティションをFusion Middleware Controlを使用して管理するには、オンライン・ヘルプのドメイン・パーティションの構成に関する項を参照してください。
次の例の内容は次のとおりです。
ドメイン・パーティションを作成します。
仮想ターゲットを作成します。
仮想ターゲットのホスト名およびURI接頭辞を設定します。
この仮想ターゲットを、使用可能なターゲットとしてパーティションに追加します。
リソース・グループを作成します。
仮想ターゲットをリソース・グループに追加します。
変更をアクティブ化します。
パーティションを起動します。
注意: これが本番モードで作成する最初のパーティションの場合は、管理サーバーを再起動する必要があり、その後でパーティションが起動可能になります。 |
アプリケーションMySimpleEjb
をリソース・グループにデプロイします。
# Create Pep partition and ResourceGroup edit() startEdit() wls:/base_domain/edit/ !> domain=getMBean('/') wls:/base_domain/edit/ !> peppart=domain.createPartition('Pep') wls:/base_domain/edit/ !> vt=domain.createVirtualTarget('TestVT') wls:/base_domain/edit/ !> vt.setHostNames(jarray.array([String('localhost')],String)) wls:/base_domain/edit/ !> vt.setUriPrefix('/foo') wls:/base_domain/edit/ !> peppart.addAvailableTarget(vt) wls:/base_domain/edit/ !> peprg=peppart.createResourceGroup('TestRG') wls:/base_domain/edit/ !> peprg.addTarget(vt) wls:/base_domain/edit/ !> activate() wls:/base_domain/edit/ !> startPartitionWait(peppart) wls:/base_domain/edit/ !> deploy(appName='MySimpleEjb', path='c:/webservices/MySimpleEjb.jar', partition='Pep', resourceGroup='TestRG', deploymentOrder=10,securityModel='DDOnly') : Completed the deployment of Application with status completed Current Status of your Deployment: Deployment command type: deploy Deployment State : completed Deployment Message : no message
次のRESTの例を参照してください。
RESTを使用したパーティション・スコープのデータ・ソースおよびJMSシステム・リソースの作成の例は、『RESTful管理サービスによるOracle WebLogic Serverの管理』のパーティション・スコープのシステム・リソースの作成に関する項を参照してください。
RESTを使用したパーティション・スコープのアプリケーションのデプロイの例は、『RESTful管理サービスによるOracle WebLogic Serverの管理』のパーティション・スコープのアプリケーションのデプロイに関する項を参照してください。
グローバルおよびパーティション固有のリソースを再構成するときに、関連するサーバーやクラスタを再起動する必要はありません。あるパーティションへの変更が他のパーティションに影響することはないため、パーティションの作成、起動、停止および削除を個別に行うことができます。
ドメイン・パーティションの制御の主な手順は次のとおりです。
制御するパーティションを選択します。パーティションをインポートするときはパーティションを選択する必要はありません。
パーティションを起動します。すべてのリソース・グループ(およびこれらのリソース・グループにデプロイされたすべてのアプリケーション)が起動します。
パーティションを停止します。すべてのリソース・グループ(およびこれらのリソース・グループにデプロイされたすべてのアプリケーション)が停止します。リソース・グループを停止すると、そのリソース・グループのアプリケーションとリソースは実行を停止し、メモリーから削除されます。
パーティションを停止することは、アプリケーションやリソースのアンデプロイを実行時に行うのと同じことになりますが、アンデプロイ時とは異なり、そのアプリケーションやリソースの構成が構成ファイルから削除されることはありません。管理対象サーバーに配信された構成も削除されません。
パーティションを一時停止します。一時停止操作によって、パーティションがRUNNING
状態からADMIN
状態に正常に遷移します。
パーティションを再開します。再開操作によって、パーティションがADMIN
状態からRUNNING
状態に正常に遷移します。
パーティションをインポートします。パーティションを別のドメインにインポートするときに、必要な構成変更の数は最小限です。「パーティションのエクスポートおよびインポート」を参照してください。
パーティションをエクスポートします。パーティションをあるドメイン(ソース・ドメイン)からエクスポートして別のドメイン(ターゲット・ドメイン)にインポートできます。「パーティションのエクスポートおよびインポート」を参照してください。
パーティションを削除します。パーティションを削除すると、パーティション内のすべてのリソース・グループが削除され、パーティションにデプロイされているすべてのアプリケーションがアンデプロイされます。
注意: パーティションを削除するには、最初にそのパーティションを停止する必要があります。 |
ドメイン・パーティションをFusion Middleware Controlを使用して制御するには、オンライン・ヘルプのドメイン・パーティションの制御に関する項を参照してください。
次の操作を行うときはパーティションの再起動が必要です。
リソース・グループ内のシステム・リソースの動的ではない属性の変更。たとえば、JDBCデータベース接続のURLです。
システム・リソースの動的ではない属性に影響するオーバーライド。たとえば、JMS外部サーバーの接続URLです。
実行中のパーティションで使用中の仮想ターゲットのターゲット指定ではない変更。たとえば、URI接頭辞です。
リソース・デプロイメント・プランの変更。
WLSTによるパーティションのインポートおよびエクスポートの例は、「パーティションのエクスポートおよびインポート」を参照してください。
次の例では、WLSTのstartPartitionWait()
コマンドを使用してドメイン・パーティションpep
をルートDomainMBeanから起動します。startPartitionWait()
の詳細は、『WebLogic Server WLSTコマンド・リファレンス』を参照してください。
startPartitionWait()
は、パーティションが起動している必要があります。PartitionMBeanはDomain.createPartition()
やDomain.lookupPartition()
などから取得できます。
edit() startEdit() domain=getMBean('/') startPartitionWait(domain.lookupPartition("Pep")) [MBeanServerInvocationHandler]com.bea:Name=_5_START,Type=PartitionLifeCycleTaskRuntime,PartitionLifeCycleRuntime=Pep
PartitionLifeCycleRuntimeMBeanによるフル・コントロール
startPartitionWait()
は、便宜のためのコマンドです。パーティションの停止など、パーティション・ライフサイクルのフル・コントロールの場合、PartitionLifeCycleRuntimeMBeanを使用します。PartitionLifeCycleRuntimeMBean MBeanの説明は、Oracle WebLogic Server MBeanリファレンスを参照してください。
次の例では、パーティションpep
を正常に停止します。
domainRuntime() cd('DomainPartitionRuntimes') cd ('pep') cd('PartitionLifeCycleRuntime') cd ('pep') cmo.shutdown() [MBeanServerInvocationHandler]com.bea:Name=_3_SHUTDOWN,Type=PartitionLifeCycleTaskRuntime,DomainPartitionRuntime=pep,PartitionLifeCycleRuntime=pep
次の例では、パーティションpep
を起動します。
domainRuntime() cd('DomainPartitionRuntimes') cd ('pep') cd('PartitionLifeCycleRuntime') cd ('pep') cmo.start() [MBeanServerInvocationHandler]com.bea:Name=_4_START,Type=PartitionLifeCycleTaskRuntime,DomainPartitionRuntime=pep,PartitionLifeCycleRuntime=pep
次の例では、パーティションpep
を一時停止します。
domainRuntime() cd('DomainPartitionRuntimes') cd ('pep') cd('PartitionLifeCycleRuntime') cd ('pep') cmo.suspend() [[MBeanServerInvocationHandler]com.bea:Name=_5_SUSPEND,Type=PartitionLifeCycleTaskRuntime,DomainPartitionRuntime=pep,PartitionLifeCycleRuntime=pep
詳細については、以下の各節を参照してください。