7.5.2 セッションフェイルオーバ機能を使用したシステムのスケールアウト

セッションフェイルオーバ機能を使用したシステムをスケールアウトする手順について説明します。

システムをスケールアウトする前に,あらかじめ追加するアプリケーションサーバのOSやアプリケーションをセットアップしてください。システムをスケールアウトするには,次の内容を実施します。

  1. 構成変更定義ファイルの作成
  2. システムの情報モデルの変更
  3. サービスユニットの追加
  4. J2EEアプリケーションのデプロイ

システムのスケールアウトの手順について説明します。

なお,ここでは,次に示すセッションフェイルオーバ用のサービスユニットを追加する場合を例にして,説明しています。業務サービス用のサービスユニットを追加する場合の手順については,「7.5.1 WebサーバとJ2EEサーバを同じサーバマシンに配置したシステムのスケールアウト」を参照してください。

参考
サーバ管理コマンドの指定値について
サーバ管理コマンドの引数に指定するサーバ名
サーバ管理コマンドの引数に指定するサーバ名は実サーバ名です。構成変更定義ファイル作成時に実サーバ名を設定していない場合,実サーバ名は論理サーバ名と同じです。なお,論理サーバ名の設定を省略している場合,論理サーバ名は「cmx_<Webシステム名>_<サービスユニット名>_<種別>_<通番>」となります。論理サーバ名の定義ルールについては,「12.3 コマンドの詳細」の「cmx_build_system」を参照してください。
サーバ管理コマンドを使用する操作
ここで説明する操作のうち,サーバ管理コマンドを使用する操作は,サービスユニットごとに実行します。
なお,ここで示すサーバ管理コマンドの実行例は,すべてサービスユニット1を対象としています。サービスユニット2に対しても,コマンド実行例中の値を次のように読み替えて同じ操作をしてください。
J2EEサーバ名:cmx_MyWebSystem_unit2_J2EE_01
-nameserver指定値:corbaname::192.168.1.12:900
注意
Webシステムの構成を変更するとWebシステムが動作するために必要なリソースも変更する必要があります。Webシステムが動作するために必要なリソースの見積もりについては,「5.1 使用リソースの見積もり」を参照してください。
<この項の構成>
(1) 構成変更定義ファイルの作成
(2) システムの情報モデルの変更
(3) サービスユニットの追加
(4) J2EEアプリケーションのインポートと開始

(1) 構成変更定義ファイルの作成

セッションフェイルオーバ用のサービスユニットを追加する場合,次の構成変更定義ファイルが必要になります。

サービスユニット・ホスト追加用,および論理サーバのパラメタ変更用の構成変更定義ファイルを任意の場所にコピーして,ファイルの内容を編集します。

  1. サービスユニット・ホスト追加用の構成変更定義ファイルを作成します。
    サービスユニット・ホスト追加用の構成変更定義ファイル(cmxaddcombinedmodel.xmlファイル)は,次の場所に提供されています。
    • Windowsの場合
      <Cosminexusインストールディレクトリ>¥manager¥config¥templates¥
    • UNIXの場合
      /opt/Cosminexus/manager/config/templates/
    このファイルをコピーし,名称を変更して,任意の場所に格納します。なお,ここではファイル名を「MyWebSystemAddSfo.xml」に変更しています。
  2. コピーしたサービスユニット・ホスト追加用の構成変更定義ファイルを編集します。
    MyWebSystemAddSfo.xmlファイルを編集します。ここでは,追加するサービスユニットの内容と,ホストの定義をします。
    設定後のMyWebSystemAddSfo.xmlファイルを次に示します。

    <?xml version="1.0" encoding="UTF-8"?>
    <unit-addition xmlns="http://www.cosminexus.com/mngsvr/schema/UnitAddition-2.5">
     <web-system>
       <name>MyWebSystem</name>
       
       <!-- 追加するサービスユニットの定義 -->
       <unit>
         <name>unit5</name>
         <allocated-host>
           <host-ref>sfosv3</host-ref>
           <hosts-for>sfo-tier</hosts-for>
           <define-server>
             <logical-server-name>sfo03</logical-server-name>
             <logical-server-type>sfo-server</logical-server-type>
           </define-server>
         </allocated-host>
       </unit>
       
     </web-system>
     <!-- 追加するホストの定義 -->
     <host>
       <host-name>sfosv3</host-name>
       <agent-host>192.168.100.15</agent-host>
     </host>
       
    </unit-addition>

    注 太字の部分が編集部分です。
  3. 論理サーバのパラメタ変更用の構成変更定義ファイルを作成します。
    論理サーバのパラメタ変更用の構成変更定義ファイル(cmxmodcombinedmodel.xmlファイル)は,次の場所に提供されています。
    • Windowsの場合
      <Cosminexusインストールディレクトリ>¥manager¥config¥templates¥
    • UNIXの場合
      /opt/Cosminexus/manager/config/templates/
    このファイルをコピーし,名称を変更して,任意の場所に格納します。なお,ここではファイル名を「MyWebSystemMod4.xml」に変更しています。
  4. コピーした論理サーバのパラメタ変更用の構成変更定義ファイルを編集します。
    MyWebSystemMod4.xmlファイルを編集します。ここでは,J2EEサーバで使用するセッションフェイルオーバ用フィルタの追加を定義します。
    設定後のMyWebSystemMod4.xmlファイルを次に示します。

    <?xml version="1.0" encoding="UTF-8"?>
    <model-modification xmlns="http://www.cosminexus.com/mngsvr/schema/ModelModification-2.5">
     <web-system>
     <name>MyWebSystem</name>
       <!-- 物理ティア(combined-tier)の定義 -->
       <tier>
         <tier-type>combined-tier</tier-type>
         <!-- 追加するセッションフェイルオーバ用フィルタの定義 -->
         <configuration>
           <logical-server-type>j2ee-server</logical-server-type>
           <param>
             <param-name>webserver.sfo.sfo_servers</param-name>
             <param-value>sfoserver1,sfoserver2,sfoserver3</param-value>
           </param>
           <param>
             <param-name>webserver.sfo.sfo_server.sfoserver3.serverName</param-name>
             <param-value>sfo03</param-value>
           </param>
         </configuration>
       </tier>
     </web-system>
    </model-modification>

    注 太字の部分が編集部分です。

