冗長化・負荷分散について
CAMServer の Ultimate プランでは、オンプレミス環境でとても簡単にWebサーバ、Videoサーバの冗長化・負荷分散が行えます。
これにより、1台のサーバがダウンしてもサービスを継続させる事ができ、また大規模ユーザでご利用しても処理を分散させパフォーマンスを劣化させずサービスを提供できるようになります。
- 冗長化・負荷分散構成は、Windows / Linux をサポートします。
- デスクトップ版のLAN用は冗長化・負荷分散の対象外です。
- 冗長化・負荷分散構成にする目安は以下を検討してください。
- 本番運用後ハードウェア、ネットワークのリソース(CPU負荷、メモリ使用率、Web会議トラフィック量)が上限の50%を越えるようになった
- システム可用性に重点を置いており、サーバダウンが許されない場合に待機系を用意しておく
- Web会議の同時開催会議数は、単純にCAMServerノードを増やすだけでは達成できません。全ての会議が同一のVPNやセンタールータを中継しないよう、ネットワーク構成の検討も必要
冗長化・負荷分散の構成
スモールスタート構成、Load Balancer 構成、社内の要求レベル・コストに応じ最適な環境を構成できます。
スモールスタート構成
スモールスタート1:
CAMServer1 はRAID構成で耐久性の高い Disk を採用し、DB/File は CAMServer2 からも参照する。CAMServer2 は待機系やビデオサーバの負荷分散目的で利用する。 |
スモールスタート2:
バックアップ体制が完備された外部 Storage に DB/File を配置し、 CAMServer1 / CAMServer2 共にアクティブ構成にする。CAMServer から Storage へ高速にアクセスできる必要があります。 |
Client
スモールスタート構成はアクセスする CAMServer
を部署毎に分ける or 待機系とするなど利用者側が意識しておく必要があります。
また、Webアプリ版 を利用した場合、後述の cam.clusterHosts
を検出し接続時自動フェイルオーバーが可能です。
Web サーバ
分散構成の CAMServer
でもリアルタイムコミュニケーションが可能です。例えば、CAMServer1
に接続している Client は、CAMServer2
に接続している別 Client とチャットやWeb会議が可能です。
Video サーバ
各 Video サーバのアクティブな会議数、参加ユーザ数を元に負荷分散が行われます。メインの Video サーバに対し一定以上の負荷が発生した場合、順次 Next ノードに振り分けを行います。
Storage
DB、添付 File は NAS など共有ディスク上に配置します。これは後述する cam.serverDatePath
で設定できます。
Load Balancer 構成
Load Balancer
CAMServer の前段に Load Balancer
を配置する事でも負荷分散が可能です。この場合セッション・アフィニティーを使い、ロード・バランシング・アルゴリズムに優先し、同一 Client のアクセスは同一ノードへ振り分ける必要があります。
冗長化・負荷分散の設定
各分散サーバで共通の設定
CAMServer を冗長化・負荷分散に対応するには、分散サーバにそれぞれ CAMServer をインストールし、CAMServer/cam.ini
ファイルに次のエントリーを追加します。
cam.clusterHosts=camserver1;camserver2 cam.clusterHostsDesc=camserver1 がメインサーバ、camserver2 は待機系サーバです。 cam.serverDatePath=\\disk\CAMServer\data cam.enabledSingleProcessingHost=camserver1
cam.clusterHosts
cam.clusterHosts
は分散サーバそれぞれのホスト名を ;
で区切り列挙します。ホスト名はクライアント側から https://ホスト名/
でアクセスできる必要があります。
アクティブ・スタンバイ構成、アクティブ・アクティブ構成で次の通り設定してください。
- アクティブ、スタンバイ構成では、全ての CAMServer にアクティブ側のホスト名を先頭
cam.clusterHosts=camserver1;camserver2
- アクティブ、アクティブ構成で、部署ごとに CAMServer を分ける場合は、それぞれの CAMServer で自ホスト名を先頭
CAMServer1 cam.clusterHosts=camserver1;camserver2 CAMServer2 cam.clusterHosts=camserver2;camserver1
cam.clusterHostsDesc
cam.clusterHostsDesc
は分散サーバの説明欄のコメントを変更できます。
cam.serverDatePath
cam.serverDatePath
はDB、アップロードされた添付ファイルを保存する場所を指定します。分散されたサーバからアクセスできる NAS など共有ディスクを指定します。
※ 共有ディスクが無い場合は、サブ CAMServer がメインの CAMServer の CAMServer/config
フォルダを指定する事でも Storage を共有できます。
cam.enabledSingleProcessingHost
cam.enabledSingleProcessingHost
は cam.clusterHosts で列挙した先頭サーバのホスト名を指定してください。バッチ処理など単一ホストでしか稼働出来ない処理は、cam.enabledSingleProcessingHost に定義されたホストかどうか判定してから実行する目的で設定します。
サブのサーバのみ設定
cam.disableLANNetwork=true
を設定すると、LAN用のTCP/UDP接続を無効化できます。2台目以降のサブ CAMServer はこの設定を行ってください。
cam.disableLANNetwork=true