服务器利用率以及如何处理数据中心故障

像Docker,Mesos,Kubernetes等新技术可以在一个组织中提供更好的服务器利用率。 但是,我想知道如何在两个数据中心之间最大化利用率,同时考虑到整个数据中心的故障。

鉴于这种情况:

两个数据中心(DC-A和DC-B)具有相同数量的计算资源。 两个数据中心都以负载平衡/循环方式运行和提供请求。 两个数据中心的服务器利用率均为80%。

假设DC-B发生故障(物理或networking)并且无法访问。 DC-A将不能再增加80%的利用率,因为它本身已经达到了80%。 离开组织的状态潜在DC-A将无法处理额外的需求,并将造成干扰…

这是否意味着两个数据中心(DC-A和DC-B)每个数据中心的最大利用率只能达到50%? 也就是说DC要么失败,另一个DC将能够拿起另一个DC的松弛(50%+ 50%)。

这个想法是否正确? 其他人如何处理这个问题,或者我错过了什么?

对于需要始终可用的服务,您需要N + 1冗余,其中N是处理负载所需的数据中心或服务器数量(或者在build议的故障情况下丢失的任何其他数量)。 这样做的代价就更小了 – 在低端,两个数据中心都需要能够处理整个工作负载。 但是,如果你有10个,他们可以做9个工作,仍然是多余的。

另一个选项是减载,虽然这个词更常用于电力系统。 基本上,在故障情况下closures所有非必要的服务,其余系统有足够的资源。

一个相当普遍的方法是,对于生产环境来说,硬保留容量是足够的,在发生灾难的情况下,剩下的数据中心应该能够处理全部负载,所有操作都照常进行。

通常情况下,预算永远不会延伸得太远,也不可能在非生产环境中实现全面的灾难恢复/故障切换。 那里退化或完全不可用可能被认为是可以接受的。

根据平台的不同,有些可能会select增加可用生产能力的选项,以便在发生灾难时通过缩减非生产环境来满足其余数据中心的负载增加。