7.7.1 運用管理サーバモデルでのシステムのスケールアウト

ここでは,運用管理サーバモデルでの,システムのスケールアウトの準備およびスケールアウトで実施する内容について説明します。

スケールアウトの準備
システムのスケールアウトの準備とは,複製元のディスクイメージを作成する作業です。システム構築が終わって,運用環境が整ったところで実施します。スケールアウトの準備では次の内容を実施します。
  1. 複製元アプリケーションサーバでの準備
  2. スケールアウト用ディスクイメージの作成
スケールアウト
複製したディスクイメージを使用して,スケールアウトをします。スケールアウトでは,次の内容を実施します。
  1. ディスクイメージのリストア
  2. 構成変更定義ファイルの作成
  3. システムの情報モデルの変更(サービスユニットの追加)

注意
JP1/AJS2 - SOを使用してシステムのスケールアウトを自動化する場合
JP1/SC/DPMを使用したシステムのスケールアウトを,JP1/AJS2 - SOを使用して自動化する場合,ディスク複製インストール(リストア)が完了してから運用管理エージェントを自動起動するように設定する必要があります。設定方法については,マニュアル「JP1/ServerConductor/Deployment Manager」を参照してください。また,JP1/AJS2 - SOとの連携については,「15.1.2 JP1/AJS2 - SOを使用したシナリオによるシステムの運用」を参照してください。

ここでは,「6.1.1 WebサーバとJ2EEサーバを同じサーバマシンに配置する構成のシステムの構築例」を基に構築したシステムで,JP1/SC/DPMを利用して,システムをスケールアウトする手順について説明します。JP1/SC/DPMを利用したスケールアウトの例を次の図に示します。

図7-1 JP1/SC/DPMを利用したスケールアウトの例(運用管理サーバモデルの場合)

[図データ]

この図では,JP1/SC/DPMを使用して,サービスユニット1を構成する複製元アプリケーションサーバのディスクイメージを複製し,そのディスクイメージに従って,新たなアプリケーションサーバにOSやアプリケーションをインストールします。次に,Smart Composer機能のコマンドを使用して,サービスユニット3をシステムにスケールアウトします。この例で使用するサービスユニットの設定例を次の表に示します。

表7-12 サービスユニットの設定例(運用管理サーバモデルの場合)

設定項目複製元のサービスユニット追加するサービスユニット
ホスト名apsv1apsv3
サービスユニット名unit1unit3
IPアドレス192.168.1.11192.168.1.13
管理IPアドレス192.168.100.11192.168.100.13

なお,Webシステムの構成を変更するとWebシステムが動作するために必要なリソースも変更する必要があります。Webシステムが動作するために必要なリソースの見積もりについては,「5.1 使用リソースの見積もり」を参照してください。

参考
サーバ管理コマンドの指定値について
サーバ管理コマンドの引数に指定するサーバ名
サーバ管理コマンドの引数に指定するサーバ名は実サーバ名です。「6.8 システムの構成定義」で,実サーバ名を設定していない場合,実サーバ名は論理サーバ名と同じです。なお,論理サーバ名の設定を省略している場合,論理サーバ名は「cmx_<Webシステム名>_<サービスユニット名>_<種別>_<通番>」となります。論理サーバ名の定義ルールについては,「12.3 コマンドの詳細」の「cmx_build_system」を参照してください。
<この項の構成>
(1) 複製元アプリケーションサーバでの準備
(2) JP1/SC/DPMを使用したスケールアウト用ディスクイメージの作成
(3) JP1/SC/DPMを使用したディスクイメージのリストア
(4) 構成変更定義ファイルの作成
(5) システムの情報モデルの変更(サービスユニットの追加)

(1) 複製元アプリケーションサーバでの準備

