2. Brekeke PBX ミラーリングの設定
Brekeke PBXのミラーリング機能により、プライマリサーバー側のレジスター情報がセカンダリBrekeke PBXに自動で同期されます。
注意:
- Brekeke PBXバージョン3.9.1よりミラーリング機能は強化され、標準的な「ハートビート機能」と「切替(フェイルオーバー)機能」は 本ミラーリング機能に統合されました。そのため、ミラーリング設定画面において、後述する設定を完了すると「Heartbeat」設定画面での追加設定は不要になります。
- もし、プライマリサーバーの[SIP SERVER] > [Configuration] > [System] > [Network] > [Interface address]において、アドレスを設定している場合はセカンダリサーバーにも同じ設定をしてください。
- ルーターにおいてポートフォワーディング設定を行う場合はサービスIP宛てに行ってください。
- もし、サードパーティーデータベースをプライマリサーバーとセカンダリサーバーで共有する構成の場合はミラーリング設定は不要です。
- 冗長化機能はサービスIPアドレスおよびデフォルトゲートウェイIPアドレス設定のため、内部的にいくつかのOSコマンドをコールします。冗長化設定を行う前にサーバーOS環境においてこれらコマンドが正しくインストールされていることをご確認ください。
Brekeke PBXにおけるバンドルされたSIP Serverのミラーリング設定
1. [SYSTEM] > [Redundancy] > [Mirroring]画面において、以下の内容を設定します。
[Mirroring Settings] On/Off: On Role: マシンの役割に応じて"primary" または "secondary" を設定 Mirroring Request: REGISTER only ※1 [Service IP address] Service IP Address: <SERVICE_IP_ADDRESS> Prefix Length (or Subnet Mask): サービス側のネットワークのサブネットマスクを設定 Gateway IP address: サービス側のネットワークのゲートウェイを設定(<GATEWAY_IP_ADDRESS>) ※2 Interface Name: サービスIPを付与するインターフェースを設定 Add/Remove when started: On ※Onにすると、バンドルされたBrekeke SIP Serverが起動する際にサービスIPを付与(プライマリ側)または削除(セカンダリ側)します Add/Remove when failed: On ※Onにすると、バンドルされたBrekeke SIP Serverがフェイルした際にサービスIPを付与(新プライマリ側)または削除(旧プライマリ側)します Ping before switching the role: On [Peer IP address] Peer IP Address: 同じ管理用ネットワークにある相方のIPアドレスを設定 プライマリサーバーにおいては相方である、セカンダリサーバーの管理用IPアドレス(<SECONDARY_IP_ADDRESS>) セカンダリサーバーにおいては相方である、プライマリサーバーの管理用IPアドレス(<PRIMARY_IP_ADDRESS>) Local IP Address: 管理用IPアドレスを設定 ※バージョン3.12以降 プライマリサーバーにおいては<PRIMARY_IP_ADDRESS> セカンダリサーバーにおいては<SECONDARY_IP_ADDRESS> Ping before switching the role: On [Heartbeat] Heartbeat On/Off: On ※3
※1. [Mirroring Request] においては「REGISTER only」または「None」が選択できます。レジスター情報をミラーリングする場合は「REGISTER only」を選択します。「None」はレジスター情報はミラーリングしないがプライマリBrekeke PBXがフェイルした際、セカンダリBrekeke PBXへ切り替える場合に使用します。
※2. [Gateway IP address]を利用したデフォルトゲートウェイアドレスの付け替えはLinux OSを使用している場合のみ有効です。詳細はBrekeke SIP Serverセクションの「デフォルトゲートウェイ アドレスの書き換え」をご参照ください。
※3. [Heartbeat]セクション内のその他の設定値は通常、デフォルトのままで問題ありません。変更する場合は「[Mirroring] 設定画面 > [Heartbeat] セクション」をご参照ください。
※4. プライマリ – セカンダリサーバー間のミラーリングにはTCP:<SIP port (デフォルト5060)>が使用されます。事前にファイアウォールにおいて通信が許可されていることを確認してください。
設定例:
以下のようなネットワーク構成を想定した場合の設定例です。
<PRIMARY_IP_ADDRESS>: 192.168.200.10 / 255.255.255.0 <SECONDARY_IP_ADDRESS>: 192.168.200.20 / 255.255.255.0 <SERVICE_IP_ADDRESS>: 172.16.0.10 / 255.255.0.0 <GATEWAY_IP_ADDRESS>: 172.16.0.1 / 255.255.0.0
プライマリサーバー側の[SYSTEM] > [Redundancy] > [Mirroring]画面
[Mirroring Settings] On/Off: On Role: primary Mirroring Request: REGISTER only [Service IP address] Service IP Address: 172.16.0.10 (<SERVICE_IP_ADDRESS>) Prefix Length (or Subnet Mask): 255.255.0.0 Gateway IP address: 172.16.0.1 (<GATEWAY_IP_ADDRESS>) Interface Name: eth0 (サービスIPを付与するインターフェースを設定) Add/Remove when started: On Add/Remove when failed: On Ping before switching the role: On [Peer IP address] Peer IP Address: 192.168.200.20 (<SECONDARY_IP_ADDRESS>) Local IP Address: 192.168.200.10 (<PRIMARY_IP_ADDRESS>) Ping before switching the role: On [Heartbeat] Heartbeat On/Off: On
セカンダリサーバー側の[SYSTEM] > [Redundancy] > [Mirroring]画面
[Mirroring Settings] On/Off: On Role: secondary Mirroring Request: REGISTER only [Service IP address] Service IP Address: 172.16.0.10 (<SERVICE_IP_ADDRESS>) Prefix Length (or Subnet Mask): 255.255.0.0 Gateway IP address: 172.16.0.1 (<GATEWAY_IP_ADDRESS>) Interface Name: eth0 (切替が発生したのち、サービスIPを付与するインターフェースを設定) Add/Remove when started: On Add/Remove when failed: On Ping before switching the role: On [Peer IP address] Peer IP Address: 192.168.200.10 (<PRIMARY_IP_ADDRESS>) Local IP Address: 192.168.200.20 (<SECONDARY_IP_ADDRESS>) [Heartbeat] Heartbeat On/Off: On
設定を保存します。
2. 以下の dial plan ルールをセカンダリサーバーに設定します。設定後 、 [Apply Rules] ボタンをクリックしてください。※4
Rule: reject nonmirroring REGISTER
[Matching Patterns] $mirroring = false $primary = false $request = ^REGISTER [Deploy Patterns] $action = 200
※4. Brekeke PBX 3.8.x以降をご使用中かつ、ダイヤルプランにおいて既にデフォルトの“$pbx.register”がデプロイパターンで設定されている場合は上記のdial planルール”reject nonmirroring REGISTER”を追加する必要はありません。
3. もし、レジスターにおいて認証を使用する場合は両方のバンドルされたSIP Serverにおいて同じ realmを設定してください。
[SIP SERVER] > [Configuration] > [SIP] > [Authentication] > [Realm(ex. domain name)]
4. プライマリBrekeke PBXをリスタートしてください。
5. セカンダリBrekeke PBXをリスタートしてください。
起動後、以下のようなステータスが表示されていればミラーリングは正常に稼働しています。
プライマリ Brekeke PBX: [SYSTEM] > [Redundancy] > [Mirroring] >[Status]
[role]: Primary(1) [designated]: Primary(1) [service-address]: 172.16.0.10 (assigned)
セカンダリ Brekeke PBX: [SYSTEM] > [Redundancy] > [Mirroring] >[Status]
[role]: Secondary(2) [designated]: Secondary(2) [service-address]: 172.16.0.10 (not assigned)
ミラーリングのテスト:
- サービスIPを持つプライマリBrekeke PBXに対してUAをレジスターする。プライマリサーバー及びセカンダリサーバーのバンドルされたSIPサーバーにおいてレジスター情報が表示されていることを確認。
- プライマリサーバーにおいてレジスター情報を削除。削除がセカンダリサーバーに正しく同期され、レジスター情報がなくなることを確認。
- 通話を行った場合セッション情報はプライマリサーバーにのみ表示され、セカンダリサーバーには表示されないことを確認(ミラーリングはREGISTERメッセージのみのため、INVITEメッセージは同期されないため)。