超融合系统的市场自形成以来,业内专家,媒体争议不断。归根结底,要站在用户应用的角度看,最大的疑问就是:超融合系统是否可以承载关键业务应用?问题的焦点在于高可用性与高性能,这是以Oracle数据库为代表的关键业务应用的基本诉求。
关键应用促超融合“裂变”
先说高可用性,我们可以从数据(存储)的高可用和应用(计算)的高可用的两个角度来分别讨论。
作为超融合架构基石的Server SAN,属于软件定义存储的一类实现。数据分布于标准化的 x86 商用服务器硬件组成的集群,以多(典型为二或三)副本机制提供冗余,利用基于闪存技术的固态盘(SSD)提供高性能,从而具备堪与传统SAN存储相比的可用性和性能,已被几年来的实践所证实。
目前主流的超融合系统都采用了基于Hypervisor的服务器虚拟化,以至于为数不少的人认为Hyperconverged里的“Hyper-”代表的就是Hypervisor,对此本系列的第一篇文章就已经做了澄清,这里不再展开。
为什么超融合与(服务器)虚拟化如此密不可分?
这是因为,与基于物理节点的裸机方案相比,(基于Hypervisor的)虚拟化将计算资源切分为更细的颗粒度,为工作负载提供了很高的灵活性,更重要的是,它能够在同一物理节点上实现(计算)应用与存储功能的隔离,构成“狭义”的超融合——或者说,是节点级的超融合。
带来的好处就是:安装于虚拟机(VM)中的应用,方便在不同物理节点之间迁移,还可以享受虚拟化平台提供的保障可用性的措施,在高可用性方面甚至比物理机环境更为便利。
一方面,VDI(虚拟桌面基础架构)等原本就运行于虚拟化环境中的应用自然适合超融合架构;另一方面,以VMware为代表的供应商也已经围绕Oracle数据库做了优化工作,不断向用户证明,虚拟化环境同样适用于关键业务应用。
但问题也很明显,与服务器虚拟化相比,物理机环境性能更好、Oracle官方支持更好,或者仅仅是用户希望选择应用运行环境的自由……有太多的理由,反映出用户既要享受超融合系统在部署和维护上的便利性,又想摆脱虚拟化环境“束缚”的诉求。
反过来说,如果实现后一点,意味着应用要直接部署在物理机上,与存储功能相分离,那……还能叫“超融合”系统么?
显然,满足用户需求比死守某一概念要重要的多。技术不设限,概念须妥协。
2016年下半年, Nutanix和VMware先后在最新的产品中加入了标准的iSCSI接口功能,从而可以在计算与存储资源分离的情况下,让物理主机能够访问存储资源池。
2016年7月, Nutanix从其4.7版本开始,提供名为“Acropolis Block Services” (简称ABS)的块存储服务,通过支持标准的iSCSI接口,将存储供给物理主机,以满足Oracle数据库等应用的需求,并喊出了“Nutanix Runs All Virtualized Workloads”的口号。
Nutanix ABS块存储功能示意图
Nutanix的分布式存储实现是基于虚拟化环境,但通过支持标准的iSCSI接口,可以将超融合系统中的存储提供给物理主机。
2016年10月,VMware在vSAN 6.5中也加入了iSCSI访问支持,从而可以将vSAN存储提供给非虚拟化(物理主机)环境中的业务应用。
这种虚拟环境与物理环境相结合的使用方式,可以说扩展了“超融合”这个概念涵盖的范围
如前所述,原来计算与存储都在同一物理节点上的超融合可以称为“狭义”的“节点级超融合”,那么 “虚实结合”部署的方式可以理解为“广义”的“系统级超融合”。后者的存储仍然基于Server SAN(而不是传统SAN),只是计算与存储实现可以分离部署,以更好的满足不同的应用需求。如下图所示:
“系统级超融合”示例:Node 1代表同一物理节点实现计算与存储功能的“节点级超融合”,Node2代表(通常因计算资源不足而)仅提供存储功能的纯存储节点,Node3则代表只运行业务应用的纯计算节点
系统级超融合“运行所有应用”的能力对企业用户的意义重大。如果还是像(传统的)节点级超融合一样只能“运行所有虚拟化应用”,用户就要面对下面两个选择:
把所有应用都迁入虚拟化环境——对(关键业务)应用不友好;
虚拟化应用与裸机应用部署于不同的基础设施——引入了新的“竖井”。
基础设施的割裂会在很大程度上抵消超融合系统简化基础设施的努力。在大中型企业中,存在着大量需要与关键业务应用交互的周边应用,如Web服务器之于Oracle数据库、SAP ERP之于HANA内存数据库,这些应用都适合部署在虚拟化环境中。一套同时支持物理机和虚拟化环境的基础设施平台,才是名副其实的“超融合系统”。
从节点级超融合到系统级超融合,概念变化的背后,是对硬件平台的不同要求。因为,节点级超融合,每个节点要同时运行计算和存储任务,节点之间没有计算或存储的角色之分,但……系统级超融合,就有了!
正如前面所分析的,“广义”也好,“系统级超融合”也罢,绝非卖弄概念,因为虚拟与物理混合部署是实实在在的用户需求,而不应受仍主流但“狭义”的“节点级超融合”局限。
道理很简单:应该是底层基础架构顺应上层应用的需求,而不是让用户的应用为基础架构改变。
华为于2012年推出FusionCube超融合基础设施时,已经实现了同时支持关键业务和虚拟化应用,领先业界同仁三年多的时间。
那么,问题来了:FusionCube (9000) 是怎么做到的呢?
传统超融合平台的优势与局限
超融合的热潮让2U4节点服务器焕发出新的光彩。几乎每家主要的服务器供应商,都推出了2U4的产品,作为各种超融合系统的载体。
基于华为FusionServer X6000高密度服务器的FusionCube 6000C超融合基础设施,4个XH321 V3半宽双路服务器节点共享2U机箱及冗余电源、风扇,每节点支持多达6个NVMe SSD或2.5英寸SAS/SATA硬盘
主流的2U4服务器,4个节点的主存储,确切的说是驱动器槽位,均位于便于维护的前面板上,共12个3.5英寸或24个2.5英寸,也就是每节点3个3.5英寸硬盘或6个2.5英寸硬盘/SSD,加上双路Intel Xeon处理器及其内存,是计算存储相对均衡的配置。
4个计算存储均衡型节点共享同一机箱及其电源、风扇,确实很适合严格意义上的(节点级)超融合架构:
每个节点上都有足够的计算资源(CPU、内存)和存储资源(SSD、硬盘以及HBA),在提供存储服务的同时,有富余的计算能力运行业务应用;
在满足超融合架构(通常)三个节点的起步要求之余,还可以多出一个节点提高冗余度,而不至于有一个节点故障,整个系统就立刻处于危险之中。
然而,如果采用计算与存储分离部署的方式,计算存储均衡型节点就有点尴尬了——用作纯计算角色的话,围绕存储资源设计的功能(如多端口的SAS HBA)、准备的大量物理空间(如多个驱动器槽位)都将被闲置,意味着资源的浪费。
还有些超融合系统提供商会采用4U的多节点服务器,譬如企事录前年介绍过的青云,以及去年开始介绍的华为。作为超融合系统,这些4U服务器也提供4个节点,如果说2U服务器中的每个节点比较“瘦”,还相对偏计算;那么,4U4服务器中的每个节点明显更“胖”,可以容纳更多的硬盘或SSD,这意味着更大的存储容量和更高的I/O性能——在硬盘时代,尤其如此。
以华为FusionServer X6800服务器为例:在配置为超融合系统(FusionCube 6000)时,一个4U机箱内可容纳4个全高双槽XH628 V3节点,每节点支持12个3.5英寸硬盘(作为数据存储,还有2个2.5英寸硬盘位留给操作系统),已经等同于一台2U4节点服务器支持的全部3.5英寸硬盘数量。
华为FusionCube 6000基于4U多节点服务器FusionServer,容纳4个XH628 V3服务器节点,共可提供48个3.5英寸硬盘作为数据存储
作为符合ODCC天蝎多节点服务器规范的首款产品,FusionServer X6800在设计上的一个优势在于,具备较高的灵活性:除了前面所说的4U4(胖)节点配置,还可以配置为4U8(瘦)节点,因为X6800也支持全高单槽节点——XH620 V3,可简单理解为XH628去掉(容纳12个3.5英寸硬盘的)JBOD后的纯计算节点,最多可以支持8个XH620 V3——而且XH620 V3和XH628 V3可以在一台X6800内混插。
上图左为单槽位的XH620 V3计算节点,图右为双槽位的XH628 V3计算存储节点
FusionCube与Oracle数据库
一台FusionServer X6800可以配置为一套部署在物理机上,运行关键业务应用的FusionCube:3个XH628 V3安装FusionCube分布式存储(Server SAN),余下一个双槽位置正好容纳2个XH620 V3(计算节点),安装Oracle RAC(Real Application Cluster,真实应用集群)。Oracle RAC和FusionCube分布式存储均直接部署在物理服务器上,相当于裸机应用+Server SAN的架构。一共5个节点——存储三节点,计算两节点,正好满足了各自的最小可用性要求。
上述配置在Oracle官方有个参照物——Oracle数据库机(Oracle Database Appliance,简称ODA)。以第一代ODA为例(注:挂上企事录相应文章的链接),也是4U规格的机箱,由2个服务器节点组成RAC,以Oracle自己的方式共享24个2.5英寸驱动器:4个SAS SSD用于Redo日志,20个15000RPM(15K)SAS硬盘用于数据库存储。
两种4U方案的共同点是:计算和存储都是最小冗余,任一节点出现故障,就必须立即更换,否则可用性就会降级。FusionCube 6000的优势在于可以横向扩展,通过多台FusionServer X6800组成FusionCube 6000集群,扩充容量和性能的同时,获得更好的冗余,保证可用性。
不过,在华为的产品布局中,FusionCube 6000主要用于虚拟化环境(配置为节点级超融合)。如果要使用分离部署方式以支持数据库(Oracle和SAP HANA)等关键应用的话,华为推荐使用FusionCube超融合家族的元老:FusionCube 9000超融合系统。
FusionCube 9000基于华为FusionServer E9000刀片式服务器:机箱采用12U高度设计,里面可容纳8个全宽四路节点,或者16个半宽双路节点,其中存储节点必须是全宽的。此图为配置了8个半宽双路节点和2个全宽四路节点的FusionServer E9000平台,还留有8个半宽/4个全宽节点的空间,充分体现了刀片式服务器在可扩展性上的优势
与Nutanix和VMware不同,FusionCube在设计之初就考虑到了兼顾关键业务应用的需求,率先问世的FusionCube 9000支持物理和虚拟环境混合部署,是最早符合前述系统级超融合概念的产品。
为了达成这一目标,FusionCube 9000采用了12U的刀片式服务器FusionServer E9000,其更大的机箱空间意味着更大的扩展潜力和更好的灵活性。在考虑了管理节点所占用的空间之后,刚好可以部署4个全宽的存储节点,和6个半宽双路节点,或者3个全宽四路节点,当然也可以有更多组合。无论如何,都可以兼顾到物理和虚拟环境部署的需求,还可以提供更高的单节点计算性能。
并且,作为典型的刀片式服务器,FusionServer E9000背部还集成了网络交换模块,这就使得FusionCube 9000可以使用高速(40/56Gb,乃至100/200Gb)的InfiniBand(IB)网络。这种高性能、低延迟的网络,在有些情况下甚至是关键业务应用的标配——譬如ODA的大哥Exadata就用了InfiniBand,而Exadata也正是FusionCube 9000对标的对象之一。
那么,FusionCube 9000在Oracle数据库应用中的性能及可用性表现究竟如何?请关注企事录下一篇评测报告。