狒话 · 2021年01月22日

超融合架构平台解析(下):虚拟化的是与非

作者注:本文承接《如何“超”融合:超融合架构平台解析(上)》,首次发表于2016年7月28日

水乳且交融:轮廓愈发模糊的超融合?

FusionCube 9000的整体架构介绍的差不多了,现在回来解决一下前面提出的问题:类似“FusionCube数据库超融合基础设施”这样的叫法,对不对?更直接点说,FusionCube 9000究竟是不是超融合?

若是严格按照最初的定义,物理机(计算)+分布式(存储)确实不能算超融合。譬如Exadata,一直被列入集成系统/集成平台(IDC)或集成堆栈系统(Gartner),非要跟超融合系统扯上关系,“半”啊“泛”啊什么的仍然不能少。

FusionCube-Applications.jpg
FusionCube 9000支持物理部署、物理/虚拟化混合部署、虚拟化部署,FusionCube 6000则专攻后者

将FusionCube 9000称为超融合系统或超融合基础设施,则没有任何问题。分三种情况讨论:

  1. FusionCube 9000只运行虚拟化应用,每个节点都是计算(VM)与存储(FusionStorage)一体的,那必须是超融合系统;
  2. (一台)FusionCube 9000混合运行虚拟化和数据库(物理机)应用,也得算超融合系统——总不能说它就变成了“半超融合系统”;
  3. 只运行数据库应用的FusionCube 9000……在一个机箱(Chassis)里面还是计算与存储充分融合的?

FusionCube9000-Hybrid.jpg
厦门警务云混合一体机采用物理机和虚拟机混合部署

看看,厘清概念和生搬硬套之间有个度,不好把握。可资参考的是,成功的把超融合做成一种商业模式的Nutanix,2016年6月下旬在其年度大会上也松了口,宣布推出支持在裸机上运行数据库应用的块存储服务,不再受虚拟化环境的限制(Runs All Virtualized Workloads)。

在数据库一体机那边,Oracle也在逐步放宽对虚拟化的限制,如Exadata的小兄弟Oracle数据库机(Oracle Database Appliance,ODA)X5-2,就将Oracle VM作为可选项。

虚拟化不忘物理机,物理机想加虚拟化,超融合的边界好生繁忙……

2U4到4U4:FusionCube 6000要点解析

如果说FusionCube 9000靠的是压缩空间(Rack→Chassis),那么FusionCube 6000靠的就是扩展空间(2U→4U)。

前面提到过2U4(节点),这种多节点高密度服务器在企业市场得到广泛重视,很大程度上要拜超融合所赐。在这方面,华为也有基于FusionServer X6000高密度服务器的FusionCube 6000C超融合基础设施。

6000C Architecture.jpg
2U4规格的FusionCube 6000C:4个XH321 V3半宽双路服务器节点共享2U机箱及冗余电源、风扇,每节点支持多达6个NVMe SSD或2.5英寸SAS/SATA硬盘

1U服务器放不了多少存储硬件资源(硬盘/SSD),“存储服务器”基本都是2U的,计算存储两不误。可是超融合因为采用分布式存储,至少要3台服务器,再加上交换机,(特别是小型环境)多个设备交付起来,很没有“融合”或“一体机”的感觉。

所以2U4很合适:前面存储部分走2U,后面计算单元为1U且半宽,还可以共享电源和风扇,颇有些“微缩刀片”的意味。(计算)密度(存储)容量都有了,一台2U的设备就能满足分布式存储的最小要求。戴尔及联想先后与Nutanix达成合作时,也要考虑常规2U服务器和2U4机型的储备。

Supermicro-2U4.jpg
Supermicro的2U4节点服务器被广泛用于初创公司的超融合设备,此为配置12个3.5英寸驱动器的版本,2.5英寸驱动器可配置24个

当然2U4同样有“螺狮壳里做道场”的问题,一是前面的硬盘仓位(盘位)不够分:3.5英寸每节点3个(12÷4),2.5英寸每节点6个(24÷4);二是节点里的扩展槽位不够用,放不下全尺寸的GPU。所以,如Nutanix也有2U2和2U1(即常规2U服务器)之类的机型。

