この章では、ノード・マネージャのJavaバージョンを構成する方法について説明します。
この章には次の項が含まれます:
このリリースでは、WebLogic Serverはノード・マネージャのドメインごとのモデルに移行します。作成する各ドメインについて、デフォルトでドメイン固有のノード・マネージャ・バージョンが作成されます。管理サーバーに提供されたセキュリティ資格証明を使用して、nm_password.propertiesがDOMAIN_HOME\config\nodemanagerに作成されます。ここでDOMAIN_HOMEは、通常ORACLE_HOME\user_projects\domains\domain_nameにあります。nodemanager.propertiesおよびnodemanager.domainsファイルは、DOMAIN_HOME\nodemanagerに自動的に作成され、ノード・マネージャをWindowsサービスとして起動、停止、インストール、アンインストールするためのドメイン固有のスクリプトは、DOMAIN_HOME\binにあります。ノード・マネージャのデフォルト構成では、NodeManagerHomeの場所であるDOMAIN_HOME\nodemanagerは編集できません。
構成ウィザードまたはWLSTオフラインを使用し、PerDomainまたはCustomLocationのJavaベースのノード・マネージャ構成を選択できます。固有のノード・マネージャ資格証明を提供できる点を除けば、PerDomain構成は、デフォルト構成の内容とまったく同じです。NodeManagerHomeとして固有の場所を指定する場合は、CustomLocationを選択して空のディレクトリを指定するか、ディレクトリの作成を選択します。その結果、ノード・マネージャもドメインごとのプロセスとして実行されます。
ホストごとのノード・マネージャを継続して使用する場合は(そのスクリプトはWL_HOME\server\binにある)、次の前提条件の構成手順を最初に実行する必要があります。
ホストごとのNodeManagerHomeの場所であるORACLE_HOME\oracle_common\common\nodemanagerに、このノード・マネージャ・インスタンスが制御するドメインを指定するnodemanager.domainsファイルを作成します。
このファイルは、手動で作成するかコピーできます。「ステップ4: nodemanager.domainsファイルの構成」を参照してください。
あるいは、WLSTコマンドnmEnrollを使用して、WebLogicドメインをノード・マネージャに登録することも可能です。
nodemanager.domainsファイルに複数のドメインを指定することにより、以前のWebLogic Serverリリースからのノード・マネージャ機能と同様、複数のWebLogic Serverドメインに属するサーバー・インスタンスを管理する、マシンにスコープ指定された単独ノード・マネージャ・プロセスを構成できます。
デモ用のIDキーストアおよび信頼キーストアは、開発目的またはテスト目的に限定して使用することをお薦めしますが、次の例に示すようにCertGenおよびImportPrivateKey Javaユーティリティを使用して作成できます。
PATH変数およびCLASSPATH変数を適切に設定するには、コマンド・プロンプトからWL_HOME\server\bin\setWLSEnv.cmdを実行します。
証明書と秘密鍵を生成します。
java utils.CertGen -keyfilepass DemoIdentityPassPhrase -certfile democert -keyfile demokey
デフォルトではutils.CertGenは、生成される証明書で所有者CNの値として短いホスト名を使用します。完全修飾DNホスト名を使用するには、前述のコマンドに-cnオプションを追加します。例:
java utils.CertGen -keyfilepass DemoIdentityPassPhrase -certfile democert -keyfile demokey -cn abc.oracle.com
秘密鍵と証明書をインポートします。
java utils.ImportPrivateKey -keystore DemoIdentity.jks -storepass DemoIdentityKeyStorePassPhrase -keyfile demokey -keyfilepass DemoIdentityPassPhrase -certfile democert.pem -keyfile demokey.pem -alias demoidentity
DemoIdentity.jksキーストアに、1つの秘密鍵と証明書エントリが格納されました。他のファイルは削除できます。
DemoIdentity.jksキーストアを、NodeManagerHome \securityディレクトリにコピーします。
本番環境でのノード・マネージャ用のSSLの構成方法については、「Javaベースのノード・マネージャでのSSLの使用」を参照してください。
Oracle JRFを含むドメインでは、Oracle Platform Security Servicesのキーストア・サービス(OPSS)を使用するようにノード・マネージャを構成できます。『Oracle Fusion Middlewareの管理』のOPSSキーストア・サービスを使用するノード・マネージャの構成に関する項を参照してください。
|
注意: デフォルトでは、ノード・マネージャでのSSLの使用は有効です。必要ない場合は、 |
必要に応じて、WLSTオフラインを使用して次のノード・マネージャ構成タスクを実行できます。
ノード・マネージャのユーザー名とパスワードの設定
ノード・マネージャ・プロパティの設定
ノード・マネージャ・タイプの設定
例4-1に、ドメインのノード・マネージャ・リスニング・アドレスとリスニング・ポート、ノード・マネージャのユーザー名とパスワード、およびノード・マネージャ・タイプを設定する方法を示します。
|
注意: ノード・マネージャ・タイプが |
例4-1 ノード・マネージャの構成
# set the Node Manager listen address and listen port.
cd('/')
cd('NMProperties')
set('ListenAddress','localhost')
set('ListenPort',9001)
# Set the Node Manager user name and password.
cd('/')
cd('SecurityConfiguration/domain_name')
set('NodeManagerUsername','username')
set('NodeManagerPasswordEncrypted','password')
# Set the Node Manager type to custom location type and set the custom location Node Manager home.
setOption('NodeManagerType','CustomLocationNodeManager')
setOption('NodeManagerHome','C:/mydomains/nodemanager')
詳細は、『WebLogic Server WLSTコマンド・リファレンス』のsetOptionに関する項を参照してください。
ノード・マネージャのセキュリティは、クライアントとサーバーの間の一方向SSL接続に依存します。
WebLogic Server Scripting Tool (WLST)のnmConnectコマンドを使用してJavaノード・マネージャへのコマンドライン接続を確立する場合は、ノード・マネージャのユーザー名とパスワードを指定します。ノード・マネージャは、ドメインのnm_password.propertiesファイルに対してユーザー名とパスワードを検証します。nm_password.propertiesの詳細は、「手順2: ノード・マネージャのユーザー名およびパスワードの指定」を参照してください。
ノード・マネージャの資格証明は管理コンソールの「domain_name」>「セキュリティ」>「全般」>「詳細オプション」のページにあります。
管理コンソール・ユーザーは、ノード・マネージャに接続するための資格証明を明示的に指定する必要はありません。ノード・マネージャのユーザー名とパスワードはドメイン構成で使用可能であり、自動的に指定されます。
ノード・マネージャを使用してサーバー・インスタンスを起動するには、リモート起動ユーザーのユーザー名とパスワードが必要です。管理サーバーと管理対象サーバーでは、これらの資格証明の指定方法が異なります。
管理対象サーバーの資格証明 - 管理対象サーバーを起動するためにノード・マネージャを呼び出す場合、リモート起動のユーザー名とパスワードはノード・マネージャによって管理サーバーから取得されます。
管理サーバーの資格証明: ノード・マネージャを起動して管理サーバーを起動すると、次の方法でリモート起動ユーザー名およびパスワードが付与されます。
コマンドライン上。ノード・マネージャによる管理サーバーの起動方法に関する項を参照してください。
管理サーバーのboot.propertiesファイルから。
構成ウィザードは、ドメインの作成時に管理サーバーのboot.propertiesファイルおよびstartup.propertiesファイルを初期化します。
次の手順で保護および暗号化された方法で生成されます。
フラグ-Dweblogic.nodemanager.ServiceEnabled=trueで管理サーバーを起動します。
DOMAIN_HOME\servers\AdminServer\data\nodemanagerディレクトリを作成します。
管理サーバーとノード・マネージャの両方が稼働している間に、任意の起動プロパティまたはサーバーの資格証明を更新します。
ノード・マネージャによって起動されたサーバー・インスタンスでは、自動再起動に使用するために、サーバーの起動に使用された資格証明が暗号化され、サーバー固有のboot.propertiesファイルに保存されます。
ノード・マネージャ・プロパティは、Javaベースのノード・マネージャ・プロセスの様々な構成設定を定義します。ノード・マネージャ・プロパティは、コマンド・ラインで指定するかnodemanager.propertiesファイルで定義できます。コマンド・ラインで指定された値は、nodemanager.propertiesの値をオーバーライドします。
nodemanager.propertiesは、NodeManagerHomeで指定されたディレクトリ内に作成されます。ここでNodeManagerHomeは、通常ORACLE_HOME\user_projects\domains\domain_name\nodemanagerになります。NodeManagerHomeが定義されていなければ、nodemanager.propertiesはカレント・ディレクトリ内に作成されます。
ノード・マネージャを起動すると、そのたびにカレント・ディレクトリ内にnodemanager.propertiesが存在するかどうかが検索され、存在しない場合はこのファイルが作成されます。ノード・マネージャを1回は起動しない限り、このファイルにはアクセスできません。
表4-1に、ノード・マネージャのプロパティを示します。
多くの環境において、明示的に定義する必要のあるノード・マネージャ・プロパティはnodemanager.propertiesのSSL関連のプロパティのみです。ただし、nodemanager.propertiesには、環境やプリファレンスによっては指定する必要のある、SSL以外のプロパティも格納されます。例:
Windows以外のインストールでは、StartScriptEnabledプロパティおよびNativeVersionEnabledプロパティを指定することが適当な場合もあります。
ノード・マネージャがマルチホーム・システムで動作し、それが使用するアドレスとポートを管理する必要がある場合は、ListenAddressおよびListenPortを定義します。
表4-1 ノード・マネージャのプロパティ
| ノード・マネージャ・プロパティ | 説明 | デフォルト |
|---|---|---|
|
|
|
none |
|
|
|
true |
|
|
ノード・マネージャのログ・ファイルの場所。 |
NodeManagerHome\nodemanager.log
|
|
|
整数として指定される、ノード・マネージャのログの最大サイズ。この上限に達すると、新しいログ・ファイルが開始されます。 |
unlimited |
|
|
|
1 |
|
|
|
true |
|
|
|
false |
|
|
ノード・マネージャのログに使用されるロギングの重大度。ノード・マネージャは、 |
INFO |
|
|
ノード・マネージャのログ・メッセージに使用されるフォーマッタ・クラス名。 |
weblogic.nodemanager.server.LogFormatter |
|
|
リスナーが受け付けるノード・マネージャのバックログ・リクエストの最大数。バックログされたリクエストが処理されるまで、追加の着信リクエストは削除されます。通常、このプロパティを調整する必要はありません。 |
50 |
|
|
システム・クラッシュのリカバリを有効にします。 注意: クラッシュ・リカバリのシナリオにおいて、 |
false |
|
|
|
true |
|
|
SSLリスナーで使用される暗号スイートの名前。 |
デフォルト値はJDKで、プラットフォームに依存しています。 |
|
|
trueに設定されている場合は、サーバーの起動に |
true |
|
|
ドメイン・ディレクトリにある起動スクリプトの名前。 |
startWebLogic.sh (UNIX) または startWebLogic.cmd (Windows) |
|
|
|
false |
|
|
サーバー停止後に実行されるスクリプトの名前。 |
none |
|
|
WLSTは、 |
false |
|
|
|
NodeManagerHome\nodemanager.domains
|
|
|
|
true |
|
|
ノード・マネージャがサーバーの状態チェックを実行するまでに待機する間隔を指定します。 |
500 milliseconds |
|
|
秘密鍵をキーストアにロードするときの別名を指定します。このプロパティは、 |
none |
|
|
IDキーストア(ノード・マネージャの秘密鍵を格納するキーストア)のファイル名を指定します。このプロパティは、 |
none |
|
|
IDキーストアの作成時に定義されたパスワードを指定します。このフィールドが必須か省略可能かは、キーストアのタイプによって異なります。すべてのキーストアで、キーストアに書き込むためにはパスワードが必須です。ただし、一部のキーストアでは読込みにパスワードを必要としません。WebLogic Serverはキーストアから読み込むだけなので、このプロパティを定義するかどうかはキーストアの要件によります。 |
none |
|
|
IDキーストアのタイプを指定します。通常はJKS。このプロパティは省略可能です。 |
|
|
|
IDキーストアからWebLogic Serverの秘密鍵を取得するために使用するパスワードを指定します。このプロパティは、 |
none |
|
|
管理対象サーバーのリモート起動ページにJavaホームが構成されていない場合、このマシン上の管理対象サーバーを起動するためにノード・マネージャで使用するJavaホーム・ディレクトリ。どちらでも指定されていない場合、ノード・マネージャはノード・マネージャ・プロセスに対して定義されているJavaホームを使用します。 |
none |
|
|
信頼キーストアの作成時に定義されたパスワードを指定します。このフィールドが必須か省略可能かは、キーストアのタイプによって異なります。すべてのキーストアで、キーストアに書き込むためにはパスワードが必須です。ただし、一部のキーストアでは読込みにパスワードを必要としません。WebLogic Serverはキーストアから読み込むだけなので、このプロパティを定義するかどうかはキーストアの要件によります。このプロパティは、 |
none |
|
|
ID(秘密鍵とデジタル証明書)および信頼(信頼性のあるCA証明書)を検索するためにノード・マネージャで使用する、キーストア構成を示します。指定できる値は次のとおりです。
|
DemoIdentityAndDemoTrust |
|
|
ノード・マネージャを実行しているマシンが接続リクエストをリスニングできるアドレス。この引数により、 |
null この設定を使用すると、ノード・マネージャはマシンのIPアドレスでリスニングします。 |
|
|
ノード・マネージャが接続リクエストをリスニングするTCPポート番号。この引数により、 |
5556 |
|
|
trueに設定すると、オペレーティング・システムのネイティブ・ライブラリが使用されます。 SolarisまたはLinux以外のUNIXシステムでは、このプロパティをfalseに設定してノード・マネージャを非ネイティブ・モードで実行します。その場合、ノード・マネージャは、
|
true |
|
|
次の構成およびログ・ファイルが格納されたノード・マネージャのルート・ディレクトリ。
これらのファイルの詳細は、「ノード・マネージャの構成ファイルとログ・ファイル」を参照してください。 注意: デフォルトでは、 |
NodeManagerHome
|
|
|
WebLogic Serverがインストールされるルート・ディレクトリ。リモート起動ページにルート・ディレクトリが構成されていない管理対象サーバーで |
none |
|
|
管理サーバーでSSL通信に使用する秘密鍵・ファイルのパス。 注意: このプロパティは、WebLogic Serverバージョン7.xからバージョン9.xにアップグレードするプロセスでのみ使用されます。 |
none |
|
|
キー・ファイル内の暗号化された秘密鍵にアクセスするためのパスワード。 注意: このプロパティは、WebLogic Serverバージョン7.xからバージョン9.xにアップグレードするプロセスでのみ使用されます。 |
none |
|
|
SSL認証に使用される証明書ファイルのパスを指定します。 注意: このプロパティは、WebLogic Serverバージョン7.xからバージョン9.xにアップグレードするプロセスでのみ使用されます。 |
none |
|
|
ネットワークのサブネット・マスク。サーバーの移行では、サーバー間のユニキャストおよびマルチキャストの通信が行えるように、各管理対象サーバーが同じサブネット・マスクを使用する必要があります。 関連項目: |
none |
|
|
移行可能サーバーで使用されるプライマリ・インタフェース名。サーバーの移行では、各移行可能サーバーが使用するプライマリ・インタフェース名は同じである必要があります。 関連項目: |
none |
|
|
インタフェース名、および移行可能サーバーが起動されたときにこの特定のネットワーク・インタフェースにバインドする必要がある対応するIPアドレスの範囲とオプションのネットマスク値。 構文: たとえば、1 - 4のアドレスを eth0=1-4,NetMask=255.255.255.0 bond0=5-8,NetMask=255.255.248.0
eth0=200.10.10.1-200.10.10.255 bond0=199.0.0.1-199.0.0.255 元の たとえば、これらのプロパティを次のように元の形式で指定した場合: Interface=oldEth0 NetMask=255.255.255.0 これを新しい形式で次のように指定した場合と同じになります: oldEth0=*,Netmask=255.255.255.0 アスタリスク(*)は、すべてのIPを表します。 |
|
|
|
ノード・マネージャが共有ドメイン・ディレクトリをモニターするかどうかを指定します。指定すると、複数のノード・マネージャが別々のマシンから共有ディレクトリをモニターできます。
|
false |
|
|
デフォルトでは、クライアントは動的に新しいドメインを登録できず、ドメイン作成時か、ノード・マネージャを起動する前にドメインを構成する必要があります。
|
false |
スクリプトを使用して管理対象サーバーを起動、またはサーバーの停止が完了した後にスクリプトを実行するように、ノード・マネージャを構成できます。これらのスクリプトは、サーバーの起動前、またはサーバーの停止後に実行する必要のあるタスクの実行に使用できます。スクリプトを使用して実行可能なタスクの一例としては、リモート・ディスクのマウントおよびアンマウントがあります。
|
注意: ノード・マネージャは起動スクリプトを使用して、任意の必要な構成を実行し、その後サーバーを起動します。対照的に、停止スクリプトはサーバーの停止後に実行されます。 |
起動スクリプトと停止スクリプトは双方とも、以下のディレクトリに格納されています。
DOMAIN_HOME\bin\service_migration
スクリプトは、このディレクトリを基準として実行されます。
起動スクリプトおよび停止スクリプトを使用してサーバーの動作を制御する際には、提供されているスクリプトの一番上の行のみの編集をお薦めします。これにより、スクリプトの実行時に、必要なすべての環境変数が確実に使用されます。
起動スクリプトを使用すると、必要な起動プロパティの指定、および起動時に実行が必要なその他の任意の作業の実行ができます。起動スクリプトを定義するには:
nodemanager.propertiesファイルで、StartScriptEnabledプロパティをtrueに設定します。(デフォルト値はtrueです。)起動スクリプトの名前がstartWebLogic.shまたはstartWebLogic.cmdの場合は、ノード・マネージャはそれらのスクリプトのいずれかをデフォルトとして使用します。
カスタム起動スクリプトを指定する場合は、nodemanager.propertiesファイルで、StartScriptNameプロパティを、使用するスクリプトの名前に設定します。
|
注意: カスタムの起動スクリプトを作成する場合、 # custom stuff # custom stuff startWebLogic.sh |
ノード・マネージャは、JAVA_VENDOR、JAVA_HOME、JAVA_OPTIONS、SECURITY_POLICY、CLASSPATH、およびADMIN_URLを設定します。管理コンソールを使用してサーバーを起動するか、または管理サーバーに接続されたWLSTを使用するとき、ノード・マネージャはこれらの値をServerMBean、ServerStartMBean、およびSSLMBeanから取得します。ノード・マネージャに直接接続されたWLSTを使用する場合は、値を指定できますが、使用しない場合は空白にします。
ノード・マネージャは、ServerStartMBean Arguments属性で指定されるすべてのコマンド・ライン起動オプション(-Dフラグ)とSSLArgumentsを組み合わせ、JAVA_OPTIONSという1つの環境変数にします。SSLArgumentsは、SSLMBeanの値から取得されます。SSLMBeanは、ignoreHostnameVerification、HostnameVerifier、およびReverseDNSAllowedの各値があるか検査し、それらの値は-Dフラグに付加されます。すべてのフラグは、SSLArgumentsパラメータから構成されます。ServerStartMBean内のSSLArgumentsおよびArgumentsのすべての値は、起動スクリプトに定義されるJAVA_OPTIONS環境変数から構成されます。また、スクリプトは独自に定義した任意の値を環境変数に付加します。
この値のセットで結果としてオーバーラップが発生する場合、Javaコマンド・ラインで次のように表示されます。
java -Dflag1=value1 -Dflag1=value2 weblogic.Server
Javaを呼び出すと、重複した値を解決できます。
停止スクリプトを使用すると、サーバーで障害が発生した後に必要となる任意のタスクを実行できます。
|
注意: 停止スクリプトは、サーバーで障害が発生し、移行が必要となった場合のスクリプト実行にのみ使用されます。 |
停止スクリプトを定義するには:
nodemanager.propertiesファイルで、StopScriptEnabledプロパティをtrueに設定します。
nodemanager.propertiesファイルで、StopScriptNameプロパティを、使用するスクリプトの名前に設定します。
次の例では、UNIXシステムでディスクのアンマウントに使用できる停止スクリプトを示します。
#!/bin/sh
FS=/cluster/d2
if grep $FS /etc/mnttab > /dev/null 2>&1 ; then
sync
PIDS=`/usr/local/bin/lsof $FS | awk
'{if ($2 ~/[0-9]+/) { print $2} }' | sort -u`
kill -9 $PIDS
sleep 1
sync
/usr/sbin/umount -f $FS
fi
管理サーバーと管理対象サーバーは、一方向SSLを使用してJavaベースのノード・マネージャと通信します。
WebLogic Serverのデフォルト・インストールには、SSLをそのまま使用することを可能にするデモ用のアイデンティティ・キーストアおよび信頼キーストアが含まれています。DemoIdentity.jksはDOMAIN_HOME\securityディレクトリにインストールされ、DemoTrust.jksはWL_HOME\server\libにあります。開発目的やテスト目的の場合は、このキーストア構成で十分です。
本番環境用のSSLの構成には、ノード・マネージャのIDを取得してから、ノード・マネージャが通信する管理サーバーおよび管理対象サーバーについて、それぞれIDと信頼を構成することが必要です。また、ホスト名検証の使用と管理ポートを考慮に入れる必要があります。nodemanager.propertiesのSSL関連プロパティを確認するには、表4-1を参照してください。本番用のSSLコンポーネントの構成方法については、『Oracle WebLogic Serverセキュリティの管理』のSSLの構成に関する項を参照してください。
複数の物理マシン上に管理対象サーバーがあるドメインでは、ノード・マネージャが各マシンにインストールされ、構成されていることを確認する必要があります。必要なすべてのドメインおよび構成情報をマシンからマシンへコピーするには、WLSTコマンドのnmEnrollを使用します。詳細は、『WebLogic Server WLSTコマンド・リファレンス』のノード・マネージャへのアクセスに関する項およびnmEnrollに関する項を参照してください。
inetdまたはxinetdサービスとして実行するようにノード・マネージャを構成する場合は、次の考慮事項が適用されます。
NodeManagerHomeおよび他のシステム・プロパティが定義されていることを確認します。
xinetdがlibwrapと共に構成されている場合は、NOLIBWRAPフラグを追加する必要があります。
hosts.denyおよびhosts.allowファイルが適切に構成されていることを確認します。
ネットワーク環境によっては、追加の構成が必要になる場合があります。
次の例では、xinetd内にノード・マネージャを構成する方法を示します。
# default: off
# description:nodemanager as a service
service nodemgrsvc
{
type = UNLISTED
disable = no
socket_type = stream
protocol = tcp
wait = yes
user = <username>
port = 5556
flags = NOLIBWRAP
log_on_success += DURATION HOST USERID
server = <path-to-java>/java
env = CLASSPATH=<cp> LD_LIBRARY_PATH=<ldpath>
server_args = -client -DNodeManagerHome=<NMHome> <java options>
<nodemanager options> weblogic.NodeManager -v
}