Access Manager では、Sun Java System Message Queue (Message Queue) を通信ブローカとして、また Sleepycat Software, Inc. の BerkeleyDB をセッションストアデータベースとして使用して、Web コンテナから独立したセッションフェイルオーバー実装を提供しています。Access Manager 7 2005Q4 の拡張機能には、セッションフェイルオーバー環境を設定するための amsfoconfig スクリプトと、Message Queue ブローカや Berkeley DB クライアントを起動および停止するための amsfo スクリプトが含まれています。
ここでは、次のトピックについて説明します。
次の図に、次のコンポーネントを含む Access Manager セッションファイルオーバーの配備シナリオを示します。
別々のホストサーバーで、サポートされる Web コンテナ上で実行される 3 つの Access Manager インスタンス。すべての Access Manager インスタンスは同じ Directory Server にアクセスします。これは図に示されていません。
別々のサーバーでクラスタモードで実行する Message Queue ブローカ。
Message Queue ブローカと同じサーバーで実行する Berkeley DB クライアント (amsessiondb)。
パフォーマンスおよびセキュリティ向上のためのロードバランサ。
クライアント要求は、Web ブラウザ、Access Manager SDK を使用して C または Java アプリケーション、または J2EE/Web エージェントから発行できます。
次の表は、Access Manager セッションフェイルオーバーに必要なコンポーネントのインストール方法を説明しています。
表 6–1 Access Manager セッションフェイルオーバーコンポーネントのインストール
コンポーネント |
インストール方法 |
---|---|
Access Manager |
Java ES インストーラを使用して、各ホストサーバーに Access Manager の 1 番目のインスタンスをインストールします。インストーラによって、必要なセッションフェイルオーバー Solaris パッケージまたは Linux RPM が追加されます。 参照: 『Sun Java Enterprise System 2005Q4 Installation Guide for UNIX』 Java ES インストーラを使用して Access Manager をインストールする場合は、レルムモード (バージョン 7.x) または旧バージョンモード (バージョン 6.x) のどちらかを選択できます。Access Manager セッションフェイルオーバーは、両方のモードでサポートされています。 Java ES インストーラを実行したあと、amconfig スクリプトを実行して次のことを行います。
詳細については、「複数のホストサーバーへの Access Manager のインストール」を参照してください。 |
Message Queue |
Java ES インストーラを使用して、Message Queue をインストールします。 参照: 『Sun Java Enterprise System 2005Q4 Installation Guide for UNIX』 |
Berkeley DB クライアント (Access Manager のサブコンポーネント) |
Java ES インストーラおよび amconfig スクリプトによって、Berkeley DB クライアントに必要な Access Manager パッケージまたは RPM が追加されます。ただし、Access Manager がインストールされていないサーバーに Berkeley DB クライアントをインストールする場合は、使用しているオペレーティングシステムに応じて、次のパッケージまたは RPM を手動で追加する必要があります。 Solaris OS の場合は、pkgadd コマンドを使用して、次のパッケージを追加します。 SUNWamsfodb、SUNWbdb、および SUNWbdbj。 参照: Solaris のマニュアル Linux OS の場合は、rpm コマンドを使用して、次の RPM を追加します。 sun-identity-sfodb、sun-berkeleydatabase-core、および sun-berkeleydatabase-java。 参照: Linux のオンラインマニュアルページ。 |
複数サーバーの配備では、Access Manager のすべてのインスタンスが同じパスワード暗号化鍵値を使用する必要があります。1 番目の Access Manager インスタンスをインストールしたとき、AMConfig.properties ファイル内の am.encryption.pwd プロパティーからパスワード暗号化鍵値を保存します。次に、Java ES インストーラまたは amconfig スクリプトを実行してほかのホストサーバーに Access Manager インスタンスを配備するとき、パスワード暗号化鍵にこの同じ値を使用します。
Access Manager をセッションフェイルオーバー用に設定するには、次の手順に従います。
各手順を、以降の節で詳細に説明します。
配備でセッションフェイルオーバーが有効であるかどうかを判別するには、AMConfig.properties ファイルの com.iplanet.services.debug.level プロパティーを error から message に変更します。 次に、Solaris システムでは /var/opt/SUNWam/debug ディレクトリ、Linux システムでは /var/opt/sun/identity/debug ディレクトリにある amSession ログを確認します。
Access Manager インスタンスを実行している各ホストサーバーで、Cookie エンコードを無効にします。
Web Server が Web コンテナの場合、AMConfig.properties ファイルの次のプロパティーが false (Java ES インストーラによって設定されるデフォルト値) に設定されていることを確認してください。
com.iplanet.am.cookie.encode=false
sun-web.xml ファイルの encodeCookies プロパティーを false に設定します。次に例を示します。
<sun-web-app> <property name="encodeCookies" value="false"/> ... </sun-web-app>
Application Server、BEA WebLogic、または IBM WebSphere Application Server が Web コンテナの場合は、AMConfig.properties ファイルの次のプロパティーを false に設定します。
com.iplanet.am.cookie.encode=false
Access Manager クライアントは、Cookie のエンコードもデコードも実行する必要はありません。リモート SDK クライアントは、AMConfig.properties ファイルまたは Web コンテナの sun-web.xml ファイルのどちらかで、Access Manager サーバー側の設定と同期させる必要があります。
Access Manager インスタンスを実行している各ホストサーバーで、Access Manager Web コンテナの server.xml (または同等の) 設定ファイルに、imq.jar と jms.jar がインストールされている場所を追加します。Solaris システムの場合は次のようになります。
<JAVA javahome="/usr/jdk/entsys-j2se" serverclasspath= "/usr/share/lib/imq.jar:/usr/share/lib/jms.jar: /opt/SUNWwbsvr/bin/https/jar/webserv-rt.jar: ${java.home}/lib/tools.jar: /opt/SUNWwbsvr/bin/https/jar/webserv-ext.jar: /opt/SUNWwbsvr/bin/https/jar/webserv-jstl.jar: /usr/share/lib/ktsearch.jar"
Message Queue のユーザー名とパスワードとして guest ユーザーを使用しない場合は、Message Queue がインストールされているサーバーで、Message Queue ブローカに接続するための新しいユーザーとパスワードを追加します。たとえば、Solaris システムで、amsvrusr という新しいユーザーを追加するには、次のように指定します。
# /usr/bin/imqusermgr add -u amsvrusr -p password
次のコマンドを発行して、guest ユーザーを非アクティブにします。
# /usr/bin/imqusermgr update -u guest -a false
amsessiondb スクリプトは、Berkeley DB クライアント (amsessiondb) の起動、データベースの作成、および特定のデータベース値の設定を行うために、amsfo スクリプトから呼び出されます。このスクリプトには、次に示すように、各種のデフォルトのパスやディレクトリを指定する変数が含まれています。
JAVA_HOME=/usr/jdk/entsys-j2se/ IMQ_JAR_PATH=/usr/share/lib JMS_JAR_PATH=/usr/share/lib BDB_JAR_PATH=/usr/share/db.jar BDB_SO_PATH=/usr/lib AM_HOME=/opt/SUNWam
これらのいずれかのコンポーネントがそれらのデフォルトのディレクトリにインストールされていない場合は、必要に応じて amsessiondb スクリプトを編集し、変数に正しい場所を設定します。
Access Manager 7 2005Q4 には、Access Manager 配備をセッションフェイルオーバー用に設定するための amsfoconfig スクリプトが用意されています。
amsfoconfig スクリプトを実行するには、Access Manager 配備が次の要件を満たしている必要があります。
配備内に 2 つ以上の Access Manager インスタンスがインストールおよび設定され ている必要がありますが、配備をサイトとして設定することはできません。amsfoconfig スクリプトによって、配備がサイトとして設定されているか、またはプラットフォームサーバーリスト内の任意のサーバーエントリでサイトが有効になっていると判断された場合、スクリプトはメッセージを表示して終了します。セッションフェイルオーバーを手動で設定するには、「セッションフェイルオーバーの手動での設定」を参照してください。
配備内の少なくとも 2 つのサーバーに Java Message Queue (MQ) ブローカがインストールおよび設定されている必要があります。
配備内に Berkeley DB のクライアントとデータベースがインストールおよび設定されている必要があります。
Directory Server が実行されており、このスクリプトからアクセス可能であり、かつ Access Manager データを使用して設定されている必要があります。
amsfoconfig スクリプトは amsfo.conf 設定ファイルを読み取り、次の機能を実行して、Access Manager 配備をセッションフェイルオーバー用に設定します。
新規サイトを設定します。スクリプトは、プラットフォームサーバーリスト内の Access Manager インスタンスと amsfo.conf ファイルのロードバランサに関する情報を使用して、Access Manager セッションフェイルオーバー配備用の新規サイトを作成します。このスクリプトは既存のプラットフォームサーバーリストを変更して、サイトが設定されたあと、プラットフォームサーバーリストのすべてのサーバーエントリがそのサイトに属するようにします。
たとえば、デフォルト値 10 が SiteID として使用されている場合、http://server1.example.com:80|01 は http://server1.example.com:80|01|10 に変更されます。
レルムまたは DNS のエイリアスの既存のリストを変更します。スクリプトは、ロードバランサのホスト名をこのリストに追加します。このホスト名は、amsfo.conf ファイルの lbServerHost 変数から取得されます。
セッションフェイルオーバー設定 XML を Directory Server にロードします。スクリプトは、設定情報に基づいてセッション設定 XML ファイルを動的に生成し、生成された XML を Directory Server にロードします。この情報は、Access Manager コンソールの「セッション」の「セカンダリ設定インスタンス」に対応しています。
次の表は、Access Manager セッションフェイルオーバーのスクリプトと設定ファイルを示しています。
表 6–2 Access Manager セッションフェイルオーバーのスクリプトと設定ファイル
名前 |
説明および場所 |
---|---|
amsofconfig |
Access Manager をセッションフェイルオーバー用に設定するためのスクリプト。 Solaris システム: AccessManager-base/SUNWam/bin Linux システム: AccessManager-base/identity/bin |
amsfo |
Message Queue ブローカや amsessiondb クライアントを起動および停止するためのスクリプト。 Solaris システム: AccessManager-base/SUNWam/bin Linux システム: AccessManager-base/identity/bin |
amsfopasswd |
暗号化された Message Queue ブローカユーザーのパスワードを生成するためのスクリプト。 Solaris システム: AccessManager-base/SUNWam/bin Linux システム: AccessManager-base/identity/bin |
amsfo.conf |
セッションフェイルオーバーの設定ファイル。 Solaris システム: AccessManager-base/SUNWam/lib Linux システム: AccessManager-base/sun/identity/lib |
amProfile.conf |
セッションフェイルオーバーの環境ファイル。 Solaris システム: etc/opt/SUNWam/config Linux システム: /etc/opt/sun/identity/config |
AccessManager-base は、Access Manager のベースインストールディレクトリを表します。デフォルト値は次のとおりです。 Solaris システム: /opt Linux システム: /opt/sun |
amsfoconfig スクリプトを実行して Access Manager をセッションフェイルオーバー用に設定するには、次の手順に従います。
スーパーユーザー (root) としてログインするか、スーパーユーザーになります。
表 6–3の説明に従って、amsfo.conf ファイル内の変数を設定します。
スクリプトを実行します。たとえば、Access Manager がデフォルトディレクトリにインストールされた Solaris システムでは、次のように入力します。
# cd /opt/SUNWam/bin # ./amsfoconfig
スクリプトの実行時に、状態情報が表示されます。
amsfoconfig スクリプトから入力を求められたら、次のパスワードを入力します。
Access Manager 管理者 (amAdmin) のパスワード
Message Queue ブローカユーザーのパスワード
結果をチェックするには、/var/tmp/amsfoconfig.log ファイルを確認します。
次の表は、amsfoconfig スクリプトで使用される amsfo.conf ファイル内の変数を示しています。amsfoconfig スクリプトを実行する前に、これらの変数を配備の必要に応じて設定します。
表 6–3 amsfoconfig スクリプトで使用される amsfo.conf ファイル内の変数
変数 |
説明 |
---|---|
CLUSTER_LIST |
クラスタに参加している Message Queue ブローカのリスト。形式は次のとおりです。 host1:port, host2:port,host3: port 次に例を示します。 jmq1.example.com:7777,jmq2.example.com:7777,jmq3.example.com:7777 デフォルトはありません。 |
lbServerPort |
ロードバランサのポート。デフォルトは 80 です。 |
lbServerProtocol |
ロードバランサへのアクセスに使用されるプロトコル (http または https)。デフォルトは http です。 |
lbServerHost |
ロードバランサの名前。 次に例を示します。lbhost.example.com |
SiteID |
amsfoconfig スクリプトによって作成される新規サイト(およびロードバランサ) の識別子。 SiteID は、プラットフォームサーバーリスト内にすでに存在している サーバー ID より大きい任意の値にすることができます。 デフォルトは 10 です。 |
次の例は、amsfoconfig スクリプトの実行例を示しています。
Welcome to Sun Java System Access Manager 7 2005Q4 Session Failover Configuration Setup script. ========================================================= ========================================================= Checking if the required files are present... ========================================================= Running with the following Settings. ------------------------------------------------- Environment file: /etc/opt/SUNWam/config/amProfile.conf Resource file: /opt/SUNWam/lib/amsfo.conf ------------------------------------------------- Using /opt/SUNWam/bin/amadmin Validating configuration information. Done... Please enter the LDAP Admin password: (nothing will be echoed): password1 Verify: password1 Please enter the JMQ Broker User password: (nothing will be echoed): password2 Verify: password2 Retrieving Platform Server list... Validating server entries. Done... Retrieving Site list... Validating site entries. Done... Validating host: http://amhost1.example.com:7001|02 Validating host: http://amhost2.example.com:7001|01 Done... Creating Platform Server XML File... Platform Server XML File created successfully. Creating Session Configuration XML File... Session Configuration XML File created successfully. Creating Organization Alias XML File... Organization Alias XML File created successfully. Loading Session Configuration schema File... Session Configuration schema loaded successfully. Loading Platform Server List File... Platform Server List server entries loaded successfully. Loading Organization Alias List File... Organization Alias List loaded successfully. Please refer to the log file /var/tmp/amsfoconfig.log for additional information. ############################################################### Session Failover Setup Script. Execution end time 10/05/05 13:34:44 ###############################################################
Access Manager 7 2005Q4 には、次の機能を実行するための amsfo スクリプトが用意されています。
セッションフェイルオーバー配備用に指定されている Java Message Queue (MQ) ブローカを起動および停止します。
セッションフェイルオーバー配備用に指定されている amsessiondb クライアン トを起動および停止します。
amsfo.conf 設定ファイルを読み取り、ファイル内の変数に基づいた特定の操作を実行します。たとえば、スクリプトで、最初に Berkeley DB データベースを削除し、次に再作成するように設定できます。
/tmp/amsession/logs/ ディレクトリ内の amsessiondb.log、jmq.pid、および amdb.pid の各ファイルに書き込みます。デフォルトのログディレクトリは、amsfo.conf ファイル内の LOG_DIR 変数によって決定されます。
Access Manager セッションフェイルオーバーコンポーネントを起動するには、次の手順に従います。
配備の必要に応じて、amsfo.conf 設定ファイル内の変数を設定します。これらの変数については、表 6–4を参照してください。
amsfo スクリプトを実行して、Java Message Queue (MQ) ブローカおよび amsessiondb クライアントを起動します。詳細は、「amsfo スクリプトの実行」を参照してください。
各 Access Manager インスタンスを、それぞれの Web コンテナを起動することに より起動します。詳細は、『Sun Java System Access Manager 7 2005Q4 管理ガイド』を参照してください。
amsfo スクリプトには、次の起動および停止オプションが含まれています。
使用法: amsfo { start | stop }
amsfo スクリプトを実行するには、次の手順に従います。
スーパーユーザー (root) としてログインするか、スーパーユーザーになります。
配備の必要に応じて、amsfo.conf ファイル内の変数を設定します。これらの変数については、表 6–4を参照してください。
スクリプトを実行します。たとえば、Access Manager がデフォルトディレクトリにインストールされた Solaris システムでセッションフェイルオーバーコンポーネントを起動するには、次のように入力します。
# cd /opt/SUNWam/bin # ./amsfo start
スクリプトの結果をチェックするには、/tmp/amsession/logs/amsessiondb.log ファイルを確認します。
次の表は、amsfo.conf 設定ファイル内の変数を示しています。amsfo スクリプトを実行する前に、これらの変数を配備の必要に応じて設定します。
表 6–4 amsfo.conf 設定ファイル
変数 |
説明 |
---|---|
AM_HOME_DIR |
Access Manager のデフォルトのインストールディレクトリ。デフォルトディレクトリは、次のようにプラットフォームによって異なります。 Solaris システム: AccessManager-base/SUNWam/opt Linux システム: AccessManager-base/identity/opt AccessManager-base は、Access Manager のベースインストールディレクトリを表します。デフォルト値は、Solaris システムでは /opt、Linux システムでは /opt/sun です。 |
AM_SFO_RESTART |
スクリプトで amsessiondb クライアントを自動的に再起動するかどうかを指定します (true または false)。 デフォルトは true (amsessiondb クライアントを再起動する) です。 |
CLUSTER_LIST |
クラスタに参加している Message Queue ブローカのリスト。形式は次のとおりです。 host1:port, host2:port,host3: port 次に例を示します。 jmq1.example.com:7777,jmq2.example.com:7777,jmq3.example.com:7777 デフォルトはありません。 |
DATABASE_DIR |
セッションデータベースファイルを作成するディレクトリ。 デフォルトは "/tmp/amsession/sessiondb" です。 |
DELETE_DATABASE |
スクリプトで amsessiondb プロセスを再起動するときに、新規データベースを削除してから作成するかどうかを指定します (true または false)。 デフォルトは true です。 |
LOG_DIR |
ログディレクトリの場所。 デフォルトは "/tmp/amsession/logs" です。 |
START_BROKER |
amsessiondb プロセスとともに Message Queue ブローカを起動するかどうかを指定します (true または false)。この変数を次のように設定します。 true - Message Queue ブローカは、amsessiondb プロセスと同じマシン上で実行されます。 false - Message Queue ブローカと amsessiondb プロセスは、別のマシン上で実行されます。 デフォルトは true です。 |
BROKER_INSTANCE_NAME |
起動する Message Queue ブローカインスタンスの名前。 デフォルトは aminstance です。 |
BROKER_PORT |
ローカル Message Queue ブローカインスタンスのポート。 デフォルトは 7777 です。 |
BROKER_VM_ARGS |
Java VM の引数。デフォルトは "-Xms256m -Xmx512m" です。これにより、システムリソースに基づく最大値が設定されます。 |
USER_NAME |
Message Queue ブローカーへの接続に使用されるユーザー名。 デフォルトは「guest」です。「3–Message Queue サーバーでの新規ユーザーの追加」 の手順で別のユーザー名を指定した場合は、USER_NAME にその名前を設定します。 |
PASSWORDFILE |
Message Queue ブローカへの接続に使用される暗号化パスワードを含むパスワードファイルの場所。暗号化パスワードを生成するには、「amsfopasswd スクリプト」の説明に従って amsfopasswd スクリプトを使用します。 デフォルトは $AM_HOME_DIR/.password です。$AM_HOME_DIR は、Access Manager のデフォルトのインストールディレクトリを指定します。 |
amsfopasswd スクリプトはテキスト形式の Message Queue ブローカパスワードを受け取り、暗号化パスワードをファイル内に格納して返します。次に、このファイルを amsfo スクリプトへの入力 (PASSWORDFILE 変数) として使用できます。
amsfopasswd スクリプトは、次のディレクトリに格納されています。
Solaris システム: AccessManager-base /SUNWam/bin
Linux システム: AccessManager-base /identity/bin
デフォルトの AccessManager-base インストールディレクトリは、Solaris システムでは /opt、Linux システムでは /opt/sun です。
次の構文を使用して amsfopasswd スクリプトを実行します。
amsfopasswd -f filename | --passwordfile filename -e password | --encrypt password amsfopasswd -h | --help
次の表は、amsfopasswd スクリプトの引数を示しています。
表 6–5 amsfopasswd スクリプトの引数
引数 |
説明 |
---|---|
-f filename | --passwordfile filename |
amsfopasswd が暗号化パスワードを保存するファイルのパス。 |
-e password | --encrypt password |
amsfopasswd が暗号化するテキストパスワード。 |
-h | --help |
amsfopasswd コマンドの使用例を表示して、終了します。 |
次の例は、amsfopasswd スクリプトを示しています。暗号化パスワードは、/opt/SUNWam/.password ファイルに格納されます。
# ./amsfopasswd -f /opt/SUNWam/.password -e mypassword
場合によっては、Access Manager をセッションフェイルオーバー用に手動で設定する必要があります。たとえば、amsfoconfig スクリプトの実行を計画していない場合があります。または、amsfoconfig スクリプトが設定を終了する前に次のメッセージを表示して終了する場合もあります。「サイトはすでに設定されています」または「サーバーエントリはすでにサイト設定されています」。
次の手順は、Access Manager をセッションフェイルオーバー用に手動で設定する方法について説明しています。
これらの手順は、前に説明した手順、つまり必要なコンポーネントをインストールし、amsfoconfig スクリプトを使用してセッションフェイルオーバーを設定したあと、さまざまなコンポーネントを起動する方法の手順に対応しています。
配備で、Access Manager インスタンス、ロードバランサ、Message Queue、および Berkeley DB クライアントを含むすべてのコンポーネントをインストールします。詳細は、「セッションフェイルオーバーコンポーネントのインストール」を参照してください。
複数の Access Manager インスタンスとロードバランサをサイトとして設定する amsfoconfig スクリプトの実行を計画していない場合は、「サイトとしての Access Manager 配備の設定」の説明に従って配備を設定する必要があります。
ロードバランサ用の新規セカンダリ設定インスタンスを作成するには、次の手順に従います。
amAdmin として Access Manager 7 2005Q4 コンソール にログインします。
「設定」、「グローバルプロパティー」、「セッション」、「セカンダリ設定インスタンス」の順にクリックします。
「新規」をクリックし、次の値を追加します。
名前: ロードバランサの URL。次に例を示します。 http://lb.example.com:80
セッションストアユーザー: Message Queue サーバーへの接続に使用している名前 (「guest」以外に存在する場合)。
セッションストアパスワード: セッションストアユーザーのパスワード。
最大待ち時間: 5000。別の値が必要な場合以外は、デフォルト値を使用してください。
データベース URL: Message Queue ブローカのアドレスリスト。次に例を示します。
mqsvr1.example.com:7777,mqsvr2.example.com:7777,mqsvr3.example.com:7777
デフォルトの Message Queue ポートは 7676 です。ただし、Application Server を Web コンテナとして使用している場合は、ポート 7676 はすでに Application Server で使用されている可能性があるため、別のポートを使うことを検討してください。有効なポート番号の範囲については、Message Queue のマニュアルを参照してください。
「追加」をクリックして変更を保存します。
次のタスクを実行します。これらのタスクは、amsfoconfig スクリプトを実行している場合と同じです。
amsfo スクリプトを実行して、Message Queue ブローカと Berkeley DB クライアント(amsessiondb) を起動します。次に、各 Access Manager インスタンスを、それぞれの Web コンテナを起動することにより起動します。「セッションフェイルオーバーコンポーネントの起動」を参照してください。
amsessiondb スクリプトは、Berkeley DB クライアント (amsessiondb) の起動、データベースの作成、および特定のデータベース値の設定を行うために、amsfo スクリプトから呼び出されます。
Access Manager セッションフェイルオーバーコンポーネントの起動と停止には、amsfo スクリプトを実行し、そのスクリプトから amsessiondb スクリプトを呼び出す方法をお勧めします。次の情報は、amsessiondb スクリプトを単独で実行する必要が生じた場合のためにのみ提供されています。
amsessiondb スクリプトを実行する前に、「4–amsessiondb スクリプトの編集 (必要な場合)」の説明に従ってパスが正しく設定されていることを確認してください。
amsessiondb スクリプトを実行する場合、Message Queue ブローカーパスワードをコマンド行にテキストで入力できます (-w または --password オプション)。ただし、ファイル内で暗号化パスワードを使用する場合(-f または --passwordfile オプション) は、最初に amsfopasswd スクリプトを実行してMessage Queue ブローカテキストパスワードをファイル内に暗号化します。次に、このファイルを -f または --passwordfile オプションに使用して、amsessiondb スクリプトを実行します。
次の構文を使用して amsessiondb スクリプトを実行します。
amsessiondb [ -u username | --username username ] [ -w password | --password password | -f filename | --passwordfile filename ] [ -c cachesize | --cachesize cachesize ] [ -b dbdirectory | --dbdirectory dbdirectory ] -a MQServerAddressList | --clusteraddress MQServerAddressList [ -s numcleanexpiredsessions | --numcleansessions numcleanexpiredsessions ] [ -v | --verbose ] [ -i statsinterval | --statsInterval statsinterval ] amsessiondb -h | --help amsessiondb -n | --version
次の表は、amsessiondb スクリプトの引数を示しています。
表 6–6 amsessiondb スクリプトの引数
引数 |
説明 |
---|---|
-u username | --username username |
Message Queue ブローカーに接続するユーザー名。「3–Message Queue サーバーでの新規ユーザーの追加」で指定したユーザーを指定します。 デフォルトは「guest」です。 |
-w password | --password password |
Message Queue ブローカに接続するために使用するユーザー名のテキストパスワード。「3–Message Queue サーバーでの新規ユーザーの追加」で指定したパスワードを指定します。 デフォルトは「guest」です。 |
-f filename | --passwordfile filename |
Message Queue ブローカーにアクセスするための暗号化パスワードを格納するファイル。 このオプションを指定する場合は、-w または --password オプションを指定しないでください。 |
-c cachesize | --cachesize cachesize |
M バイト単位でのキャッシュサイズ。デフォルトは 8M バイトです。 |
-b dbdirectory | --dbdirectory dbdirectory |
Berkeley DB データベース (amsessions.db) が作成されるベースディレクトリ。 デフォルトは “sessiondb” です。amsessiondb スクリプトを実行しているディレクトリに作成されます。 注: データベースを作成するディスク領域を十分に確保するには、100,000 セッションあたり 1G バイト必要です。 |
-a MQServerAddressList | --clusteraddress MQServerAddressList |
次の形式の Message Queue ブローカアドレスリスト。 host1: port[,host2: port,host 3:port,...] 次に例を示します。mqsvr1:7777,mqsvr2:7777 |
-s numcleanexpiredsessions | --numcleansessions numcleanexpiredsessions |
クリーンアップ間隔ごとに削除される期限切れのセッション数。 デフォルトは 1000 です。 |
-v | --verbose |
冗長モードで実行します。結果は標準出力に送られます。 デフォルトは、非冗長モードです。 |
-i statsinterval | --statsInterval statsinterval |
要求、読み取り、書き込み、削除の合計の統計情報を標準出力に出力する秒単位の間隔。 デフォルトは 60 秒です。 |
-h | --help |
amsessiondb コマンドの使用例を表示して、終了します。 |
-n | --version |
現在インストールされている Access Manager のバージョンを返し、終了します。 |
次の例は、amsessiondb スクリプトを示しています。
amsessiondb -u amsvrusr -f pwfile -c 128 -b sessiondb -a host1:7777,host2:7777
amsessiondb クライアントを使用したパフォーマンステストの条件は、次のとおりです。
Berkeley DB 上の処理数は、1 秒間の認証回数の 2 倍でした。
テストは次の設定で行われました。
書き込みデータ – 3K バイト
持続時間 – 1 分
Berkeley DB キャッシュサイズ – 28M バイト (Access Manager 7 2005Q4 のデフォルトキャッシュサイズは 32M バイト)
次の表は、テスト結果を示しています。
表 6–7 amsessiondb クライアントを使用したパフォーマンステスト
ディスク |
備考 |
---|---|
標準の IDE ディスク: 1 秒間に 666 回の書き込み |
各サイトは 1 秒間に最大 300 回の認証をサポートできます。 そのため、IDE ディスクは推奨されません。 |
標準の 10K RPM SCSI ディスク (Sun Blade サーバー上): 1 秒間に 1520 回の書き込み |
各サイトは 1 秒間に最大 750 回の認証をサポートできます。 |
Seagate Cheetah 15K RPM SCSI ディスク: 1 秒間に 1860 回の書き込み |
各サイトは 1 秒間に最大 900 回の認証をサポートできます。 |
Sun T-300 ディスクアレイ: 1 秒間に 2700 回の書き込み |
各サイトは 1 秒間に最大 1300 回の認証をサポートできます。 |
/tmp 内のスワップ領域を使用するディスク: 1 秒間に 3300 回の書き込み |
各サイトは 1 秒間に最大 1600 回の認証をサポートできます。 |