![]() ![]() ![]() ![]() |
以下の節では、スクリプトベースのノード マネージャのコンフィグレーション方法について説明します。
SSH ノード マネージャは、{WL_HOME}/common/bin/
にあるシェル スクリプト wlscontrol.sh
です。wlscontrol.sh
は、ノード マネージャを使用して制御するサーバ インスタンスをホストするマシンごとに存在していなければなりません。このスクリプトは、サイト固有の要件を満たすようにカスタマイズできます。
ノード マネージャまたはノード マネージャ クライアントを実行するマシンごとに SSH クライアントが実行可能でなければなりません。また、このスクリプトはユーザ ID が実行するパス内になければなりません。通常、SSH クライアントは Unix または Linux インストールの標準的な一部です。
ノード マネージャを実行する前に、ノード マネージャ機能の実行専用の UNIX ユーザ アカウントを作成する必要があります。このユーザは、SSH のノード マネージャをホストするすべてのマシンと、ノード マネージャ クライアント (管理サーバを含む) をホストするすべてのマシンに追加しなければなりません。
inetd
または xinetd
サービスとして実行するようにノード マネージャをコンフィグレーションする場合は、以下の考慮事項が適用されます。
以下の例では、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-jave>/java
env = CLASSPATH=<cp> LD_LIBRARY_PATH=<ldpath>
server_args = -client -DNodeManagerHome=<NMHome> <java options>
<nodemanager options> weblogic.NodeManager -v
}
ノード マネージャで使用されるデフォルトの SSH ポートは 22 です。この設定は、以下の方法でオーバーライドできます。
ノード マネージャの SSH シェル スクリプトは、異なるマシン上のユーザ間のセキュアな信頼関係を提供する、SSH ユーザベースのセキュリティに依存します。認証は必要ありません。ノード マネージャのコマンドおよびスクリプトを実行するための UNIX ユーザ アカウントを作成します (通常はドメインごとに 1 つ)。このユーザとしてログインしたユーザは、ユーザ名とパスワードを指定しなくてもノード マネージャ コマンドを発行できます。
注意 : | ノード マネージャ コマンドと WebLogic Server コマンドが、コマンドの実行に使用される UNIX ユーザ ID のパスで使用可能になっていることを確認する必要もあります。 |
サーバの移行や他のタスクを実行するには、wlscontrol.sh などのスクリプトを実行するユーザ ID に十分なセキュリティ パーミッションが必要です。たとえば、ネットワーク インタフェースを通じて IP アドレスをオンラインにしたり、オフラインにしたりできるパーミッションなどです。
サーバの移行は、サーバに障害が発生したことを検出したときに、クラスタ マスターによって実行されます。クラスタ マスターは SSH を使用して対象のマシンにあるスクリプトを起動し、移行を開始します。対象のマシンにあるスクリプトは、クラスタのマスター上でサーバを実行しているのと同じユーザ ID で実行されます。
サーバの移行を実行するために必要なコマンドは ifconfig と arping です。これらのスクリプトには高度な OS 権限が必要になるため、セキュリティ ホールの可能性を防止できる点に留意することが重要です。
sudo を使用すると、高度な権限による ifconfig と arping の実行のみを許可するように SSH をコンフィグレーションできます。
ノード マネージャを使用してサーバ インスタンスを起動するには、リモート起動ユーザのユーザ名とパスワードが必要です。管理サーバと管理対象サーバでは、これらの資格の指定方法が異なります。
ノード マネージャによって起動されたサーバ インスタンスでは、自動再起動に使用するために、サーバの起動に使用された資格が暗号化され、サーバ固有の boot.properties
ファイルに保存されます。
スクリプトベースのノード マネージャでは、2 種類のキーと値のペアが使用されます。この節では、キーと値のペアをノード マネージャのクライアントまたはサーバをホストするマシンに配布する手順について説明します。
このオプションでは、同じキーと値のペアをノード マネージャのクライアントまたはサーバをホストするすべてのマシンに配布します。
最も簡単な方法は、ノード マネージャ ユーザのホーム ディレクトリを各マシンにマウントするようにするように LAN を設定することです。これにより、キーと値のペアがすべてのマシンで使用可能になります。この方法を使用しない場合は、次の手順を行います。
ssh-keygen
コマンドを使用して、ユーザの RSA キー値ペアを生成します。
プライベート キーと公開鍵のデフォルトの場所はそれぞれ、~/.ssh/id_rsa
と ~/.ssh/id_rsa.pub
です。
これらのキーが異なる場所に格納されている場合は、ssh
コマンドにオプションを追加してキーの場所を指定するように ShellCommand
テンプレートを変更します。
~/.ssh/authorized_keys
ファイルに公開鍵を追加します。次に例を示します。
command="/home/bea/server90/common/nodemanager/nodemanager.sh" 1024 33 23...2323
ここで、例で示した次の文字列を、id_rsa.pub
に格納されている生成した公開鍵で置き換えます。
注意 : | プレフィックス command=<command> は、公開鍵を使用してマシンとのセッションを確立するユーザが nodemanager.sh で指定されたコマンドしか実行できないことを保証しています。これによりユーザはノード マネージャ機能を実行するだけになり、データ、システム ユーティリティなどのマシン上のリソースへの権限のないアクセスが防止されます。 |
/home/bea$ ssh montgomery VERSION
ノード マネージャ クライアントをホストするマシンごとに、次の手順を行います。
前の節の手順 2 の説明に従って、マシン上の ~/.ssh/authorized_keys
ファイルに公開鍵を追加します。
![]() ![]() ![]() |