WAS 小ワザ集

第24回:WAS Base/Expressでシンプル・クラスターを構成する方法

Comments

コンテンツシリーズ

このコンテンツは全#シリーズのパート#です: WAS 小ワザ集

このシリーズの続きに乞うご期待。

このコンテンツはシリーズの一部分です:WAS 小ワザ集

このシリーズの続きに乞うご期待。

2010年11月11日にWAS Baseライセンスに関する拡張が発表され、これまで、IBM HTTP Server(IHS)プラグインからBaseサーバーへの割り振りはライセンス上2台まででしたが、25台(25JVM)までの割り振りがサポートされるようになりました。また、BaseでのDBを利用したセッションのフェイルオーバーに関しては5台までサポートされるようになりました。Expressでは、これまで通り、プラグインからの割り振り、セッションのフェイルオーバーともに2台のみのサポートです。

 

これにより、Baseでは大規模なワークロード・バランシングを実現することが可能になりました。もちろん、Base / Expressで実現できるクラスターはシンプルなワークロード・バランシングのため、HAマネージャーのような機能、トランザクションのフェイルオーバー、メッセージングの可用性などが必要な場合には、Network Deployment Editionの機能が必要になります。

さらに、2013年10月1日に、WASの使用期限付きライセンスとロードバランス / フェイルオーバー台数制限の廃止が発表されました。WAS V8.5.5以上のBase / Expressエディションで、IHS プラグインからWASサーバーへの割り振りが無制限になりました。また、WAS V8.5.5以上のBase / Expressエディションでの、DBを利用したセッションのフェイルオーバーの台数が無制限となりました。(WAS V8.5以前は、ロードバランス / フェイルオーバー共に、これまで通り制限があります。)

ここでは、シンプル・クラスターの構成手順をご紹介します。

  1. IHS、スタンドアロン・サーバーの作成

    IHS、スタンドアロン・サーバーの作成方法については、「WebSphere Application Server V8.5 導入ガイド」、「WebSphere Application Server V8.0 導入ガイド」、「WebSphere Application Server V7.0 導入ガイド」のBaseエディションの導入ガイドを参考ください。

  2. セッション管理のカスタム・プロパティー設定

    作成したスタンドアロン・サーバーの管理コンソールから、セッション管理のカスタム・プロパティーで「HttpSessionCloneID」を設定します。
    管理コンソールから、「サーバー」-「サーバー・タイプ」-「WebSphere Application Server」-「サーバー名」を選択します。「コンテナー設定」-「Webコンテナー設定」-「Webコンテナー」を選択します。

     

    「追加プロパティー」-「カスタム・プロパティー」を選択します。

     

    「新規作成」をクリックします。

     

    名前に「HttpSessionCloneId」と、値にユニークな任意の8 ~ 9 文字の英数字を入力し保存します。

     

    サーバーを再始動します。シンプル・クラスターを組むサーバー台数分、管理コンソールにログインして、同様の操作をします。HttpSessionCloneIdは、異なる値を設定してください。台数が多い場合は、wsadminツールを使用して設定することも可能です。

    コマンド例
    >wsadmin.bat –lang jython
    $ server = AdminConfig.getid('/Node:<ノード名> /Server:<サーバー名>/')
    $ wc = AdminConfig.list('WebContainer', server)
    $ AdminConfig.create('Property', wc, '[[validationExpression ""][name 
    "HttpSessionCloneId"][description ""][value "<CloneIDの値>"][required "false"]]')
    $ AdminConfig.save()
  3. (オプション)セッションDB設定

    セッション・フェイルオーバーを行う場合、セッションDBを設定します。

    管理コンソールから、「サーバー」-「サーバー・タイプ」-「WebSphere Application Server」-「サーバー名」を選択します。「セッション管理」を選択します。

     

    「追加プロパティー」-「分散環境設定」を選択します。

     

    「分散セッション」から「データベース」を選択します。

     

    「データベース」をクリックして、「データベース設定」からDB接続のためのJNDI名、認証情報などの項目を入力して内容を保存します。

     

    サーバーを再始動します。

  4. プラグイン構成ファイルを生成

    各サーバーで必要なアプリケーションがインストールされており、Webサーバーとマッピングされているのを確認します。確認できたら、プラグイン構成ファイルを生成します。
    プラグイン構成ファイルの生成方法はいくつか方法があります。1つがGenPluginCfgコマンドを実行する方法で、2つ目は管理コンソールの「環境」-「グローバル Web server plug-in 構成の更新」のページで「OK」をクリックすることで生成できます。

     

    また、wsadminコマンドでも生成することができます。
    生成したプラグイン構成ファイルは、名前を変更するなどしてどのサーバーのものかわかるようにしておきます。

  5. プラグイン構成ファイルを1つに集約

    各サーバーで生成された複数のプラグイン構成ファイルを1つに集約します。手動で必要な部分を編集してまとめる方法と、プラグイン・マージ・ツール(WAS V7はFix Pack13から提供)を使用する方法があります。
    各サーバーで生成したプラグイン構成ファイルには、Webサーバーで定義するロード・バランシング・オプション(ランダム/ラウンドロビン)や再ロード間隔、再割り振り時間、プラグイン・ログファイル・ディレクトリーなどの情報が含まれていないため、ファイル集約時もしくはマージ・ツール適用後に編集する必要があります。

    <AppServer_root>/binに移動し、pluginMerge.sh(.bat)を実行します。以下のようにマージ元ファイルを複数指定し、最後にマージ後生成ファイルを指定します。

    マージ元ファイル1   plugin-cfg1.xml
    マージ元ファイル2   plugin-cfg2.xml

    マージ後ファイル    plugin-cfg.xml

     
    >pluginMerge.bat plugin-cfg1.xml plugin-cfg2.xml ・・・ plugin-cfg.xml
    実行例
    実行例
    実行例
     

    手動でマージする場合は、上図を参考にし、VirtualHostGroup、ServerCluster、Routeをマージして下さい。その際、Nameが同じにならないよう注意が必要です。

  6. マージしたプラグイン構成ファイルをIHSプラグインに配置

    1つに集約したシンプル・クラスターのプラグイン構成ファイルをIHSのhttpd.confで指定されているディレクトリーに配置するとIHSからのワークロード・バランシングが可能になります。

    プラグイン構成ファイルのデフォルト配置場所

    Unix/Linuxの場合    <Plugin Install>/config/webserver1/plugin-cfg.xml
    Windowsnoの場合   <Plugin Install> ¥config¥webserver1¥plugin-cfg.xml


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=WebSphere
ArticleID=838790
ArticleTitle=WAS 小ワザ集: 第24回:WAS Base/Expressでシンプル・クラスターを構成する方法
publish-date=11122013