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 Pattern: ^REGISTER ※1
Service IP Address: SERVICE_IP_ADDRESS
Subnet Mask : サービス側のネットワークのサブネットマスクを設定
Gateway IP address:サービス側のネットワークのゲートウェイを設定 ※2
Interface Name : サービスIPを付与するインターフェースを設定
Add/Remove when started On/Off: on  ※onにすると、バンドルされたBrekeke SIP Server が起動する際にサービスIPを付与(プライマリ側)または削除(セカンダリ側)します
Add/Remove when failed On/Off: on  ※onにすると、バンドルされたBrekeke SIP Server がフェイルした際にサービスIPを付与(新プライマリ側)または削除(旧プライマリ側)します
Ping before switching the route On/Off: on
Peer IP Address: 同じ管理用ネットワークにある相方のIPアドレスを設定
プライマリサーバーにおいては相方である、セカンダリサーバの管理用IPアドレス SECONDARY_ IP_ADDRESS;
セカンダリサーバーにおいては相方である、プライマリサーバの管理用IPアドレス PRIMARY_IP_ADDRESS
Heartbeat On/Off: On ※3

※1. [Mirroring Request Pattern] においては 「REGISTER only」または「None」が選択できます。レジスター情報をミラーリングする場合は「REGISTER only」を選択します。「None」はレジスター情報はミラーリングしないがプライマリPBXがフェイルした際、セカンダリPBXへ切り替える場合に使用します。

※2. [Geteway 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 and 172.16.0.10 / 255.255.0.0
SECONDARY_IP_ADDRESS: 192.168.200.20 / 255.255.255.0
SERVICE_IP_ADDRESS: primary IP, 172.16.0.10 / 255.255.0.0
Gateway IP address: 172.16.0.1/255.255.0.0

 

プライマリサーバー側 [SYSTEM]>[Redundancy]>[Mirroring]画面

On/Off: on
Role: primary
Mirroring Request Pattern: ^REGISTER
Service IP Address: 172.16.0.10 (SERVICE_IP_ADDRESS)
Subnet Mask : 255.255.0.0
Gateway IP address : 172.16.0.1
Interface Name : eth1 (サービスIPを付与するインターフェースを設定)
Add/Remove when started On/Off: on
Add/Remove when failed On/Off: on
Ping before switching the route On/Off: on
Peer IP Address: 192.168.200.20 (SECONDARY_IP_ADDRESS)
Heartbeat On/Off: On

 

セカンダリサーバー側 [SYSTEM]>[Redundancy]>[Mirroring]画面

On/Off: on
Role: secondary
Mirroring Request Pattern: ^REGISTER
Service IP Address: 172.16.0.10 (SERVICE_IP_ADDRESS)
Subnet Mask : 255.255.0.0
Gateway IP address : 172.16.0.1
Interface Name : eth1 (切替が発生したのち、サービスIPを付与するインターフェースを設定)
Add/Remove when started On/Off: on
Add/Remove when failed On/Off: on
Ping before switching the route On/Off: on
Peer IP Address: 192.168.200.10 (PRIMARY_IP_ADDRESS)
Heartbeat On/Off: On

設定を保存します。

 

2. 以下の dial plan ルールをセカンダリ SIP Serverに設定します。設定後 、 [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. プライマリサーバーPBXをリスタートしてください。

5. セカンダリサーバー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