I have always wanted to do load balancing on a cpanel server - for redundancy. If you look at the cPanel website feature requests, you will see that load balancing is one of the top most requested items and it has been so for many years.
The problem is cpanel does not natively support this feature - which basically means, there is no ‘easy’ or 'in-built’ way to achieve data mirroring.
What that means to you as server admin, is you somehow need to find a way to make two (or more) instances synchronize the data before you can even think about load balancing.
It’s not so bad if the website on the server is static - even a simple wordpress site that’s just a brochure is probably ok - but if it’s woocommerce or any other ecommerce or site that relies on live database transactions, then you’ll have to overcome the issue of real-time data replication.... in other words, if the load balancer switches over from server 1 -> server 2 during a checkout (or other ecommerce) transaction, then server 2 needs to be able to instantly see the same database information that server 1 was seeing.... and handle the switchover of data (and back again from server 2 -> server 1, when 1 comes back online again or when the load can be switched back.
Also - if you are using the mail functionality in the cPanel server, you also have to think about MX and other DNS records and server IPs etc and to to ensure traffic is being sent to the right place.
You can achieve this through setting up a third server used for the DB which is independent of server 1 & 2 (look up Galera Cluster for MySQL)… and then what happens if this server 3 for the DB goes down? Maybe you will need a fourth server as a backup to server 3! As you can see, it’s starting to get complex… which is why cPanel has not gone down this road, instead, prefering to suggest users choose a reliable data-centre provider who provides 100% uptime guarantee or some kind of hardware failover - there are providers out there that do that… but it means you hand over trust.
I have not tried this (yet), but from my research, here is what needs to be done if you want to do it yourself;
1) set up three (or four) server instances - 2 for cpanel data and 1 (or 2) for DB.
2) set up your load balancer and e.g. floating IP
3) instal cpanel as a cluster set up (look it up in the docs on cpanel) - and find a way to rsync them.
If you go ahead with this.... let us know how it went!