或者,把Box(小Chassis)再做大些,如4U4或4U8之类的呢?

Supermicro-4U4.jpg
青云QingCloud使用Supermicro的4U4节点服务器,共48个2.5英寸盘位用于数据存储

FusionCube家族中的另一位成员——适用于虚拟化和桌面云场景的FusionCube 6000,就是这么考虑的。

FusionCube 6000基于FusionServer X6800数据中心服务器,这款4U多节点机型经过华为和中国移动研究院等合作伙伴的努力,演变为ODCC(Open Data Center Committee,开放数据中心委员会)的天蝎多节点服务器。换言之,X6800是第一款符合天蝎多节点服务器规范的产品。

X6800-ODCC.jpg
中国移动作为天蝎多节点服务器展出的X6800,采用(6)计算与(1)存储节点混合配置

X6800也被华为称作“计算存储融合平台”,高度4U,支持4~8个竖插的节点,共享位于后部的4个电源和5组风扇,降低部署难度,提高电源和风扇的利用效率。在两组电源之间,有8个PCIe 3.0 x8扩展槽,支持半高半长(HHHL),每个功耗最高25W——很适合PCIe SSD,分别对应前面的8个服务器节点槽位。

FusionCube6000-Back.jpg
FusionServer X6800数据中心服务器后端布局,底下是5组80mm风扇(N+1配置),上面两边各2个供电单元(1+1、2+2配置),中间夹着8个半高半长的PCI Express扩展槽,颇有些E9000的风采

目前X6800可用的服务器节点有单槽和双槽两种,单槽每框最多可部署8个节点,双槽每框最多可部署4个节点,支持混合部署(如上面中国移动展出的配置),具备足够的灵活性。单槽(瘦节点)1种,双槽(胖节点)2种,共3种型号的节点,均为双路(2×至强E5-2600 v3/v4系列,16个DDR4 DIMM)配置,可以套用E9000的双路节点分类方式(超融合的套路啊,套路):

X6800-Nodes.png

  • 单槽的XH620 V3是计算节点,2/4个2.5英寸SSD/SAS/SATA硬盘或2个3.5英寸SAS/SATA硬盘,机框后部扩展槽可容纳1个半高半长PCIe SSD;
  • 双槽的XH622 V3是计算I/O扩展节点,不支持3.5英寸硬盘,可以支持2个(GP)GPU和2个(后部扩展槽提供的)半高半长PCIe SSD;
  • 双槽的XH628 V3是计算存储节点,最大支持4个半高半长PCIe SSD(前后各2),12个3.5英寸热插拔SAS/SATA硬盘或2.5英寸热插拔SSD/SAS/SATA硬盘,还有2个2.5英寸SSD/SATA硬盘可用来安装操作系统。

XH62x-3.jpg
FusionServer XH620 V3(左)、XH622 V3(右上)和XH628 V3(右下)

大多数虚拟化场景(如桌面云)对存储的I/O性能要求没有数据库那么高(与此相应,FusionCube 9000适用于“高端虚拟化”场景),但容量要比较大,所以目前FusionCube 6000只用XH628 V3,4个节点可支持48个3.5/2.5英寸硬盘,PCIe SSD作为FusionStorage分布式存储的Cache/缓存使用。

FusionCube6000-Front.jpg
配置4个XH628 V3节点的FusionServer X6800服务器构成FusionCube 6000的硬件平台。如果盘位都设计为直接在前面板访问,4U机型只能安装24个3.5英寸硬盘,或48个2.5英寸硬盘,而不是这种竖插设计的48个3.5英寸硬盘

与2U4方案相比,FusionCube 6000单体大一倍,好处是节点也能多一倍。理论上,现在的FusionCube 6000甚至可以支持Oracle RAC的最小配置:3个双槽XH628 V3提供FusionStorage存储,2个单槽XH620 V3用作数据库服务器。作为入门级配置,这已经足够了,如下面附文介绍的“魔改版FusionCube 6000”测试,就是这样的一个硬件配置。

