• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Input Plesk in a High Availability Cluster

AYamshanov

Silver Pleskian
Staff member
Server operating system version
Ubuntu 22.04
Plesk version and microupdate number
Plesk Obsidian 18.0.50
Hi everyone!

Have you already seen a blog post with "proof of concept" on how it is possible to start Plesk on top of high-availability cluster?

The idea of such Plesk HA cluster is based on moving all "single point of failure" resources out of server(s), it based on centralized database and centralized file storage (NFS) features. After that Plesk is only a process (to be honest lots of processes) that works on one of nodes. And Plesk could be quickly started on another cluster node if the the previous cluster node is failed.

Independently of HA cluster, using centralized resources could help to decrease cost of maintenance Plesk and infrastructure if you have lots of Plesk installations. On the same time, splitting "all-in-one" server into a few simple components/servers (Plesk, database, file server) also allows to increase service availability because the service is based on set of more simpler components.

We would love to get any feedback related Plesk HA in this forum thread! What do you think about the "proof of concept". Would you like to use it? What blockers do you see? What should be impovemed first? Feel free to share your thoughts!
 
Last edited:
Thank you for releasing this capability! Here are some initial suggestions:
  • Would love to see options to use w/ Plesk to create the floating IP if we're not using a cloud provider
  • Support HA email (Postfix)
Thank You,

SW
 
Are you suggesting that I divide the 100 subscriptions I have into multiple Plesk servers rather than putting them all on one server to even out the loads? The cost of having multiple Plesks will increase.
According to my experience, Apache's inability to handle heavy traffic was the root of my frequent downtime, not database or storage.
 
Hi sharulhafiz,

Could you please provide any details about "heavy traffic"? What was the reason and how did you fix the issue(s)? Have you contacted with the Plesk Support team? I am interested in details because usually 100 subscriptions are not a big load for Plesk but of course it depends on websites' traffic and server resources.
 
Hello Plesk community,

I wanted to present my current failover setup for feedback and suggestions. Here's a brief overview:

Infrastructure: Two Plesk instances managed behind a Cloudflare load balancer.
File Synchronization: Utilizing lsyncd to ensure real-time mirroring of the "httpdocs" directory for all subscriptions.
Subscription Management: For new subscriptions, I initialize them on my primary node. Post-setup, I utilize the Plesk Migrator tool on the secondary node to mirror configurations and content.
Database: We've opted for the Percona XtraDB Cluster for our database needs, which operates independently of this setup.

This configuration, albeit somewhat DIY, has been robust. The primary content hosted is either WordPress-based or static web pages. On an average, we serve to approximately 1 million visitors daily.

I'm eager to hear the community's thoughts on the above. Moreover, I'd love to see a native HA/Failover solution integrated into Plesk's future releases.

Any feedback, suggestions, or alternative ideas would be greatly appreciated.

Thank you for your time.
 
Hi,
My infrastructure for this project as the belwo:
I have 4 VM's installed with ubuntu22 inside Redhat virtualization host.
2 VM's are for the plesk nodes,1 vm for nfs server and 1 vm for db server and i have a floating ip in the same subnets of the 4 VM's. All that the 5 IP's are existing inside our local datacenter, so my question is: is this deploy How to Install Plesk in a High Availability Cluster will be working fine with this topology? or it need addition feature or other things to be familiar to work fine?
 
Hi ramuhammad!

To have dedicated database and file server is a good idea. But if you have only one host service (DB, NFS; without reservation), it is a potential single point of failure. You can connect different Plesk to these DB and NFS services, just need to be sure that they use different access credentials, different databases (for DB service), different directory (for NFS service); in other words Plesk are absolutely independent from each other.

The article you mentioned is based on our internal research and a solution described in the article is just a proof of concept, but not an instruction on how to build a ready to use production hosting because it has a lot of limitations. After the research we decided to do not invest resources into Plesk HA solution based on application level. Currently, it much easier to build a robust hosting using virtualization systems, in other words, increase availability on a server level.

[...]
In the meantime, we tried building a Plesk cluster. It proved to be possible but with many limitations. A Plesk cluster also requires more servers and resources for deployment from partners and customers, which leads to increased infrastructure costs. The solution would be unreasonably expensive for end users. Developing a Plesk cluster further and making it suitable for production requires lots of additional investments. They will not justify themselves from the point of view of our partners, customers, end users, and Plesk itself. Should anyone decide to continue the research on how to adapt Plesk to be a part of a failover cluster, we have published our research results together with the proof of concept. If you have any feedback, we have created a topic about high availability Plesk on our forum.

Note: We recommend using a centralized database and centralized file storage (NFS) together with virtualization systems and/or cloud providers that provide high-availability functionality on the server rather than the software level. At the same time, we do not plan to continue developing any high-availability redundancy on the application level.
 
We have not tried to build a Plesk HA prototype on top of Windows.
For Windows (as for Linux), there are exist many virtualization solutions. If you need additional solutions to increase availability of server or Plesk, I would recommend to use such virtualization solutions together with Plesk.
 
Hi sharulhafiz,

Could you please provide any details about "heavy traffic"? What was the reason and how did you fix the issue(s)? Have you contacted with the Plesk Support team? I am interested in details because usually 100 subscriptions are not a big load for Plesk but of course it depends on websites' traffic and server resources.
Hi. It looks like it took a year for me to reply to this, but I totally forgot about this post. A summary of our issue:
  1. We have daily downtime, but I'm not sure which services caused the issue; it could be Apache, PHP-FPM or MySQL
  2. We plan to load balance the server, but we have limited knowledge on how to do this with Plesk.
  3. We are a higher learning institute; we have our own datacenter; we use VMs for our web servers; I'm in charge of the websites and the servers; and currently, I have 3 VMs with Plesk each.
  4. I split servers based on their criticality; those that can't be down (such as our main homepage, and libraries) are put into different servers so that when our departments or faculties are being DDos or bruteforce, they won't be down together.
  5. As you said, 100 subscriptions (now down to almost 50 as we merged some together) is not a lot, but downtime still occurs, and I can't pinpoint the exact issue.
  6. We only use WordPress as our CMS.
Now, where do I start and what are the questions and information that I can provide to our datacenter person on how we are going to load balance the servers if I want to combine all 3 VMs into 1 Plesk but maybe deploy 5 load balanced servers?

Based on the blogs that were published (did you write them?) about the HA cluster, the external NFS and external DBs are straightforward to set up. But I need load balancer, not HA, so that we can deploy more servers later if the load gets bigger and it seems Apache and php-fpm (in my observation) can't handle too many processes (after some time they will freeze and need to be restarted)

Thank you for your time.
 
Back
Top