高可用性apache / mysql

时间:2014-01-10 10:07:44

标签: mysql linux apache high-availability

我有一个简单的任务,但软件选项太多,所以我希望有经验的人能给我一些线索。

任务是: 1)在公司我们有一台服务器在debian上运行apache和mysql(它是一个专用服务器)。我们需要的是也能够随时访问它,所以问题是如何在另一个位置设置100%复制服务器并且能够在第一个服务器发生故障时自动切换(自动) (或丢失互联网连接等)。

2)可选的是,能够让两个(或者更多)服务器上的文件系统(而不是数据库)完全正常运行是很棒的(即如果文件在任何服务器上发生变化,它将传播更改到所有其他服务器)。

我认为这是三个不同的任务:a)数据库同步(mysql内置支持复制,这还够吗?); b)文件系统同步(DRBD或特殊文件系统?); c)故障转移(DNS中的几个A记录?)

最好的软件解决方案是什么?

提前致谢!

3 个答案:

答案 0 :(得分:1)

- 如果您想要地理冗余,请创建一个带有浮动VIP和Pacemaker和Corosync的Linux集群或多个DNS条目

- 确定应该复制哪个文件系统部分,以及rsync

- 使用MySQL Cluster复制数据

答案 1 :(得分:0)

让我们关注服务器机器。

您需要Web服务器群集来增强提供Web服务的可用性 您可以配置CDN以远程缓存静态文件,以加快访问速度并减少服务器负载。

至于数据库:

您可以创建具有I / O分离和主/从备份的mysql集群。

mysql cluster专注于数据库服务器功能,为处理客户端请求提供更高的可用性;
I/O separation用于将readwrite操作与不同的计算机分开,从而减少单个服务器计算机的硬盘searching time的负载并提高I / O性能;
虽然replication专注于更高的Data availability,即使某些硬盘发生故障,来自其他网站的数据仍然可以提供服务。

此外,您可以拥有RAID光盘群集,以进一步提高数据可用性。

答案 2 :(得分:-1)

很抱歉,投票结束此论坛 - 方式这个论坛的问题太广泛了。 (并在这里写而不是评论,因为解释有点冗长)。

HA是关于平衡可用性,性能和数据完整性(有时是功能)。每个层都有多种解决方案,每个方面都具有不同的特征。

只要你的所有数据都在mysql数据库中,那么复制Linux,Apache和应用程序代码相对简单 - 但是如果你确实有文件中的数据,那么生活会变得复杂得多

但是我可以想到8个复制mysql实例的方法。您没有提供足够的信息来拨打适合您情况的电话。

我建议您首先要了解更多有关HA的信息(在与可以为您提供更好建议的人进行交流之前 - 但需要准备为此付费) - 例如你谈论故障转移而不考虑如何处理裂脑。