考虑使用 DRBD 或集群文件系统来帮助在小型企业环境中发生停机时保持正常运行时间。
我们目前使用服务器盒作为使用 Linux 和 samba 的文件服务器,然后在 VM 中运行 Web 服务器和数据库。正在考虑添加第二台服务器并将文件和 VM 放到分布式文件系统上。基本操作系统更加静态,并且可以更轻松地手动管理(在更改时复制配置文件,如果需要从完整备份中复制基本操作系统等)
问题是关于手动完成的故障转移方案。如果服务器 1 宕机并手动完成故障转移,只需将服务器 2 的静态 IP 设置为服务器 1(服务器 1 再次关闭并将处于需要修复的状态)、启动 Samba 并启动即可完成故障转移与在服务器 1 上运行并启动备份服务时具有相同静态 IP 的 VM?
这听起来像是一个快速而简单的过程,几乎太简单了。我错过了什么吗?这也可以很容易地通过脚本或一些不太熟练的人在发生故障时被指示运行的东西来自动化。
如果我们有硬件故障,如果没有随叫随到的 IT 支持和所需的部件,如果没有第二台服务器的支持,停机时间很容易是几天,但是使用第二台服务器,停机时间最多可能是几个小时(如果没有一个是办公室足够精通执行此类操作,如果有人是分钟)
您描述的故障转移过程很简单,因为它是正确的。使用 DRBD 是创建冗余的关键步骤,因为您可以消除共享存储等单点故障。
您提到的当前故障转移可以通过Pacemaker/Corosync轻松自动化,因此无需手动干预。我更喜欢自己编写的脚本,因为它还需要保护无法正常工作的节点,这样你就不会遇到脑裂的情况(这可能会搞砸你的所有数据)。
请记住,“真正的”HA 需要系统的完全(或至少最大可归档)分离(单独的房间(或至少是机架)、不同的 USV、冗余切换等)。单点故障通常会破坏您优化可用性的全部努力。