Brekeke PBX Wiki

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)

 


 

ミラーリングのテスト:
  1. サービスIPを持つプライマリBrekeke PBXに対してUAをレジスターする。プライマリサーバー及びセカンダリサーバーのバンドルされたSIPサーバーにおいてレジスター情報が表示されていることを確認。
  2. プライマリサーバーにおいてレジスター情報を削除。削除がセカンダリサーバーに正しく同期され、レジスター情報がなくなることを確認。
  3. 通話を行った場合セッション情報はプライマリサーバーにのみ表示され、セカンダリサーバーには表示されないことを確認(ミラーリングはREGISTERメッセージのみのため、INVITEメッセージは同期されないため)。
Yes No
Suggest Edit