为了他们的名声,我不会提及他们的名字。但我只会使用:
我之前工作过的公司 - ABC Web Dev
他们使用的托管公司 - XYZ Hosting
我最近发现 XYZ Hosting 发生了某种事故,导致他们丢失了大量客户的数据 - 包括 ABC Web Dev 的数据。ABC Web Dev 能够恢复部分客户的网站,方法是将其从本地开发计算机中拉出并放到另一家托管服务提供商处。他们最终因此失去了很多客户,声誉也一落千丈。
我正在创办自己的 Web 开发公司,不想遇到同样的问题。我打算使用 Rackspace,但尽管他们是一家很棒的公司,根据维基百科,他们过去仍然有过停机时间。我认为尝试同时运行两个提供商可能是个好主意,这样可以确保如果其中一个提供商发生任何事情,网站仍可因为另一个提供商而正常运行。
我知道网站必须始终从一台服务器获取数据,但如果有办法在一台服务器宕机时将请求重定向到第二台服务器,那么我的问题就可以解决了。
需要注意的是,我们将在本地设置一个暂存环境,如果提供商确实出现任何问题,这将允许快速恢复,但如果可能的话,我希望避免任何停机时间。
我的问题是:
有人尝试过同时运行两个提供商吗?
这算是好的做法吗,还是我做得太过分了?
是否真的有办法同时运行两个服务器,其中一个服务器作为备份?
答案1
如果你拥有良好且经过测试的本地备份。
如果网络主机都运行 cpanel,并且您拥有整个帐户的 cpanel 备份,则您应该能够快速将其部署到其他网络主机。
同时运行多个网站的问题在于如何让所有内容保持最新状态。这很困难,尤其是涉及到数据库时,而如今大多数网站都运行数据库。
说实话,您之前雇用的公司失去客户的原因不是因为网站瘫痪了几个小时(甚至几天),而是因为没有备份,导致他们永远失去了整个网站。
这是我们的灾难恢复计划:
- 我们每晚都会备份全部的cpanel 账户
- 如果发生长时间停机,我们将从其他地方购买新的托管帐户。通常帐户会在不到 60 分钟内生效
- 将 cpanel 备份还原到新主机
- 更新域的 DNS 条目,随着它们的传播,客户端将重新上线
这样我们就知道我们可以在大约 3-4 小时内从停电中恢复。
同时运行多个主机要困难得多,而且当您想要切换主机时,您仍然必须等待 DNS 传播。
答案2
不停机处理这个问题会很困难。大公司会通过以下方式处理这个问题使用 BGP 通过新设施将流量重新路由到整个 IP 块。对于其他人,您将必须选择一个能够满足所需冗余级别的解决方案。
在我们的案例中,我们寻求的是“站点 A 停止存在”级别的保护(而不是“站点 A 意外创建网络循环,网络停止运行 15 分钟”)。为此,我们在站点 A 设置了主 DNS 服务器,在站点 B 设置了辅助 DNS 服务器,这样如果 A 永久停止运行,我们可以更改 B 上的区域文件,使所有内容都指向 B,然后更新我们的域,用其他站点替换站点 A 的名称服务器。有些情况我们无法通过这种方式处理(例如:我们被锁定在站点 A 之外,但 DNS 服务器仍在那里运行,在这种情况下,在域记录更新之前我们无法做任何事情),但对于其他所有情况,一旦缓存的 DNS 记录过期,一切就会再次运行。
根据具体“威胁”,您可以设置其他选项:例如,如果站点 A 的所有数据都丢失了,但那里的服务器仍在运行(是否发生意外?),您可以设置一个基本的 Web 服务器,将所有流量重定向到 backup.example.com。如果有人随时待命应对这种情况,这比切换 DNS 记录要快得多。
所有这些都假设您在站点之间保持数据同步。如何做到这一点完全取决于您需要同步什么、您愿意让站点 B 落后多少、您打算为此花费多少以及是否也应该复制该 rm 事故……这完全是另一个问题的主题。