High availability on remote site
Hi, I have been assigned to offer HA on a 3 tiers architecture. Data storage tier will be MySQL, so replication is easy. HA should be implemented only on the Data storage tier, Active/Active, but one of the sites is remote! When everything is working, each application accesses the local MySQL tier, but when the local MySQL becomes unavailable, it should be able to automatically move to the other database server. I have no access to the application, so I cannot modify it to test if local MySQL is working. So I should have an HA mechanism that enforces changing the IP address on the database server. If both servers are installed at different places, with different addresses, would there be a way beside establishing an IP tunnel/VPN between both places to have all machines in a single subnet? An image is here http://www.cs.ait.ac.th/~on/HA.gif I am really bothered by the IP tunnel, but that's the only way I see to keep HA. Any idea welcome. best regards, Olivier ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org
Re: High availability on remote site
On 15/08/2013 12:19, Olivier Nicole wrote: I have been assigned to offer HA on a 3 tiers architecture. Data storage tier will be MySQL, so replication is easy. HA should be implemented only on the Data storage tier, Active/Active, but one of the sites is remote! When everything is working, each application accesses the local MySQL tier, but when the local MySQL becomes unavailable, it should be able to automatically move to the other database server. I have no access to the application, so I cannot modify it to test if local MySQL is working. So I should have an HA mechanism that enforces changing the IP address on the database server. If both servers are installed at different places, with different addresses, would there be a way beside establishing an IP tunnel/VPN between both places to have all machines in a single subnet? An image is here http://www.cs.ait.ac.th/~on/HA.gif I am really bothered by the IP tunnel, but that's the only way I see to keep HA. Any idea welcome. Depending on the technology use in you middle layer, it may be quite simple. Some application languages, eg Java allow you to specify a list of servers in a DB connection string. The server names will be tried in order until a successful connection is made. Other languages may provide a similar facility, or it should be pretty easy to code up with minimal intervention in your codebase required. Cheers, Matthew ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org
Re: High availability on remote site
On Thu, 15 Aug 2013 18:19:35 +0700 Olivier Nicole olivier.nic...@cs.ait.ac.th wrote: Hi, I have been assigned to offer HA on a 3 tiers architecture. Data storage tier will be MySQL, so replication is easy. Keep in mind that MySQL replication has plenty of its own issues. It does not replicate every SQL command to the slave. Guaranteeing that data on both servers is identical is also a very tricky process. You might want to first browse through the sections here to get an idea: http://dev.mysql.com/doc/refman/5.5/en/replication-features.html HA should be implemented only on the Data storage tier, Active/Active, but one of the sites is remote! When everything is working, each application accesses the local MySQL tier, but when the local MySQL becomes unavailable, it should be able to automatically move to the other database server. I have no access to the application, so I cannot modify it to test if local MySQL is working. So I should have an HA mechanism that enforces changing the IP address on the database server. This is easy. Use HAProxy. It can test to see if your local MySQL instance is up and running and if it detects it is not it will automatically pass connections to the remote site's MySQL server. If both servers are installed at different places, with different addresses, would there be a way beside establishing an IP tunnel/VPN between both places to have all machines in a single subnet? This seems unnecessary. Why do you need them to be on the same subnet? An image is here http://www.cs.ait.ac.th/~on/HA.gif I am really bothered by the IP tunnel, but that's the only way I see to keep HA. Hopefully I've answered this question for you and you see that you shouldn't need these to be on the same subnet. ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org
Re: High availability on remote site
On 15/08/2013 13:18, Mark Felder wrote: On Thu, 15 Aug 2013 18:19:35 +0700 Olivier Nicole olivier.nic...@cs.ait.ac.th wrote: Hi, I have been assigned to offer HA on a 3 tiers architecture. Data storage tier will be MySQL, so replication is easy. Keep in mind that MySQL replication has plenty of its own issues. It does not replicate every SQL command to the slave. Guaranteeing that data on both servers is identical is also a very tricky process. You might want to first browse through the sections here to get an idea: http://dev.mysql.com/doc/refman/5.5/en/replication-features.html HA should be implemented only on the Data storage tier, Active/Active, but one of the sites is remote! When everything is working, each application accesses the local MySQL tier, but when the local MySQL becomes unavailable, it should be able to automatically move to the other database server. I have no access to the application, so I cannot modify it to test if local MySQL is working. So I should have an HA mechanism that enforces changing the IP address on the database server. This is easy. Use HAProxy. It can test to see if your local MySQL instance is up and running and if it detects it is not it will automatically pass connections to the remote site's MySQL server. If both servers are installed at different places, with different addresses, would there be a way beside establishing an IP tunnel/VPN between both places to have all machines in a single subnet? This seems unnecessary. Why do you need them to be on the same subnet? An image is here http://www.cs.ait.ac.th/~on/HA.gif I am really bothered by the IP tunnel, but that's the only way I see to keep HA. Hopefully I've answered this question for you and you see that you shouldn't need these to be on the same subnet. ___ WHS, especially regarding the built-in replication of a mySQL database being problematic. I tried this a few years ago and decided it wasn't worth the candle (for my needs). It came down to the application software needing to be sensitive to the situation - to understand it needed to use a backup server, and to treat it as read-only. The implication is that mySQL could be some kind of distributed cluster until you got to it in detail. Or perhaps I was missing a point somewhere. If you get a perfect cluster going please do tell me know how. Incidentally, in the end I just used rsync - much less fuss but only good as a backup, really (which is what I really wanted). Regards, Frank. ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org