我们现在陷入了困境。一段时间以来,我们一直在计划为现有服务器设置故障转移群集。到目前为止,我们的计划是为邮件、网站和我们运行的所有其他服务的配置设置一个 2 节点 GlusterFS 文件服务器群集(我们目前拥有 SMTP、POP、Web、MySQL、DNS、RADIUS 和 VoIP 服务器),然后设置一个空闲的故障转移服务器,以便在其中一个服务停止时接管负载。
一个问题是这些服务器中的大多数都运行 Debian。新的 GlusterFS 集群运行的是 Ubuntu 14.04 LTS,我们的主要 Web 服务器和故障转移服务器也是如此。另一个问题是 Pacemaker 创建集群的想法与 Debian 没有任何关系,而且其 Ubuntu 产品似乎随着 14.04 的发布而变得一团糟。Ubuntu 已经放弃了 cman 包,而这几乎就是 Pacemaker 使集群工作的方式,仅此而已。
所以现在我陷入了困境,我们所购买的硬件和我们计划使用的软件据我所知根本无法工作。
所以我的问题是,还有其他方法可以实现我们的目标吗?“构建一个全新的集群并将所有内容迁移到其中”传统上一直是我们疯狂和灾难的道路,我们不会再走这条路了。我们有成千上万的现有用户,我们需要为他们提供更可靠的服务,而不是更少。
我们将非常感谢您的建议。
答案1
一个相对顺利的路径是使用以下方法将应用程序从操作系统中抽象出来,而不需要一次性完全重建集群:Docker 容器。
与虚拟化抽象硬件的方式类似,您设置的 Docker 容器可在任何 Linux 操作系统上运行。此特定场景的解决方案是在现有服务器上安装 Docker,然后开始将已安装操作系统上运行的服务迁移到 Docker 容器中。
这并非一项简单的任务,仍然需要设计某种允许容器之间数据同步的东西,但它消除了当前的麻烦,即操作系统的多样性以及受支持和不受支持的内容。Docker 将允许您在现有的操作系统之上构建容器。
具体来说,对于 GlusterFS,在使用 Docker 容器进行部署和操作时似乎会出现好坏参半的结果,可能还值得考虑其他同步/集群选项。对于 Docker 上的 Gluster,请查看这里和这里。