BeDazzler

Member
Feb 20, 2006
12
0
151
Australia
Hello Everyone,

We've been running cPanel/WHM for a little while and would like to take things to the next level in terms of availability.

We have multiple servers running DNS and websites (not clustered).
Websites and DNS are manually copied (backed up and multi-restored) between servers, so in the event of a single server failure, DNS and website information is found on another server in our datacentre.

Problem is, with this configuration, we need to constantly copy website, email and DNS data between servers... and this is a pain as manual DNS changes are required in zone files, etc.

What we would like to do is automatically copy / replicate customer websites, email and DNS data between multiple servers so in the event of server failure, DNS records would point customers to the appropriate next available server that can respond to requests.

Each server hosts DNS zone, website, MySQL and email for each customer.
So, we could list 4 DNS hosts in the delegation panel for each domain to achieve failover like behaviour.

I've read through these forums, SAGO and a few others, however I have not found anything that would do at least part of the job.

Any ideas how we could achieve this?

Many thanks,


Darren.
 

BeDazzler

Member
Feb 20, 2006
12
0
151
Australia
We'll Pay someone to do this...

If you can assist with our availability requirements, we will pay you for the service.

Regards,


Darren.
 

nwilkens

Well-Known Member
May 4, 2006
59
0
156
Monroe MI
cPanel Access Level
DataCenter Provider
High Availability

Darren,
There are a number of things that could be considered.

1) Setup the DNS systems for availability, Split or create a secondary name server on the additional server. Create a procedure around dns changes / additions to ensure that the database / files are backed up and replicated to the secondary server for safety. When primary DNS fails, secondary will handle requests.

2) Website, Mail and MySQL need a bit more information. But here is somethings to consider:

Website option A.
A dedicated load balancer or similar device (Linux Virtual Server) could be considered. You could balance the load, or create active / passive load balancing options per website. Could be pricey, but depending on where you plan to go this may make sense.

Option B) The system would be mirrored to the other web server (rsync, drbd, or use shared storage, etc.. ), and in the case of failover the IP address could be moved to the other server using Linux HA.

Database, consider clustered database could be expensive, or Linux HA with mysql. There are of course other alternatives, it depends on budget and requirements.

Email, again shared storage or replicated storage. But this really depends on which parts of email you are thinking of making highly available, i.e. smtp server or webmail server or imap, pop, all, etc..

These are somethings that I could think of without putting too much thought into each, but I hope it will give you a sense of direction.

Overall; High Availability seems to be a requirement, but the cost associated with each option must be weighed against realistic availablity requirements. If you would like, I would be happy to discuss in more detail.. Feel free to contact me directly.
 

BeDazzler

Member
Feb 20, 2006
12
0
151
Australia
Hi There,

Thanks for the reply post. I agree, there are many parameters to consider.
We've looked at the host based clustering (ie: multiple hosts serving DNS and then determining wher requests go.. then more multiple hosts serving web pages) however this just gets messy and introduces more and more servers.

We've gone down the path of multiple nameservers each holding a copy of client websites + email (ie: self contained). We add www2 / www3 and ftp2 / ftp3 so we can check failover machines for each site (ie: monitoring and alerts).

Then, we do rsync copies on a regular basis incase the client updates their site.
We also tell them to ensure the second web address (ie: www2) is updated in case of automatic failover.

DNS records are updated with the appropriate nameservers for each site.

This works a treat. I am now able to sleep at night.
Happy to hear any other ways of simplifying this.

Regards,


Darren.
 

ctroyp

Registered
Jun 25, 2007
1
0
51
Darren, I wanted to see if you ever determined a solution for your question. We are in a similar position and would like to move on the correct path for availability.
 

robert.mena

Member
Apr 25, 2007
9
0
151
Hi,

I plan to seup a HA solution based on DRBD. Do you have any tips regarding this? I've never used cpanel so I need mostly a tip of which directories should bebut in my drbd 'devices'.

Regards.

Darren,
There are a number of things that could be considered.

1) Setup the DNS systems for availability, Split or create a secondary name server on the additional server. Create a procedure around dns changes / additions to ensure that the database / files are backed up and replicated to the secondary server for safety. When primary DNS fails, secondary will handle requests.

2) Website, Mail and MySQL need a bit more information. But here is somethings to consider:

Website option A.
A dedicated load balancer or similar device (Linux Virtual Server) could be considered. You could balance the load, or create active / passive load balancing options per website. Could be pricey, but depending on where you plan to go this may make sense.

Option B) The system would be mirrored to the other web server (rsync, drbd, or use shared storage, etc.. ), and in the case of failover the IP address could be moved to the other server using Linux HA.

Database, consider clustered database could be expensive, or Linux HA with mysql. There are of course other alternatives, it depends on budget and requirements.

Email, again shared storage or replicated storage. But this really depends on which parts of email you are thinking of making highly available, i.e. smtp server or webmail server or imap, pop, all, etc..

These are somethings that I could think of without putting too much thought into each, but I hope it will give you a sense of direction.

Overall; High Availability seems to be a requirement, but the cost associated with each option must be weighed against realistic availablity requirements. If you would like, I would be happy to discuss in more detail.. Feel free to contact me directly.