举例说明N+1是错误的数据中心弹性扩展方式

日期: 2014-10-12 作者:Scott Gottesman翻译:张冀川 来源:TechTarget中国 英文

设计一个具备弹性的基础设施以确保在服务器或组件出故障时工作负载能够继续运行是非常重要的,但很多组织并未意识到他们所需要的基础设施弹性等级及其成本。 在设计基础设施时,我们总是在考虑关键业务中断前系统能够承受住多少故障。我们可以使用N+1公式来表示基础设施包括一个额外的组件(+1)用于承载预期的工作负载,能够经受住单个故障。然而更多的组织正在考虑更复杂的N+X+Y方式。

为什么我们想考虑N+X+Y方式呢?在虚拟化环境中,有一个称之为HA的特性能够自动在另一台服务器上重启发生故障的虚拟机。从表面上看,这是一个很不错的概念,但深入研究一下,我们看到了存在的问题:随着虚拟机的密度变得越来越高,系统资源……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

设计一个具备弹性的基础设施以确保在服务器或组件出故障时工作负载能够继续运行是非常重要的,但很多组织并未意识到他们所需要的基础设施弹性等级及其成本。

在设计基础设施时,我们总是在考虑关键业务中断前系统能够承受住多少故障。我们可以使用N+1公式来表示基础设施包括一个额外的组件(+1)用于承载预期的工作负载,能够经受住单个故障。然而更多的组织正在考虑更复杂的N+X+Y方式。

为什么我们想考虑N+X+Y方式呢?在虚拟化环境中,有一个称之为HA的特性能够自动在另一台服务器上重启发生故障的虚拟机。从表面上看,这是一个很不错的概念,但深入研究一下,我们看到了存在的问题:随着虚拟机的密度变得越来越高,系统资源变得越来越紧张。

让我们考虑一个案例,有两台主机,每台主机配置了512GB的内存,12个核心。

无论何时,CPU或内存的利用率都不能超过50%,因为如果任一台主机宕机,都需要能够将发生故障的主机上的负载迁移到另一台主机上。因此,实际上在上述配置中我们损失了512GB的内存。
然而,大多数集群往往会包括多台主机以减少资源浪费,那么让我们将示例中的主机增加到10台。这时集群拥有5TB的内存以及120个核心。按照惯例,我们不希望内存使用率超过90%(不会发生糟糕的事儿,但却并没有资源完成虚拟机的迁移了)。

所以,每台主机最多能够使用460.8GB的内存,也就是总共有4608GB—没有将主机发生故障计算在内。如果主机发生故障,那么只能接管90%的负载,有些客户机将无法重启。因此现在我们需要将主机发生故障时无法使用512GB内存的情况考虑在内。我们现在只能使用4096GB的内存,如果集群中有两台主机发生故障,那么只能使用80%的内存。

我们需要考虑的另一个因素就是大内存虚拟机。例如,如果我们有一台虚拟机使用了72GB或者128GB的内存,而该虚拟机需要在另一台主机上重启,这时在任一台主机上可能都没有足够多的资源能够承载该虚拟机了。

这时我们可以降低虚拟机密度以允许主机宕机并允许大容量虚拟机能够在其他主机上重新启动。假设我们有三台大容量虚拟机(一台虚拟机需要使用72GB内存,另两台需要使用128GB内存),总共需要使用328GB的内存。那么至少要有两台主机的可用内存不低于128GB,但是我们无法指定哪些主机,以免恰好是有足够可用内存的主机发生故障。因此每台主机都要能够运行这些大容量的虚拟机,这意味着我们将需要:

  • 可用内存总计5120GB
  • 总内存使用率要低于90%
  • 单台主机发生故障时总的内存使用不能超过4096GB
  • 为了能够重启一台内存大小为128GB的虚拟机,总的内存使用不能超过3072GB

如果集群能够保证只重启一台大容量虚拟机,那么我们将损失40%的内存。如果我们正在尝试实现虚拟机密度的最大化,那么这将是一个无法接受的解决方案。

现在如果我们要部署N+1+1或者N+2+1方案,那么我们能够使用的最大内存是4608GB(90%)而且能够容忍一台或者两台主机发生故障而且进行维护不会影响其他客户工作负载或者HA的弹性。换句话说通过增加一台专用的备用服务器,那么我们能够恢复40%的工作负载。

N+1+1 vs. N+2+1


统计数字以及多年的经验要求我们预测哪些组件在什么时候会发生故障。所有的组件都会在某个时刻发生故障,这是毋庸置疑的。所以N+X+1方程式中的X的实际值可以归结为我们打算为多少台主机发生故障做准备以及我们将如何处理主机故障。请记住多个故障可能并不意味着两台主机的同一个组件都发生了故障—通常意味着两台服务器由于某种原因出故障了—一台主机的CPU出了故障而另一台主机的软件补丁出问题了。不管原因是什么,结果都是有两台服务器宕机了。所以X指的是在我们看到性能以及资源降级前系统允许出现故障的主机数量。

冗余的成本


如果考虑一下简单的N+1模式,一共10台主机总计2TB的内存,将会损失大概40%的资源。如果采用N+1+1模式,我们只会损失10%的内存用于在主机之间迁移虚拟机,而且有2到3台主机(1-1.5TB内存)处于备用与维护模式。随着集群的规模越来越大、客户对可扩展性的要求越来越高以及虚拟机的容量越来越大,和损失30%到50%的内存容量以允许单台主机发生故障相比,N+1+1模式是一个容量损失较少的选择。

在N+1+1和N+2+1之间做出选择,关键是确定备用服务器可用的内存容量。问题是会有多台主机同时发生故障码?假定企业级服务器的成本为8万美元,那么就不难想象在决定选择哪种方式时成本可能是一个重要的考虑因素。选择N+2+1解决方案的成本可能是N+1+1的两倍,但仍旧比N+1 HA解决方案的成本低。

认真计算过之后,发现N+X+1是最佳选择,其充分使用了容量与资源。究竟是使用一台还是两台主机作为备用服务器,更多地取决于企业能否容忍性能下降,也就是要在备用服务器的成本支出与发生故障时没有足够的内存资源承载工作负载之间做出选择。请记住,只要是人造部件就会发生故障,这只是时间问题。我们需要考虑的是如何处理故障以及同时有多少台主机发生故障。

作者

Scott Gottesman
Scott Gottesman

TechTarget特约撰稿人

翻译

张冀川
张冀川

TechTarget中国特约专家,任职于某国企信息中心,负责数据中心硬件基础设施及信息系统运维管理工作,对虚拟化及云计算技术有浓厚兴趣,并在工作中积极应用

相关推荐

  • 重新认识闪存技术

    闪存设备在五年之前就已经成为大家关注的焦点,但是缓慢的写入速度以及相比于硬盘阵列的高昂开销,使得许多企业都不得不放弃使用闪存或者固态存储。

  • 部署Windows 7的四点硬件经验

    微软的Windows 7已经推出将近3年时间了,Windows 8预计在今年下半年发布。现在是时候回顾总结一下我们在企业环境中配置Windows 7过程得到的经验。

  • 为VMware家庭实验室精挑细选硬件

    在建立了家庭实验室所需的硬件设备标准之后,TechTarget中国的特约专家Eric Siebert进一步指出所选用的硬件设备。总的来看,有三种可选的方式……

  • 给虚拟化测试实验室选择硬件与OS

    在本文的上半部分中,我们分析了打造虚拟化测试实验室学习VMware技术的前提要求,本文接着分析如何为实验室选择硬件与操作系统。