Cube6000-X6800.jpg
正牌FusionCube 6000(上)只有4个双槽的XH628 V3,但我们把其中1个双槽位替换为2个单槽的XH620 V3(下)之后,3个XH628 V3仍然能组成(冗余度受限的)超融合或分布式存储方案,后者加上2个XH620 V3就是一台能实现Oracle RAC的数据库一体机

类似的例子是前面提到的Oracle数据库机(ODA):刚推出时也是4U,数据库服务器和存储都是双份,4×SSD + 20×3.5英寸SAS硬盘;集成了内部冗余的千兆以太网(GbE)互连,无需专门的网络设备。

FusionCube6000-Scale.jpg
FusionCube 6000从3个节点起步,可以扩展到64个机箱

实践上,不妨YY一下:最新的至强D(Xeon-D)SoC具有16个物理核心,超过2个E5-2620 v3(共12核),接近2个E5-2620 v4(也是16核,但Cache更大)。如果用至强D配合2.5英寸硬盘(全闪存可能还比较吃劲),做出单槽的纯存储节点,FusionCube 6000也可以有类似4+4的数据库配置方案……FusionCube 9000同样可以考虑增加半宽的纯存储节点。

XH628-V3-JBOD.jpg
XH628 V3的存储部分(相当于12个3.5英寸盘位的JBOD)单独拉出时,硬盘仍能保持供电

YY归YY,硬件平台对超融合系统的支撑作用,是显而易见的。

网络待融合:SDN未到必备时?

经常看到有人说:为什么超融合是计算与存储的融合,网络呢?

本系列的第一篇文章中,提出了“计算为主导,存储为区分,软件为核心,网络是未来”的发展轨迹。意即,如果没有被新的名词所代替,在超融合架构的未来发展过程中,网络的融合将是很重要的一个环节。

Converged Systems.jpg
在宣传上,超融合系统的网络部分都是融合的,但真正符合“融合”标准的,还为数不多

然而,直到目前为止,超融合的根基还是计算与存储的高度融合,对网络融合则尚无清晰的界定。绝大多数超融合产品,其网络部分仍未明显超越传统融合系统对网络的“集成”阶段。

Vblock 740.jpg
融合/集成系统广泛使用刀片式服务器,专用(外置)交换机仍是必备组件

在IDC和Gartner对超融合系统的定义中,都强调了计算和存储资源的融合,基础是软件定义存储(SDS)、软件定义计算(Software Defined Compute,SDC)、商用硬件(commodity hardware,通常指x86服务器)和统一管理界面。Gartner关于集成系统的魔力象限(Magic Quadrant for Integrated Systems)报告中,倒是提到了计算、网络和存储硬件的紧耦合(Tightly coupled compute, network and storage hardware),但接下来的就是“消除了对传统SAN的需求”,并列出了一串存储管理功能。

不是我们生搬硬套定义或玩文字游戏,而是现阶段,确实无法以超融合架构中存储所达到的两点去要求网络:

  1. 与计算硬件融为一体;
  2. 软件定义为必备功能。

仅上面第一点要求,就足以把大量采用机架式服务器+交换机方案的超融合系统拦在门外了。

Nodes6000-9000.jpg
FusionCube 6000/9000的节点和网络配置,都体现了各自的特色

在这点上,刀片式服务器显出优势。刀片式服务器被认为是最早的融合系统——融合(集成)了计算和网络,基本没有存储。譬如,FusionCube 9000所使用的“FusionServer E9000融合架构刀片服务器”有4个(2对)交换槽位,可安装4个华为CX系列刀片交换模块,背板交换容量达15.6Tbps,支持多种交换模块,包括40GbE、IB FDR(56Gb/s),可演进至100GbE、IB EDR(100Gb/s)。

CX610-IB.jpg
CX610 InfiniBand(IB)交换模块,QDR/FDR自适应,适合低时延高带宽应用

但是,在基于刀片式服务器的融合/集成系统中,仍然有外部交换机存在:一方面是连接系统中存在的多台刀片式服务器;更重要的是,需要存储交换机在刀片式服务器之间共享SAN存储。

