Synchronize Plesk Servers (Failover)
Keep two (or more) Plesk servers in sync for a failover scenario.
Migration Manager only allows manual "sync"
We hear you and see a clear demand for this feature.
I want to say that implementing these features requires a lot of investment, and in 2021 Plesk team keeps focusing on the delivery of other improvements (sad, but true).
We will back to the re-evaluation of these features at the beginning of the next year.
Please continue to share your use cases and requirements, and it would really helpful if you point to existing solutions that we can review and check before implementation.
Your feedback is important to us. Thank you, everyone.
H S commented
Welcome to 2022. 2013-2022. Waiting and waiting for this feature. Please do it.
I see here that it depends what kind of failover is requested to be implemented. A manual failover solution or an automatic one. Because for a manual one I do not see that it should be too complicated: Establish a permanent ssh connection between the servers and create a monitoring service who detects changed files. Afterwards they will be synced to the replication server.
Way more complicated might be a multi-node scenario or as said an automatic failover which detects if the primary goes down and starts the takeover based on defined conditions.
Recommendation: Create the manual failover approach for the normal licence and add a more complex solution for extra licensing.
agaitan, they have a cPanel migration tool but not one for Plesk yet. Knowing them, if there becomes demand for it, they will build it.
agaitan, it has been good. No issues at all. The CP is not as robust as plesk but they are always adding new features. I'm not aware of any import tools right now but they may have something. We have a pretty complex cloud setup already so we stopped using the plesk migrator years ago due to some problems with it. The Cluster CS team can be hired for custom work on migrations though.
hi Will how is clustercs? have any migration tool from cpanel plesk to that ?
I've since been migrating away from Plesk, over to https://clustercs.com/. Not only has it been noticeably faster and obviously an HA/cluster, but we have found savings spreading the computational workloads onto more smaller instances compared with the giant machines we have to use to support the Plesk way of doing things. So far so good. Very responsive and ambitious team over there.
C'mon guys! You can do it! Failover it's the thing!
Rob Lee commented
Hurry Up Plesk! Geez you're platform has been surpassed many times over
For some people said using database sync master to master (replication). It all fun until 1 database stop syncing and you only found out few month later after it stop replicated.
Solution is you can use external database service like Amazon then connect 2 server to that database.
Dennis Rahmen commented
In my setup,
the plesk server uses clustered network storage for the "vhost" and "mailnames" files.
I also have an external MariaDB Galera cluster for client databases, that the plesk server has access to through a load balancer.
This is in my opinion how it should be done.
Take as much clustering out of the hands of plesk as possible. Because plesk does not need to do that, there are better already existing solutions for that purpose.
Now to what plesk has to do:
Every plesk server should use its own database, as it is currently, and rely on an external database server for client databases.
Same for the files, those should be on an external file server.
Now plesk has to manage the config and customers, those should always be up-to-date on both servers, and it should not throw errors when both access the same file or database and try changing something.
Because fact is, if you need a cluster of plesk servers, you should also have external database and file servers.
I know it is not as cheap as just having two plesk servers do all the work but blowing plesk up is not the solution.
in fact, the main requirements to "cluster" option are(IMHO):
- Database syn as master-master to allow cross sync of databases;
- master-master sync of files(data), within work folders. Such idea has already been implemented in various services/software(the same google drive, one drive, seafile etc)
I believe everyone agrees to pay that as an additional license.
AS for DNS failover, it is something that can be added further, however, there are a lot of ready services that provide such solution based on monitoring. at the end such a system can be developed on your own.
Have to agree w/ Plesk this is a highly complex task.
I have had to resolve myself to using a custom built load balancer, with Plesk merely acting as a low level http only (no ssl handshake) website manager.
It would be ideal, if Plesk had a proxy-only mode with likely a separate license, to act as a simple proxy and ssl certbot manager for domains, linked to a full installation of plesk itself.
HA and load balancing will require significant effort on their part, considering Plesk is not built to handle that job whatsoever.
And personally, I find nginx a far better product for caching than Varnish, especially for things like Wordpress.
I realize that's debatable. But seems to me a simple proxy management system with a linked Plesk server -- to separate SSL handshake from hosting, would be a far more achievable goal. And would open the door towards HA.
Plesk Staff, how about for an initial version you offer us the following:
1. An option to have Plesk Migrator perform regular syncs (using something similar to existing Plesk Scheduled Tasks)
2. Plesk should check to make sure another sync is not already running. Or better yet, breakup the sync by services (ie Email, Web, DB, DNS sync can run concurrently). This way if a sync of email is taking too long, the sync of other services can continue to take place on the desired frequency.
3. Offer an option for Plesk admin to update DNS zones for all services to point to new failover server. This can be a prerequisite to use an external DNS server (like Plesk Route53 or an external name server). So when the primary fails, the failover can connect w/ external name server to update DNS records for various plesk services and customer hosted sites to point to new server (ie failover server).
4. Once DNS is updated to failover server, primary server should get locked as to not allow updates (DB, Web, DNS, etc) as all changes should now occur on the failover. This will help ensure easy syncing back from failover to primary server.
5. Once primary server comes back online, plesk admin must manually select to over-write primary server with data from failover. It would be nice to have an option to select which services to sync from failover to primary (eg admin might select to only sync email or DB from failover to primary server but not other services).
I think most of the above capabilities are either available or can be easily added to Plesk with minimal investment. Overtime, Plesk can develop a more robust bidirectional sync.
Sam Thacker commented
Following up -- Plesk, thank you for providing an official response on this.
As I mentioned previously, I am still planning to continue my annual license. I am looking forward to seeing future updates on this.
Dennis Rahmen commented
I would like to say: thanks for the response, plesk!
Also I think we all should come down a bit, the plesk team clearly acknowledged the importance of this feature and with the response from today we can all decide for our self if we want to wait for the feature to maybe come in 2022 or not.
Speaking with some staff members in the interviews, I can assure you they care and would have also liked this feature earlier.
Simon Christiansen commented
I own a professional webhosting company. We were in the process of completely re-building the entirety of all our systems. We obviously considered Plesk. But for the lack of HA/Failover, Plesk is no longer a reasonable alternative in 2021. There are better alternatives with HA/Failover support. And there are new open-source webhosting systems entering the industry every year. I find it very odd if Plesk does not include this very soon, if they intend to keep their customers. And I find it even wierder if they do, but don't come with an official statement on the issue. Therefore I concluded that they do not care, and this is why we chose something else entirely instead of Plesk. Many will come to the same conclusion as we did, so I strongly suggest you take this seriously, Plesk.
Shane E commented
Likewise, we have been using Plesk for around 12 years now and are currently in the process of migrating all of our sites away from it for this sole reason
I concur with what Sam has written. I'm using Plesk much longer and now because of the lack of HA/Failover, I had to move two of my sites to managed by hand server. All I've needed was simple keepalived configured so two servers publish the same IP address. It just works.
I get it that there are going to be problems with the total solution:
- managing IP
- whiteness / split-brain situations
- syncing storage
- syncing DB's
and many many more
But I think you really should start implementing it and pushing it to production. Maybe not a full-blown server failover cluster at once, but adding feature by feature with the final solution in mind.
Please don't force us to look for a different solution to manage ours servers.