Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm giving the question an overhaul to more specifically identify where I need help.

I use two tools to manage a bunch of cloud server: Puppet and Rundeck. Both of these can be configured to use a mysql backend. I'd like to setup an instance of each application in both the U.S., and the U.K., treating the U.K. servers as hot stand-bys in case of failure in the U.S.

I want to use a MySql cluster so that the data is automatically replicated from the U.S. to the U.K. Because these are hot standbys, high performance is not a goal. Redundancy and data integrity are most important.

My question revolves around the setup of the mysql cluster. I want to run three servers, each one running a data node, a sql node, and a management node. Is this a valid configuration for mysql server? If so, could someone point me in the right direction for creating such a setup? I've downloaded the offical tarball, and the official debian, and the documentation for them contradicts many of the online tutorials. I'm installing on Ubuntu 10.04.

share|improve this question

2 Answers 2

up vote 0 down vote accepted

for MySQL Cluster deployments, you will need at least 2 x data nodes between which data can be synchronously replicated - and would recommend on each site. Then use asynchronous replication delivered by the MySQL server node to replicate between the 2 data centers - in MySQL-land, this is called geographic replication

The management nodes could be co-located on the SQL nodes

To get started, I would recommend looking at the quick start guide which shows how to deploy on a single node: http://downloads.mysql.com/tutorials/cluster/GetMySQLClusterRunning-LINUX.pdf

There is also a tutorial available here: http://mysql.com/products/cluster/cluster_install_demo_linux.html

share|improve this answer

It's hard for us to answer if this would be "reasonable" - we know nothing about your environment, architecture, workload, performance tolerance range, etc.

If your environment is already "in the cloud" and your chosen provider can give you hosting in the UK, this seems entirely reasonable, provided you have a good, solid replication plan.

If you're running on dedicated equipment I would suggest a performance and feasibility study before moving "into the cloud", and would advise you to take the history of cloud outages into account before committing your data (and business) to someone else's infrastructure. It may be easier long-term to clone your exact current setup somewhere else (even if that means paying more for a rack and power) until you know for sure that there's another architecture that meets your needs.

If cost is a serious concern, consider deploying a VMWare environment at the remote sites. Performance is usually reasonable, you'll have some limited scalability options within the confines of a single VM host, and rack footprint (thus cost) is substantially lower.


Design and long-term management of a scalable multi-site (especially multi-country) architecture is beyond the scope of your question, even though you're implicitly asking about it (If so, would anyone be able to help me with the configs?)/ -- If you're still working off tutorials and can't figure out how to generalize them to a multi-site/multi-nation architecture there are two possibilities:

  1. You lack the experience to do this.
    (Hire someone who knows what they're doing and learn from them. It's cheaper in the long run)

  2. Your tutorials/examples have lousy architecture and you're being hobbled by them
    (re-design with a sane architecture -- if you're unsure how to make the design better after thinking long and hard on it you're back in "Hire someone" territory)

share|improve this answer
    
Thanks for your comment. I'm already 100% committed to the cloud and have solved these architectural problems for my public facing applications. However, none of those apps use mysql. The two applications that I'll be hooking up to mysql are internal apps, that have a max of 100 writes per minute. I'm looking for someone who has setup a ndbcluster across a large geographic space that can advise me on the pitfalls, such as data replication over a WAN. This isn't a question about cloud performance versus ESX or colo. –  GregB Apr 2 '12 at 19:02
    
@GregB You should clarify your question to include the information in your comment - as I noted above, you haven't told us anything about your architecture, which makes any kind of specific answers impossible... –  voretaq7 Apr 2 '12 at 20:25

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.