我们有一台使用 KVM 运行多个虚拟机的服务器。虽然它运行良好,但我们担心该物理服务器可能出现硬件故障。
我们每晚都会将数据备份到不同的物理服务器,但恢复备份需要一段时间。如果整个系统崩溃,我们将面临几个小时的宕机时间。
我们希望有一个故障转移系统(即不同的物理服务器),如果主服务器在某个时候出现故障,我们可以切换到该系统。
我对此有几个疑问:
- 我们如何让故障转移系统镜像主系统?它应该是不同的物理机器,这样我们就可以确保单个硬件故障不会毁掉所有东西。是否有类似网络 RAID 1 的软件?这是否与负载平衡有关?
- 如果主计算机没有回复,我们该如何向故障转移计算机发送请求?如果它没有及时回复,我们是否应该定期 ping 它并更新 DNS 信息?
- 如果能在虚拟机级别上实现某些功能就太好了,也就是说,如果单个虚拟机出现故障,则对该虚拟机的请求应转发到故障转移系统上的副本。
答案1
您的场景的最佳解决方案之一是 DRBD+Heartbeat。DRBD 实时在服务器之间复制磁盘/分区/LV。不建议在具有大量 I/O 的服务器上使用,但对于中小型环境来说效果很好。
文档非常好,请查看网站。其中有一个名为“支持 DRBD 的应用程序”的部分,其中包含示例和现成的解决方案。您可以使用“使用 Xen 和 DRBD”作为基础,使其适应 KVM。
我有许多采用此解决方案的服务器,并且运行完美。