(2) システムの情報モデルの変更

作成した構成変更定義ファイルの内容を,Management Serverのシステムの情報モデルに反映します。セッションフェイルオーバ用のサービスユニットを追加する場合,(1)で作成した2種類の構成変更定義ファイルごとに,システムの情報モデルに反映する必要があります。

  1. サービスユニット・ホスト追加用の構成変更定義ファイルを指定して,システムの情報モデルを変更します。
    cmx_change_modelコマンドに,(1)で作成したサービスユニット・ホスト追加用の構成変更定義ファイルを指定して,Management Serverのシステムの情報モデルを変更します。
    Windowsの場合

    <Cosminexusインストールディレクトリ>¥manager¥bin¥cmx_change_model -m 192.168.100.100 -u cosmi_admin -p cosmi_admin_passwd -f <任意のディレクトリ>¥MyWebSystemAddSfo.xml

    UNIXの場合

    # /opt/Cosminexus/manager/bin/cmx_change_model -m 192.168.100.100 -u cosmi_admin -p cosmi_admin_passwd -f <任意のディレクトリ>/MyWebSystemAddSfo.xml

  2. 論理サーバのパラメタ変更用の構成変更定義ファイルを指定して,システムの情報モデルを変更します。
    cmx_change_modelコマンドに,(1)で作成した論理サーバのパラメタ変更用の構成変更定義ファイルを指定して,Management Serverのシステムの情報モデルを変更します。
    Windowsの場合

    <Cosminexusインストールディレクトリ>¥manager¥bin¥cmx_change_model -m 192.168.100.100 -u cosmi_admin -p cosmi_admin_passwd -f <任意のディレクトリ>¥MyWebSystemMod4.xml

    UNIXの場合

    # /opt/Cosminexus/manager/bin/cmx_change_model -m 192.168.100.100 -u cosmi_admin -p cosmi_admin_passwd -f <任意のディレクトリ>/MyWebSystemMod4.xml

(3) サービスユニットの追加

変更したシステムの情報モデルを実システムに適用して,サービスユニットを追加します。

  1. 変更したシステムの情報モデルを実システムに展開します。
    cmx_build_systemコマンドを使用して,(2)で変更したシステムの情報モデルを実システムに適用します。
    Windowsの場合

    <Cosminexusインストールディレクトリ>¥manager¥bin¥cmx_build_system -m 192.168.100.100 -u cosmi_admin -p cosmi_admin_passwd -s MyWebSystem

    UNIXの場合

    # /opt/Cosminexus/manager/bin/cmx_build_system -m 192.168.100.100 -u cosmi_admin -p cosmi_admin_passwd -s MyWebSystem

  2. 追加したセッションフェイルオーバ用のサービスユニットを一括起動します。
    ここでは次の内容を実施しています。
    • cmx_start_targetコマンドを使用して,追加したサービスユニット「unit5」を稼働状態で起動します。-modeオプションに「ALL」を指定します。
    Windowsの場合

    <Cosminexusインストールディレクトリ>¥manager¥bin¥cmx_start_target -m 192.168.100.100 -u cosmi_admin -p cosmi_admin_passwd -mode ALL -s MyWebSystem -unit unit5

    UNIXの場合

    # /opt/Cosminexus/manager/bin/cmx_start_target -m 192.168.100.100 -u cosmi_admin -p cosmi_admin_passwd -mode ALL -s MyWebSystem -unit unit5

  3. 業務サービス用のサービスユニットを停止して,起動します。システム内のすべての業務サービス用のサービスユニットに対して実施します。
    ここでは次の内容を実施しています。
    • cmx_stop_targetコマンドを使用して,業務サービス用のサービスユニット「unit1」および「unit2」を停止状態にします。停止状態にするには,-modeオプションに「ALL」を指定します。
    • cmx_start_targetコマンドを使用して,業務サービス用のサービスユニット「unit1」および「unit2」を稼働状態にします。稼働状態にするには,-modeオプションに「ALL」を指定します。
    Windowsの場合

    <Cosminexusインストールディレクトリ>¥manager¥bin¥cmx_stop_target -m 192.168.100.100 -u cosmi_admin -p cosmi_admin_passwd -mode ALL -s MyWebSystem -unit unit1

    <Cosminexusインストールディレクトリ>¥manager¥bin¥cmx_start_target -m 192.168.100.100 -u cosmi_admin -p cosmi_admin_passwd -mode ALL -s MyWebSystem -unit unit1

    <Cosminexusインストールディレクトリ>¥manager¥bin¥cmx_stop_target -m 192.168.100.100 -u cosmi_admin -p cosmi_admin_passwd -mode ALL -s MyWebSystem -unit unit2

    <Cosminexusインストールディレクトリ>¥manager¥bin¥cmx_start_target -m 192.168.100.100 -u cosmi_admin -p cosmi_admin_passwd -mode ALL -s MyWebSystem -unit unit2

    UNIXの場合

    # /opt/Cosminexus/manager/bin/cmx_stop_target -m 192.168.100.100 -u cosmi_admin -p cosmi_admin_passwd -mode ALL -s MyWebSystem -unit unit1

    # /opt/Cosminexus/manager/bin/cmx_start_target -m 192.168.100.100 -u cosmi_admin -p cosmi_admin_passwd -mode ALL -s MyWebSystem -unit unit1

    # /opt/Cosminexus/manager/bin/cmx_stop_target -m 192.168.100.100 -u cosmi_admin -p cosmi_admin_passwd -mode ALL -s MyWebSystem -unit unit2

    # /opt/Cosminexus/manager/bin/cmx_start_target -m 192.168.100.100 -u cosmi_admin -p cosmi_admin_passwd -mode ALL -s MyWebSystem -unit unit2