複製元アプリケーションサーバで,JP1/SC/DPMによるディスクイメージ作成のための準備をします。

  1. リソースアダプタおよびJ2EEアプリケーションを一括停止します(必要に応じて)。
    複製先アプリケーションサーバで,リソースアダプタおよびJ2EEアプリケーションを自動で開始する場合には,この操作は不要です。
    ここでは,次の内容を実施します。
    • サーバ管理コマンドを使用して,サービスユニット「unit1」のJ2EEアプリケーションを停止します。
    • サーバ管理コマンドを使用して,サービスユニット「unit1」のリソースアダプタを停止します。
    Windowsの場合

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

    <Cosminexusインストールディレクトリ>¥CC¥admin¥bin¥cjstoprar cmx_MyWebSystem_unit1_J2EE_01 -nameserver corbaname::192.168.1.11:900 -resname DB_Connector_for_HiRDB_Type4

    Linuxの場合

    # /opt/Cosminexus/CC/admin/bin/cjstopapp cmx_MyWebSystem_unit1_J2EE_01 -nameserver corbaname::192.168.1.11:900 -name MyApp

    # /opt/Cosminexus/CC/admin/bin/cjstoprar cmx_MyWebSystem_unit1_J2EE_01 -nameserver corbaname::192.168.1.11:900 -resname DB_Connector_for_HiRDB_Type4

  2. サービスユニット,および運用管理エージェントを停止します。
    ここでは,次の内容を実施します。
    • cmx_stop_targetコマンドを使用して,サービスユニット「unit1」を停止します。
    • adminagentctlコマンドを使用して,運用管理エージェントを停止します。
    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¥adminagentctl stop

    Linuxの場合

    # /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/adminagentctl stop

  3. 運用管理エージェントのサービスを手動起動に設定します。
    ここでは,次の内容を実施します。
    Windowsの場合

    <Cosminexusインストールディレクトリ>¥manager¥bin¥mngautorun -d

    Linuxの場合

    # rm /etc/rc.d/rc2.d/S80AdminAgent

  4. デフォルトのJ2EEサーバをアンセットアップします。
    インストール時にホスト名で作成されているデフォルトのJ2EEサーバをアンセットアップします。
    ここでは,次の内容を実施します。
    Windowsの場合

    <Cosminexusインストールディレクトリ>¥CC¥server¥bin¥cjsetup -d apsv1

    Linuxの場合

    # /opt/Cosminexus/CC/server/bin/cjsetup -d apsv1

  5. ログを削除します。
    ログファイルを削除します。削除対象ログファイルが格納されているディレクトリについては,「付録C JP1/SC/DPMを利用したスケールアウト時に削除するログファイル」を参照してください。

注意
JP1/SC/DPMを使用してスケールアウトする場合,複製先アプリケーションサーバマシンが複数のIPアドレスで構成されているときは,adminagent.properties(運用管理エージェントプロパティファイル)のadminagent.adapter.bind_hostキーに設定するIPアドレスを正規表現で指定する必要があります。これは,スケールアウトするマシンはIPアドレスが変わり,固定のIPアドレスが指定できないためです。なお,adminagent.properties(運用管理エージェントプロパティファイル)については,マニュアル「Cosminexus リファレンス 定義編」を参照してください。

(2) JP1/SC/DPMを使用したスケールアウト用ディスクイメージの作成

JP1/SC/DPMを使用して複製元アプリケーションサーバからディスクイメージを作成します。なお,複製元アプリケーションサーバは,ディスクイメージの作成後,業務を再開します。

  1. スケールアウト用ディスクイメージを作成します。
    複製元アプリケーションサーバから,スケールアウト用のディスクイメージを作成します。なお,詳細については,マニュアル「JP1/ServerConductor/Deployment Manager」のディスク複製OSインストール機能の説明を参照してください。
  2. 運用管理エージェントを開始します。
    adminagentctlコマンドを使用して,運用管理エージェントを開始します。
    Windowsの場合

    <Cosminexusインストールディレクトリ>¥manager¥bin¥adminagentctl start

    Linuxの場合

    # /opt/Cosminexus/manager/bin/adminagentctl start

    なお,必要に応じて,運用管理エージェントの自動起動を再設定してください。設定方法については,「6.5.3(2) 運用管理エージェントの自動起動の設定」を参照してください。
  3. リソースアダプタおよびJ2EEアプリケーションを開始します(必要に応じて)。
    リソースアダプタおよびJ2EEアプリケーションを自動で開始する場合,この操作は不要です。
    ここでは,次の内容を実施します。
    • cmx_start_targetコマンドを使用して,サービスユニット「unit1」を準備状態で起動します。準備状態にするには,-modeオプションに「READY」を指定します。
    • サーバ管理コマンドを使用して,サービスユニット「unit1」のリソースアダプタを開始します。
    • サーバ管理コマンドを使用して,サービスユニット「unit1」のJ2EEアプリケーションを開始します。
    Windowsの場合

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

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

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

    Linuxの場合

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

    # /opt/Cosminexus/CC/admin/bin/cjstartrar cmx_MyWebSystem_unit1_J2EE_01 -nameserver corbaname::192.168.1.11:900 -resname DB_Connector_for_HiRDB_Type4

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

  4. サービスユニットを開始します。
    cmx_start_targetコマンドを使用して,サービスユニット「unit1」を稼働状態で起動します。稼働状態にするには,-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 unit1

    Linuxの場合

    # /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

(3) JP1/SC/DPMを使用したディスクイメージのリストア

