Page 1 of 1

Redundancy and Multiple web/dialer setup

PostPosted: Tue Jan 08, 2019 9:33 pm
by hashtagjet
Hi,

We recently had an issue where our Dialer broke down. We managed to recover the data since we have a DB slave but it took almost a day to recover and get back to operation. This in mind, I'm thinking of the below approach to shorten the recovery time but would like to hear your opinion first.

So basically, I was thinking, create two 2 web app/Dialer, 1 DB and 1 DB slave. If anything happens to one of the dialer, I just switch the agents to web server 2. Will this approach work?

So I'm assuming that as long as I install the same SVN version on all servers, update the web server to use the same database, it would co-exists harmoniously. Is that correct? What kind of complications am I looking at here if ever? If methods above won't work, what are your suggestions? Your opinion would be much appreciated.

Cheers,
Jet

Re: Redundancy and Multiple web/dialer setup

PostPosted: Tue Jan 08, 2019 9:46 pm
by williamconley
Multi-Server Vicidial has been a thing for a decade. The Vicibox installation manual (and the Standard Vicidial installation script) address this during the installation. There can be only ONE DB server, but there is no technical limit to the number of Web, Dialer, Reports (aka: replication) servers. The reports/replication server CAN be converted to become the primary DB with some changes to all servers and a quick reboot of all servers in case of a catastrophic failure of the primary DB.

In a multi-server vicidial "Cluster", any web or dialer server that dies can be safely ignored and all users affected can log out (if they didn't get booted) and log back in again and just keep going.

If it's the DB server is the server that died, of course, it will be necessary to inform all the servers that the replication server is the new DB server and restart the database after altering it to use the my.cnf settings from the original primary DB (especially if it was in read-only mode for replication servers, which is common).