我目前在北卡罗来纳州查尔斯顿托管了一个 VPS。我目前的提供商正在提供一项优惠,可以在另一个数据中心购买一个相同的(资源方面)VPS。虽然我很少遇到停机,但我想购买另一个 VPS 并将其设置为热备用,以便在查尔斯顿的 VPS 发生故障时自动接管。
我的服务器运行为我的客户提供 Web 服务器 (apache)、数据库 (mysql)、邮件服务器 (postfix + courier) 和 DNS (bind9)。操作系统是 Ubuntu Server 11.04
我如何设置附加服务器以使其自动发挥故障转移功能,以及如何保持一切同步。
答案1
嗯,确实有很多工具可以迁移配置。但是,自动故障转移和维护实时复制数据却很难实现。
对于前一个要求,即配置,如果我没有诸如 chef 之类的配置工具(在您的情况下这似乎不合适),我只需在两个节点上安装 webmin,然后使用这些工具备份配置。
webmin 有一个很有用的集群管理器,但也可以采用 rsync、cron 或各种系统映像工具。
“热”备份的难点在于 mysql 中的数据和 postfix 中的任何用户数据,以及您是否真的想要热复制这些数据。
如果你真的需要热故障转移...
我会调查mysql 复制,为了维护数据库,你可以查看 monit,心跳或使用 stonith 工具来处理自动故障转移。MMM 工具也很流行,但我对它的体验好坏参半。
答案2
由于您的两台服务器将位于不同的数据中心,因此您需要依靠更改 DNS 条目来指向新服务器。
许多集群和故障转移系统依赖于虚拟 IP - 任何一个系统都可以通过发送 arp 广播来接管该 IP,以告诉交换机开始向它们发送流量。
在独立的数据中心中,您不能拥有一个可以路由到两个服务器的 IP。