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