作成したディスクイメージを,サービスユニットを追加するアプリケーションサーバにリストアします。なお,リストアの操作手順については,マニュアル「JP1/ServerConductor/Deployment Manager」を参照してください。

また,追加したアプリケーションサーバの運用管理エージェントを起動する場合は,ここで実施します。

Windowsの場合

<Cosminexusインストールディレクトリ>¥manager¥bin¥adminagentctl start

Linuxの場合

# /opt/Cosminexus/manager/bin/adminagentctl start

なお,運用管理エージェントの自動起動の設定については,「6.5.3(2) 運用管理エージェントの自動起動の設定」を参照してください。

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

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

  1. 構成変更定義ファイルを作成します。
    サービスユニット・ホスト追加用の構成変更定義ファイル(cmxaddcombinedmodel.xmlファイル)は,次の場所に提供されています。
    • Windowsの場合
      <Cosminexusインストールディレクトリ>¥manager¥config¥templates¥
    • Linuxの場合
      /opt/Cosminexus/manager/config/templates/
    このファイルをコピーし,名称を変更して,任意の場所に格納します。なお,ここではファイル名を「MyWebSystemAdd.xml」に変更しています。
  2. コピーした構成変更定義ファイルを編集します。
    MyWebSystemAdd.xmlファイルを編集します。ここでは,追加するサービスユニットの内容と,ホストの定義をします。また,<addition-mode>タグを追加し,「DEPLOYED」を指定してください。
    設定後のMyWebSystemAdd.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>
       <addition-mode>DEPLOYED</addition-mode>
       
       <!-- 追加するサービスユニットの定義 -->
       <unit>
         <name>unit3</name>
         <allocated-host>
           <host-ref>apsv3</host-ref>
           <hosts-for>combined-tier</hosts-for>
         </allocated-host>
       </unit>
       
     </web-system>
     <!-- 追加するホストの定義 -->
     <host>
       <host-name>apsv3</host-name>
       <agent-host>192.168.100.13</agent-host>
     </host>
       
    </unit-addition>

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

(5) システムの情報モデルの変更(サービスユニットの追加)

作成した構成変更定義ファイルの内容を,Management Serverのシステムの情報モデルに反映します。変更したシステムの情報モデルを実システムに適用して,サービスユニットを追加します。

  1. システムの情報モデルを変更します。
    cmx_change_modelコマンドに,(4)で作成した構成変更定義ファイルを指定して,Management Serverのシステムの情報モデルを変更します。
    Windowsの場合

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

    Linuxの場合

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

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

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

    Linuxの場合

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

  3. 負荷分散機からのリクエストの振り分けを抑止した状態で,追加したサービスユニットを一括起動します。
    ここでは次の内容を実施しています。
    • cmx_start_targetコマンドを使用して,追加したサービスユニット「unit3」を準備状態で起動することで,負荷分散機からのリクエストの振り分けを抑止します。準備状態にするには,-modeオプションに「READY」を指定します。
    Windowsの場合

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

    Linuxの場合

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

  4. リソースアダプタおよびJ2EEアプリケーションを開始します(必要に応じて)。
    リソースアダプタおよびJ2EEアプリケーションが自動で開始しない場合は,最初に,リソースアダプタおよびJ2EEアプリケーションを一括開始します。JP1/SC/DPMを使用してディスクイメージを作成するときに,複製元アプリケーションサーバでリソースアダプタおよびJ2EEアプリケーションを一括停止しなかった場合,この操作は必要ありません。
    ここでは次の内容を実施しています。
    • サーバ管理コマンドを使用して,サービスユニット「unit3」のリソースアダプタを開始します。
    • サーバ管理コマンドを使用して,サービスユニット「unit3」のJ2EEアプリケーションを開始します。
    Windowsの場合

    <Cosminexusのインストールディレクトリ>¥CC¥admin¥bin¥cjstartrar cmx_MyWebSystem_unit3_J2EE_01 -nameserver corbaname::192.168.1.13:900 -resname DB_Connector_for_HiRDB_Type4

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

    Linuxの場合

    # /opt/Cosminexus/CC/admin/bin/cjstartrar cmx_MyWebSystem_unit3_J2EE_01 -nameserver corbaname::192.168.1.13:900 -resname DB_Connector_for_HiRDB_Type4

    # /opt/Cosminexus/CC/admin/bin/cjstartapp cmx_MyWebSystem_unit3_J2EE_01 -nameserver corbaname::192.168.1.13:900 -name MyApp

  5. 追加したサービスユニットを一括起動します。
    cmx_start_targetコマンドを使用して,追加したサービスユニット「unit3」を一括起動します。このとき,コマンドの-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 unit3

    Linuxの場合

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