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