我有一台实时服务器,我想将其完全镜像到第二台服务器,这样,如果实时服务器出现问题,只需插入备份服务器即可开始使用。
如何在两台独立的机器之间设置镜像?
答案1
一种方法是使用心跳软件包。在两台服务器上安装它,并将它们配置为主动-被动模式。如果一台服务器发生故障,另一台服务器将准备好为用户提供服务。
对于基于 Debian 的系统(例如 ubuntu),您可以通过以下方式安装;
$ sudo apt-get install heartbeat
两个服务器可以使用三个 IP 地址。每个机器分配一个 IP,第三个 IP(称为 VIP:虚拟 IP)由心跳分配给当前活动的服务器。用户将通过 VIP 访问所提供的服务。
答案2
看一下 DRBD;它基本上是通过网络的 RAID1:
结合上面列出的 Heartbeat 包,您可以构建一些非常有趣的容错设置。
请注意,我们需要更多细节才能提供更多帮助。应用程序级容错功能可能可用,具体取决于您要完成的任务。
答案3
在备用服务器上安装具有相同分区结构的相同基本操作系统,并使用自己的 IP 地址启动它(这是我发现的最简单的方法)。然后,我们个人使用 Bacula 每周对整个服务器进行一次完整备份(其间每日进行增量备份),当我们需要恢复时:
- 将整个服务器恢复到替换状态,除了 /boot 和 /etc/fstab
- 如果你确实恢复了启动或 fstab,至少要检查两者,并确保 /boot/grub/grub.conf 或 /etc/fstab 中没有列出驱动器标签或 UUID
- 确保 MAC 地址未列在网络配置中(对于基于 RedHat 的 MAC 地址,它是 /etc/sysconfig/network-scripts/ifcfg-eth0)
- 祈祷并重新启动,通常它就能正常工作。
我还没有尝试过,但是您也应该能够在两个服务器之间进行 rsync,而不需要备份服务器。
答案4
或者您只是想问如何将整个服务器镜像到冷备用状态?
在这种情况下,您可以使用 systemimager、partimage 或(更老式的)dd 进行完整的驱动器备份并将其还原到辅助机器。如果您这样做,您需要确保其硬件规格相同,但这将是实时服务器的完整副本,您可以将其放在柜子里并在需要时将其推出。
您还可以使用 VMware 转换器并创建实时服务器的 VM,尽管在 Linux 上您的里程可能会有很大差异,因为它可能不稳定。