假设我有一台运行某个应用程序的程序的服务器。我看到有一种称为 pacemaker 或高可用性的解决方案。
有没有办法让第二台服务器具有完全相同的数据并与第一台服务器上的所有数据同步,以便如果第一台服务器出现故障,第二台服务器仍拥有第一台服务器上的所有内容?
有没有办法只使用两台服务器而不使用其他硬件来实现这一点?
答案1
是的。我们有一种叫做 DRBD(分布式复制块设备)的东西。它有点像两台计算机之间的 RAID1 镜像,因此,每当将某些内容写入 Server1 的磁盘时,相同的数据都会同步或异步写入 Server2 的磁盘。这就是数据部分。
对于简单的情况,这应该足够了。启动并运行它并不困难。在几个虚拟机中尝试一下,直到你感到满意为止。然后,你可能需要阅读有关处理服务故障转移的其他内容。如果主服务器发生故障,你需要某种方法让辅助服务器充当主服务器。或者你可以使用主-主解决方案,但这需要特殊的文件系统,并且你需要在服务器之间建立直接连接。
来自 Ubuntu Server 官方文档的这份文档应该可以帮助您开始使用 DRBD:https://help.ubuntu.com/12.04/serverguide/drbd.html。您可以在官方网站上找到更多详细信息:http://www.drbd.org/
Ubuntu Server 文档中的指南将为您提供同步解决方案。