比较SDDC中的刀片和机架服务器
针对刀片服务器和机架服务器的争论从数据中心出现开始一直延续到了现在。每种平台在密度、电源、温控和可用性方面都有自己的优势,而这些方面也已经讨论了很多年。许多争论都是围绕传统的服务器操作系统和应用程序。而对于现在的环境来说,人们最为关注的不再是应用程序和硬件之间的依赖关系,而是运行hypervisor的硬件平台。现在,许多人都将硬件作为基础组成部分,而软件才是数据中心的关键。这是否意味着我们终于可以结束对于刀片服务器和机架服务器的争论?答案是否定的。事实上,这使得争论更加激烈。
这种争论并非没有解决方式,在遵从一些基本原则的情况下,可能总结出明确的解决方案。应该选择刀片服务器、机架服务器或者两者都使用的一个核心原则是虚拟化是一种整合技术。这听起来像是我们全都了解的虚拟化基础知识,但当设计基础设施时,却是最容易被遗忘的底层基础。我们已经明确刀片服务器是一种整合技术,所以如果我们使用其来运行虚拟机,就变成了从硬件和软件两个方面进行了整合。如果我们更近一步,在虚拟环境之上部署Docker或者Citrix,数据中心看起来就会像一堆俄罗斯嵌套娃娃。
故障转移计划
虽然刀片服务器可以提供一套紧凑的基础设施系统,但是在设计基础设施过程中还需要注意故障转移计划。对于管理员来说,都不愿意同时听到整合和故障这两个词,这也是为什么出现很多关于刀片服务器和机架服务器的争论。
几年之前,我目睹了数据中心里一台核心交换机发生局部故障,影响了很多下层交换机,甚至导致几台交换机失去连接。几台机架交换机和两台刀片交换机出现问题,需要进行重启。但是机架交换机位于数据中心的不同位置,而刀片交换机恰巧位于同一个机箱当中。因为机架服务器具有备用连接,所以业务没有受到影响。但是,受到影响的刀片服务器机箱却出现了连接中断的情况,更为糟糕的是上面运行了大规模的Citrix环境。
虽然这是一种偶然状况,但是如果刀片机箱中运行的是hypervisor,情况会更加糟糕,受影响的将不只是16台服务器,而可能是数百台。这是否是一个独立的事故?是的,但是硬件整合风险仍然存在。就像软件整合一样,我们必须学习如何避免这些风险。刀片和虚拟化技术在节省电力和整合方面具有很大价值,所有我们需要确保在设计时考虑这些方面,而不能仍旧使用传统机架和应用程序服务器的设计流程。
将机架服务器放在不同的机架上,连接到不同的交换机来避免可能的硬件故障是一种更为简单的方式。使用这种方式,配合高可用性(HA)机制,可以极大地提升环境的弹性。我们可以在刀片数据中心使用HA机制来防止所有关键虚拟机运行在同一台刀片服务器上,但是通常它们还是会在同一个机箱当中。你可能会争论机架服务器也依赖于数据中心的其他基础设施,就像刀片服务器依赖于机箱一样。确实,这是正确的,但是不要忘记刀片机箱也依赖于数据中心。事实上,机箱是俄罗斯嵌套模型中的另外一层。解决这个问题的方式之一就是将虚拟机部署在多个刀片机箱当中,将一台机箱故障导致所有虚拟机停机的风险减至最低。
刀片技术的发展前景
表面上,增加机箱数量看起来是解决刀片问题的一种可行方案,但是仍然存在一些顾虑。机箱自身就是硬件中价格非常昂贵的部分。这种机箱结构可能是“被动的”,双控制器、网络和光纤上行链路都可能为机箱增加很大开销。安装这些备用部件将会大幅提升每台服务器的平均开销。当然,如果不需要光纤交换机或者更高速的网络连接等这些hypervisor主机所需的组件,也可以在机箱中安装非虚拟化服务器,但是刀片机箱是否得到了充分利用?
表面上,刀片并不适用于虚拟化环境。但是,如果减少每个机箱中的刀片服务器数量会怎样?传统来说,刀片服务器都是大规模和高密度的,但是现在的刀片服务器密度已经降至4到16台物理服务器。虽然高密度的情况仍然存在,但是中型或者大型企业也拥有灵活性来减少刀片数量并降低每个机箱开销。这允许业务部门利用刀片提供的优势,但是需要避免关于密度的问题,以及一直存在的“将所有鸡蛋都放在一个篮子里”的担心。
相比于密度更高的机箱来说,这种方式节省的电力和空间更少,但是这种方式为企业提供了一个平衡点,既想要享受刀片的优势,由不想要面对高风险。因为机箱的体积在不断缩小,使得管理以及外部连接相关的开销同样会减少,所以使用更小型化的机箱是一种更为经济的解决方案。当然,这并不意味这刀片已经获得了胜利,机架服务器在短时间内不会消失。但是,如果刀片服务器制造商更多地思考需求和风险,而不是速度和体积,那么刀片可能会成为未来的趋势。