![Apache / MariaDB 问题](https://linux22.com/image/736238/Apache%20%2F%20MariaDB%20%E9%97%AE%E9%A2%98.png)
这是我在这里的第一篇帖子,我一直在寻找这个问题的答案,但到目前为止还没有找到。我正在将我们的 Web 服务器(CentOS 6 上的 LAMP 堆栈)升级到新硬件和更新的软件。完成设置后,我将把我们的网站迁移到此服务器。我还希望能够重新安装旧硬件,并对新硬件进行故障转移设置。
我的问题可能很难回答,也可能很难回答。在软件堆栈的这一方面,我绝对不是专家。在每个服务器上安装完整的 LAMP 堆栈、rsync 站点并在 MariaDB 中设置数据库镜像,还是只使用 rsync 镜像站点,然后将两个 Web 服务器指向单独的数据库服务器,这样会更好?我意识到后者会造成单点故障,但我从未设置过数据库镜像,所以我想确保我选择了正确的选项。
或者这两个选项都是错误的,我应该设置一个双节点服务器集群吗?
答案1
阅读“复制”。它负责将一台机器(主服务器)与另一台机器(从服务器)持续同步。主从服务器的一个变体是“双主服务器”。但是,如果您设置了它,请确保只写入一个主服务器。“故障转移”仍然有点手动,但它比加载旧备份要好。双主服务器已经完成了一些故障转移工作。
或者,由于您是从 MariaDB 开始的,因此请考虑使用 Galera Cluster,因为它与 MariaDB 捆绑在一起。要实现 HA,您需要 3 台服务器,而不仅仅是 2 台。因此这对您来说可能太过分了。
LAMP 堆栈的其余部分不会知道或关心您在复制方面所做的工作。除了“P”需要知道主服务器在哪里——无论是在本地,还是在另一台机器上。更改它是“故障转移”的一部分。
答案2
您可以使用 Corosync/Pacemaker 设置 Active-Standby mariadb 集群。MariaDB 官方网站上有一份很好的文档,其中包含从头开始设置的步骤。有多种方法可以设置 apache 负载平衡器,如 UltraMonkey 等。希望这会有所帮助。