发布时间:10-28
什么是BCP?这是什么意思?

Bcp 最简单的术语是“所有内容的两个副本”。但你越深入,就越难:两台服务器、两台交换机、两个上行链路、两个配电单元、两个路由器、两个接触所有信息点的完全独立的网络平面?当然,设备组之间的两次故障转移必须完全自动化,因为以互联网速度测量时,人类响应时间非常慢。当您开始添加越来越多的冗余和越来越多的自动化时,复杂性就会上升。在某个时刻,系统变得如此复杂,以至于您只能放弃添加更多故障点。随着系统规模的扩大,回报逐渐减少,最终达到投资回报变为负值的程度。
这个问题的答案可以从宏观层面找到。您需要针对可能影响区域服务的灾难(地震、风力限制等)做好规划。因此,您需要在不同的地理区域部署服务。至关重要的是:当下一次大地震摧毁硅谷数据中心时,必须有一种自动方式将流量切换到东海岸。一旦解决了这个问题,所有的小事都不再重要了。如果数据中心配电单元、路由器或交换机发生故障,您的流量将自动重定向到其他都市区。显然,需要一定程度的本地冗余来防止流量在不同地方之间来回跳动,但您不需要这样做到收益减少或产生负面影响的程度。
与普遍看法相反,数据中心确实会发生故障,有时原因很奇怪。有一天,我在参加会议时,接到运营中心的电话,通知我一个主要数据中心停止服务。由于担心这件事会影响我们正在讨论这个问题的会议,我立即打电话给我的同事,了解影响的程度。让我放心的是,她告知所有网站已从该位置转移,流量已转移到另一个数据中心,并且她期待着一顿“烤松鼠”晚餐,因为有一个坏人爬进了该中心。配电箱并咬断了主配电电缆。那天松鼠没能活下来,但我们毫发无伤地度过了难关。
正如前面提到的,bcp对于不同的人来说有很多不同的含义。让我们看一下这些术语以及它们对您的网站的含义。我首先要去掉这个词的很大一部分——人和地方。管理员工是完整 bcp 计划的重要组成部分。如果你的办公楼被烧毁,所有的人会在哪里工作?我是一名工程师,这不是我的领域,因此我将重点关注 bcp 计划的高可用性部分:保持站点正常运行。即使在高可用性领域,也有各种各样的技术,从热/热、热/警告、热/冷到灾难恢复。
Hot/hot 是最高级别的高可用性。用户可以使用任何数据中心的所有应用程序。阅读和写作可以在任何地方发生。这使得自动故障转移变得非常简单,但它并不是万能的。
你必须仔细思考如何处理数据一致性。如果一条数据同时写入两个位置,复制过程中就会出现冲突。哪个是正确的写法?互联网是一种非常动态的媒介,在许多情况下这并不重要,但请确保您做好计划。
如果您不能容忍数据不一致,那么热/温是一个好方法。许多应用程序有大量的读取,只有偶尔(但重要)的写入。在这种情况下,有必要对这两个操作进行不同的处理。读取操作采用热-热模式,并且可以由任何数据中心提供快速且自动的故障转移,这使得大多数应用程序高度可靠。但一次仅写入一个数据中心可确保数据一致性,但代价是少量应用程序的故障转移速度较慢。如果会降低网站性能,则无需同步数据复制。当发生 2-write 操作时,会尽最大努力尽快将数据传输到其他位置,但不能保证。复制延迟的范围可以从几秒到几分钟到几小时不等。那么,当一个位置的写入操作随后在另一位置的读取操作时会发生什么情况呢?更新可能尚未到达,您将获得陈旧的数据。我们称之为批判性读物。您需要通过错误处理或将读取定向到源站点来识别和减少关键读取。
热/冷让我害怕。该架构将读取和写入流量发送到单个位置,从而使相同的部署在遥远的地平线上闲置。设置简单,但价值较低。当灾难袭来时,您会质疑自己的计划是否明智。真的有效吗?软件版本是最新的吗?您最后一次登录冷站点是什么时候?通常,冷站点闲置一年或更长时间。当您需要它时,它可能已经过时了。担忧、不确定性和怀疑都不可避免地会延长停机时间。我见过无数天冷时无法使用冷站点的事件,这有什么意义呢?
该网站是如此不值得信任,以至于我们宁愿停机几个小时也不愿进行故障转移。如果紧急灾难恢复是最糟糕的技术,那么它本质上就是蒸汽软件。它的初衷并不是在平时保护你,而是在发生重大灾难时为你提供重建选择。我们收购的一家公司制定了一项灾难恢复计划,要求每月向一家第三方公司支付“保险”费用,该公司维护着一个充满闲置服务器和存储的大型数据中心。如果我们的数据中心出现故障,我们可以使用他们的。当然,如果发生重大灾难,我们将与他们所有其他客户争夺资源。没有实际计划,也没有进行测试。当我们开始探索实际的故障转移是什么样子时,我们发现了一些令人担忧的问题。结果是服务器和存储有不同的部门。网站建设服务器场位于一栋建筑中,存储位于另一栋建筑中。有一条千兆位以太网线路连接着两栋大楼,但显然无法正常工作。当我们决定自己做时,他们承诺建造第二条千兆位以太网线路。