10GbE-8Chassis.png
FusionCube 9000使用10GbE组网时可扩展至8框规模,而无需外置交换机

好在,FusionCube 9000是超融合系统,没有SAN存储,能够直接使用自带的刀片交换模块互联,10GbE(万兆以太网)级联最多可达8框,IB则可以7框级联。当然,最多20框级联这样的扩展水平,还是要通过外部交换机实现。

FusionCube9000-Scale.jpg
从机框,到机柜,到多柜,FusionCube 9000的扩展能力已经能够满足大多数企业应用的需求

至于软件架构层面,网络在超融合架构中也还没有显现出(相对于传统融合系统)的特殊性,绝大多数方案中网络仍是基于二层来实现互通,利用网络的高带宽来为分布式存储、物理及虚拟服务器(VM)的数据流提供通路,主要通过VLAN(Virtual Local Area Network,虚拟局域网)实现网络隔离。

如同RAID已不属于人们常说的存储虚拟化或软件定义存储范畴(定义上是符合的),VLAN也很难被视为一种主流的网络虚拟化或软件定义网络(Software Defined Network,SDN)技术。而在物理及虚拟网络的规模没有达到一定程度时,SDN尚无很大必要,有些网络虚拟化特性则主要由选择的hypervisor决定(如NVGRE和VxLAN)。在这种情况下,是否将SDN/NFV作为超融合系统的可选功能或特别卖点提供,更多取决于各家的策略。

6月下旬,IDC公布了2016年第一季度的全球融合系统季度追踪报告,整体市场增长11%(到25亿美元),超融合区段增长148%(到3.72亿美元),并且有这么一句话:中端市场乃至企业数据中心外沿的最终用户继续将全方位简化用户体验排在优先位置,是超融合系统快速增长的核心。

IDC2016Q1.png

本系列的第一篇文章也提到了类似的表述,即超融合系统今后一段时间仍主要得益于中(低)端市场。同时更大规模的(虚拟化)应用对网络的融合有较高需求。

附文是我们“山寨”一套FusionCube 6000的安装及测试过程,供参考。

天生一对有实证:超融合系统与虚拟化应用

FusionCube 6000最大48个硬盘仓位的设计,是传统2U服务器(12个3.5英寸硬盘仓位)的2倍(4U可容纳24个);如果以节点计,每节点12个3.5英寸硬盘仓位,则是常见2U4节点服务器的4倍(每节点3个)。当然,如果换成2.5英寸SSD,FusionCube 6000相比主流2U4节点服务器的优势就没有那么明显了。

改装:提速扩容

我们通过合作伙伴借到一台FusionServer X6800服务器平台,在华为工程师的指导下,安装上FusionCube软件,小幅度“改造”为一套FusionCube 6000超融合系统。

FusionServer-X6800.jpg
我们拿到的这台FusionServer X6800配备了2个XH620 V3单槽服务器节点(左侧)和3个XH628 V3双槽服务器节点(右侧),而FusionCube 6000全部采用XH628 V3双槽服务器,共4个节点。我们的做法是在XH628 V3上安装FusionCube软件,形成三节点的FusionCube 6000超融合系统,留下2个XH620 V3供测试使用

我们首先对这台X6800服务器进行了部分硬件升级。在Intel公司的大力支持下,将原来配置的E5-2609 v3处理器(6核1.9GHz)升级为了最新的E5-2650 v4处理器(12核2.2GHz);64GB内存也升级为128GB内存,以适应超融合对CPU性能和内存容量的要求。

XH628 V3服务器右侧相对独立的JBOD部分最多支持12块3.5英寸硬盘,我们共使用了3个XH628 V3上的24个硬盘仓位(而不是36个),每节点8个,其中6个为3.5英寸的希捷4TB大容量磁盘(实际使用5个,作为数据存储),2个为2.5英寸的美光480GB SSD(用作缓存)。

XH628-V3-Node.jpg
在FusionCube 6000中,每节点使用2个SSD作为缓存(Cache/Buffer),10个(3.5/2.5英寸)硬盘作为数据存储;也可在背面的PCIe插槽使用更高速的PCIe (NVMe) SSD作为缓存(每节点最多2个),单个4U机箱最大支持48(数据)+8(操作系统)个硬盘。