(4) J2EEアプリケーションのインポートと開始

追加したセッションフェイルオーバ用のサービスユニットを利用するJ2EEアプリケーションのインポートと開始をします。

次に示すJ2EEアプリケーションをインポートして開始する手順を例にして説明します。

表7-6 例で使用するJ2EEアプリケーションのファイル名と表示名

種別名前
ファイル名MyApp2.ear
表示名MyApp2
アプリケーション統合属性ファイルのファイル名MyAppprop2.xml
  1. 追加したセッションフェイルオーバ用のサービスユニットを利用するJ2EEアプリケーションをインポートして,プロパティを設定します。
    ここでは,サーバ管理コマンドを使用して,次の内容を実施しています。
    • J2EEアプリケーションをJ2EEサーバへインポートします。
    • アプリケーション統合属性ファイルを取得します。
      取得したアプリケーション統合属性ファイルは必要に応じて編集します。
    • 編集したアプリケーション統合属性ファイルをJ2EEアプリケーションに反映します。
    Windowsの場合

    <Cosminexusインストールディレクトリ>¥CC¥admin¥bin¥cjimportapp cmx_MyWebSystem_unit1_J2EE_01 -nameserver corbaname::192.168.1.11:900 -f MyApp2.ear

    <Cosminexusインストールディレクトリ>¥CC¥admin¥bin¥cjgetappprop cmx_MyWebSystem_unit1_J2EE_01 -nameserver corbaname::192.168.1.11:900 -name MyApp2 -type all -c <任意のディレクトリ>¥MyAppprop2.xml

    <Cosminexusインストールディレクトリ>¥CC¥admin¥bin¥cjsetappprop cmx_MyWebSystem_unit1_J2EE_01 -nameserver corbaname::192.168.1.11:900 -name MyApp2 -type all -c <任意のディレクトリ>¥MyAppprop2.xml

    UNIXの場合

    # /opt/Cosminexus/CC/admin/bin/cjimportapp cmx_MyWebSystem_unit1_J2EE_01 -nameserver corbaname::192.168.1.11:900 -f MyApp2.ear

    # /opt/Cosminexus/CC/admin/bin/cjgetappprop cmx_MyWebSystem_unit1_J2EE_01 -nameserver corbaname::192.168.1.11:900 -name MyApp2 -type all -c <任意のディレクトリ>/MyAppprop2.xml

    # /opt/Cosminexus/CC/admin/bin/cjsetappprop cmx_MyWebSystem_unit1_J2EE_01 -nameserver corbaname::192.168.1.11:900 -name MyApp2 -type all -c <任意のディレクトリ>/MyAppprop2.xml

  2. デプロイしたJ2EEアプリケーションを起動します。
    サーバ管理コマンドを使用してJ2EEアプリケーションを起動します。
    Windowsの場合

    <Cosminexusのインストールディレクトリ>¥CC¥admin¥bin¥cjstartapp cmx_MyWebSystem_unit1_J2EE_01 -nameserver corbaname::192.168.1.11:900 -name MyApp2

    UNIXの場合

    # /opt/Cosminexus/CC/admin/bin/cjstartapp cmx_MyWebSystem_unit1_J2EE_01 -nameserver corbaname::192.168.1.11:900 -name MyApp2