4 server redundant solution

From Kolmisoft Wiki
Jump to navigationJump to search

4 redundant with linuxha.jpg

Network setup

  • Best scenario when all 4 servers are on same LAN (subnet).
  • Other possible solutions: Server 1 and 2 are on one LAN, Server 3 and 4 are on a different LAN (subnet). A VPN for better security from

server 1 and 2 to server 3 and 4 can be made.

  • If all 4 servers are on different LANs (subnets) in that case between servers VPNs have to be configured. Drawback - such setup

management becomes too complicated.

  • If servers are in the different countries (continents), it might cause latency problems which has negative influence on the speed of retrieving/instering data to the DB (loading statistics, trying to retrieve some data, searching for a sound file, etc. will longer than usually).

Workflow

  • Servers 1 and 2 (S1 and S2) are identical. They serve as gateways with Asterisk + MOR installed.
  • Both of them have two network interfaces - one for Virtual IP which is visible from outside, and one for local IP for interconnection heartbeat monitoring
  • LinuxHA heartbeat monitors servers, e.g.
    • When S1 fails - S2 sees that and after 10s (default) will take Virtual IP, e.g. will start to serve calls, it is done automatically
    • When S1 is back up - S2 returns Virtual IP to S1 and system starts to function in normal work flow (done automatically).
  • Servers 3 and 4 (S3 and S4) are identical. They serve as MySQL DB.
  • Both of them have two network interfaces - one for Virtual DB IP (Virtual IP No. 2) which is visible for Asterisk servers S1 and S2, and one for local IP for interconnection heartbeat monitoring
  • LinuxHA heartbeat monitors servers, e.g.
    • When S3 fails - S4 sees that and after 10s (default) will take Virtual IP, it is done automatically
    • When S3 is back up - S4 returns Virtual IP to S3 and system starts to function in normal work flow (done automatically).
    • S1 connects to S3 over Virtual DB IP
  • DBs on S3 and S4 are synchronized over MySQL Replication


More info: