New on LowEndTalk? Please Register and read our Community Rules.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
Comments
I assume you'd just need two licenses and to set up MySQL replication. One instance should obviously not be running cron jobs.
https://www.digitalocean.com/community/tutorials/how-to-set-up-master-slave-replication-in-mysql
The rest would be network or DNS failover.
Entirely probable I'm missing a vital detail here.
Thanx Jar, thats sounds one ( perfect ) way of doing it, is that the only way ?
drdb is another way and avoids the MySQL replication risks.
Wouldn't replication work better for geographic spread?
With MySQL replication, you'd still need a separate system to handle the files (ticket attachments and such).
If I was going to do it, I'd use drdb then I don't have to worry about replication falling over, breaking, going out of consistency. Also single 'disk' to upgrade, consistent attachments, etc.
drdb can be run cross-datacentre without problem.
I thought drbd had problems when there was latency of a few ms. I might be confusing it with Gluster.
DRDB and gluster work fine. Obviously you need a decent network path to make it work but the assumption is you'd run it on a clean route.
If I remember rightly Christiaan den Besten did some testing on this about 5 years ago. Have a look around for his paper on DRDB over WAN
I'd recommend master-master replication in this case though instead of master-slave.
You would need to keep in sync files on both installation (for example ticket attachments) so Gluster would be your best friend here.
Have one DB server, two slave application servers and one load balancer server with HAProxy implemented.
You can use Gluster as @Clouvider said to keep the files in sync.
I'm unsure on the IPs how WHMCS will be verified though.
You would have to contact WHMCS to see about the license, as even if you buy two, you won't be able to set them up due to replication of the config file.
Get two licenses, then in the config file, check the IP of the server if X IP then $licensekey = blah blah; if Y IP then $licensekey = the other
galera cluster , as for license in configuration file you can do this
$ip_license = array("ip1" => "lic1" ,"ip2" => "lic2"); $license = $ip_license[$_SERVER['SERVER_ADDR']];
I tried this in the past. it worked fine apart from a License issue.
drdb is a perfect solution! Everything else likes csync2, unison has some issues
Are you looking for failover solution without human interference. If you don't mind some manual work on fail, why not just use rsync + mysql replication, which saves you a WHMCS license.
The hard part is getting DB sync.. did you find a solution?
What I understand from OP, it's about redundancy.
WHMCS has a no IP license upon request. Ive used it before.
Getting multiple WHMCS licenses just for load balancing is not a good business approach :P Imagine having 5 slaves, you need to purchase 5 licenses?
If buying 5 licences would effected your business to the point you would worry about it, your not in the right business.
Redundancy is key, it's likely the OP's WHMCS is the most visited, public facing website their company have. However....
Well said. Alex.
Can you plz elaborate a bit ? Im sure many users will love to have your info.
I also feel WHMCS should start fresh think over issues like :
rather copying hostbill and then coming up with nothing better rather some fancy price tables.
Well, hope you achieve a cost effective and a reliable solution!
FYI - You don't need two licenses to do this (or at least you didn't in the past). Open a ticket and they can configure your current license to be used in multiple locations (locked to one domain though and you'll need to open a ticket if you ever need to reissue).