由于我们这台FusionServer X6800是工程样品,后面没有提供PCIe背板,无法使用后部扩展槽安装PCIe SSD,只能采用在3.5英寸盘位上安装2.5英寸SSD的方式作为替代。这样无疑会损失数据盘的数量(和容量),还好我们只是测试系统,本来盘位就没有用满。

安装:一键搞定

目前大多数的超融合系统都基于虚拟化环境,天生就适合运行VDI(Virtual Desktop Infrastructure,虚拟桌面基础架构)这样典型的虚拟化应用。一方面是因为超融合的线性扩展能力,只要计算与存储的配比适当,当用户需要增加虚拟桌面的数量时,只需部署或者加入相应数量的FusionCube 6000,接通网络,并简单配置即可。

即使是在用户现场全新部署(比如我们这套环境),借助华为的配套部署软件,也能实现无人值守一键安装。

FusionCube 6000-install.png
华为配套的用于FusionCube超融合系统安装的Builder工具,实际是一个模板虚机,只需要导入这个虚机,然后将其接入到FusionCube同一个网络,就可以一键安装FusionCube系统

FusionStorage.png
FusionCube 6000安装完毕后,其分布式存储的后台管理界面,红框中显示3个节点共15块SATA硬盘用作数据存储

Storage-Architecture.jpg
本次测试的FusionCube 6000分布式存储配置示意图,每节点5个SATA HDD,整个存储池共有15个4TB硬盘作为数据存储,2副本后17TB可用存储容量;每节点2个SSD,共有6个用作缓存,因为2副本数据保护,所以实际1.4TB可用Cache/缓存容量

在安装FusionCube 6000超融合系统的同时,我们在另外两台XH620 V3服务器上安装ESXi系统,并构建VMware Horizon虚拟桌面环境,整个测试架构如下图所示:

Architecture.jpg
测试构建的VDI测试环境,三节点的FusionCube 6000超融合系统用于构建VDI所需的桌面池。另外两台XH620 V3服务器中的一台用于构建vSphere以及Horizon(图右下部分),另一台则用于生成测试中用于登录VDI的客户端(图右上的View Client),客户端通过网络登录VDI Desktop,其数量等于Desktop的数量

基于FusionCube 6000的VDI测试

View Planner是VMware公司推出的一个可用于规划Horizon虚拟桌面的工具,同时也可以用于VDI测试以评估基础设施的性能是否满足既定目标数量桌面的需求。View Planner测试主要由9种工作负载构成,混合模拟44种用户操作行为,并分为三大类:

workload.jpg
View Planner测试工作负载由Office、视频以及解压缩等9种应用构成,并分为三组考核,A组和B组被用于考察服务质量(QoS),C组用于产生额外负载(可选)。其中A组默认标准的操作响应时间小于1秒,B组小于6秒,被认为测试有效

我们按照View Planner基准测试标准进行评估,但需要说明的是,因为服务器数量和配置限制,在本次测试中并没有安装邮件服务器,所以缺失Outlook工作负载。此外,在开始测试时,View Planner会首先下发命令,所有虚机(主要是VDI Desktop和View Client)都会首先执行重启操作,因此测试也有针对“启动风暴”问题进行评估,但并不计入测试成绩。

需要注意的是,在用于VDI场景时,华为建议FusionCube 6000每节点配置2颗英特尔至强E5-2658A v3(或同级别)处理器,12条32GB内存,总计384GB内存。而我们手头并没有如此多的内存,每节点128GB内存容量只有384GB的三分之一,其中的一半还要划归FusionCube分布式存储调用。正是因为这一限制,导致测试中VDI桌面数量相当有限,三节点共生成100个VDI桌面(1核1GB规格),内存容量就接近上限。

test-configure.png
我们的VDI测试中共使用了100个VDI桌面,通过PCoIP协议从Client登录到VDI Desktop进行测试(网络质量也是影响VDI应用的一大关键)

在整个测试过程中,完全由View Planner控制器掌控运行,在运行一段时间之后(VDI桌面数量不同,其运行时间不同),获得测试结果:

total-latency.png
A、B两组操作行为的平均延时,A组为0.75秒,小于既定的1秒默认标准时间;B组平均延时为3.71秒,小于既定的6秒默认标准时间。图中的横线(红色线和橙色线)为默认标准时间

测试结果表明,尽管是较低配置的FusionCube 6000系统,也能支持100个VDI桌面用户,不管是A还B组的操作响应时间都低于标准响应时间,具有较好的用户体验。这表明计算、存储以及网络均满足VDI所需。尤其是存储子系统,尽管FusionCube分布式存储系统使用相对慢速的3.5英寸磁盘,但有SATA SSD作为高速缓存,显著提高了整个存储系统的性能表现。

以下为各用户操作负载打开、关闭的延时:

Group-A-Latency.png
可以看出,在A组操作延时中,除了FireFox在关闭时的延时超过1秒之外,其他负载的延时均小于1秒

上图为A组测试中各项操作的平均响应时间,除了在FireFox浏览器关闭操作响应时间超过了1秒,其他包括Adobe Reader、IE以及Office(Word、Excel和PowerPoint)等操作时间都小于1秒,所有操作行为的平均响应时间仅为0.75秒,具有很好的用户体验。

Group-B&C-Latency.jpg
B组与C组的操作延迟,均小于3.5秒,远低于默认标准的6秒延时

在B组操作中,响应时间较长的几个行为分别是打开和保存一个较大的Word文档,以及打开一个较大的PowerPoint文档,这几个操作的响应时间都在3秒左右,相对于在PC端打开一个超过3MB大小的Word或者PowerPoint文件,VDI也不落下风。同样,C组主要是压缩文件和保存PowerPoint文件这两个操作耗时较长,但并未超过3秒,并不弱于物理PC机。能够获得不弱于传统(单机部署)桌面环境的用户体验,证明这套VDI环境具有很好的性能。

除了View Planner提供的测试结果之外,我们还记录了FusionCube 6000后台管理界面和vSphere vCenter服务器中的部分监控截图:

Storage-monitor.png
FusionCube 6000后台监控中所显示的存储性能状况,根据我们的观察和推测,上图中的第一个I/O波峰(持续时间较短)应为所有VDI桌面在短时间内并发重启产生的I/O尖峰;第二个波峰(持续时间较长)应为VDI测试正常运行,所有VDI桌面同时运行用户负载导致

vCenter-CPU-performanece.png
在VMware vCenter中监控的FusionCube 6000集群总CPU负载情况。其中23点~1点的波峰主要是生成100台VDI桌面导致的性能波峰,生成完毕,CPU占用率下降;7点后的波峰为VDI测试导致的

vCenter-memory.png
VMware vCenter中监控到FusionCube 6000集群已消耗的内存总量,可以看出,内存消耗已经接近物理内存极限

从本次测试来看,由于内存容量配置较低,导致不能生成更多的VDI桌面。从各方面获得的数据进行统计分析,整个FusionCube 6000系统的计算能力还有大量富余,View Planner测试结果也显示,FusionCube存储子系统的性能也应有富余(A/B两组操作均小于标准时间),但由于内存达到上限,无法生成更多VDI桌面。

结语

华为FusionCube 6000采用4U4节点设计,在FusionCube分布式存储软件(FusionStorage)的支持下,即使是SATA SSD作为低速大容量磁盘缓存层使用的配置,也已能满足虚拟化环境下的性能需求,还能有效缓解虚拟化环境需要更高存储容量的问题。对FusionCube 6000超融合系统进行的VDI测试结果显示,三节点共100VDI桌面(受内存限制无法生成更多桌面)的性能良好,Office、视频以及浏览器等应用都能正常运行,且响应时间远低于设定的阈值。我们估计,如果能够提升内存容量(例如使用FusionCube 6000推荐配置),能够支持的VDI桌面应该可以达到数倍之多。

附文作者为曾智强,最初发表于2017年4月27日

推荐阅读
关注数
2835
内容数
57
云计算、基础设施、大数据领域的技术话题
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息