在IT基础架构领域工作有十年了,亲眼目睹和参与了上一代网络存储架构在中国的兴起和衰败。的确,新IT浪潮已经到来,超融合就是诸多风口之一,成为了近几年IT业界备受关注的话题。虽然超融合这个概念已经被厂商热炒了至少两年,但看到市场上依旧存在着很多模糊的定义和理解,所以想整理一些学习笔记和个人见解,希望这些干货内容能对想入门的朋友有所帮助 。

一.超融合的核心特征是什么?


首先大家需要有一个概念,我们看到的这些名词,事实上都是最早推行这些架构的厂商建立起来的,比如Nutanix最早推广的超融合这个概念(HCI :Hyper Converge Infrastructure),目的无非是建立一个产品的品类,这是营销惯常的手法,但老外玩儿的真的很溜很成功。

Nutanix起步的核心技术是分布式存储,只是在部署架构上有了进一步创新,采用了这种融合的方式。其实这种创新在技术本身上并没有大的难度,但很大程度上推进了分布式存储的市场落地。

所以这就是超融合1.0的核心,但市场上很多人,被“融合”二字迷惑,甚至一些厂商,也就顺水推舟,弱化存储部分(弱化的原因是存储真的很难做好),单纯去强调融合,把一堆无关痛痒的东西集成起来。个人觉得这不是正途。

我认为真正撬动传统IT市场的超融合1.0的特征主要是两点:

一是,基于X86服务器架构的分布式存储(这里先不提SDS了,会增加新的混淆);

二是,分布式存储和计算虚拟化部署在同一服务器硬件内。

下面对比中能看到,给用户带来价值的重要特性中,大概70%是来自于分布式存储,30%是超融合架构带来的好处(比如管理简化,使用成本的降低),但恰恰是这30%,让用户更愿意从传统架构切换到分布式架构上来。


二.超融合是革命性架构么?革谁的命?


任何称之为革命性的架构都应具备至少以下三个特征:

一是,对用户的使用习惯会有巨大的改变;

二是,为用户带来巨大的价值;

三是,新的厂商可以撬动传统老牌厂商的市场。

以上三点,超融合产品都具备,前两点在后面分别介绍,第三个可以通过国外的Nutanix、VMware(vSAN),中国的SmartX等厂商的案例描述中看到,他们所替代的产品大量的是老牌存储厂商EMC、HDS等公司的存储产品。有人会说Nutanix不也自己出服务器虚拟化产品吗?这是不是在替换VMware?但这已经是后来的故事,最初的Nutanix产品核心就是超融合架构的分布式存储。用户采购Nutanix并不需要替换原有的服务器品牌(比如Dell)或者虚拟化品牌(比如VMware),只有存储(比如EMC)是一定被替换掉的。这是重要的起点和切入点。如果最初Nutanix就是想以超融合的理念替换存储、虚拟化甚至服务器硬件,我想那会树敌太多,几乎没有胜算。


三.为什么超融合的架构会在近几年才出现?


一个革命性的技术架构出现、成熟需要至少两个核心因素:

一是,客户的强烈需求;

二是,相关技术的成熟。

超融合架构的客户需求来自于商业数字化和互联网化对IT资源的使用速度和使用要求有了大幅提升。而以下相关技术对架构的市场落地有很大关系。

1. 分布式存储架构

这个其实在互联网公司用了很多年,分布式存储可以很好地基于X86服务器构建一个易扩展、高可靠的存储资源池,是超融合的基础。

2.SSD

毫无疑问,SSD对存储架构的影响是巨大的,传统机械硬盘的4K随机性能只有300左右,而类似intel 3710这样的SSD则可以达到超过7万IOPS,直接高出两个数量级。但同时双控制器架构就会成为瓶颈,比如EMC的Unity 650 可以支持一千块硬盘或SSD,但31块SSD的时候就到达瓶颈,此时8:2读写混合最大只能达到27万IOPS。

同样,SSD大大减少了事务型存储系统的机架空间,使存储和计算节点的数量比较匹配,这是超融合架构成立的一个重要条件。

3.虚拟化

超融合架构成立的另一个重要条件就是虚拟化已经被广泛接受,否则分布式存储不可能和应用共存在一个物理节点上,除非是一个厂商的一体机产品。

4. CPU

最后就是大家常说的CPU更强大更廉价,可以同时解决计算和存储的要求。


四.超融合就是分布式存储和计算虚拟化简单地安装在一起吗?


答案当然是NO。

因为要以超融合的形态去做虚拟化的存储,还应该具备以下特征:

一是,对系统资源消耗应该少,并且可控,合理的方案不应该超过10%;

二是,支持VM数据访问本地化,这个是超融合架构另一大优势;

三是,既然是重点支持虚拟化平台存储,就应该对不同的虚拟化平台有比较好的支持,类似VMware、KVM等。

所以,现在中国市场真正算得上超融合架构的也就是Nutanix、VMware、SmartX。国内很多厂商拿一个Ceph就包装超融合产品,以上三点没有一点能做好。主要的问题包括:

1.哈希算法不能实现数据存放的精准控制,所以I/O本地化无法实现。

2.软件I/O路径比较长, CPU资源消耗比较多,进一步增加了延迟。


五.超融合架构和传统架构有哪些区别?


这里我挑了SmartX的架构图用来做对比说明,更清晰一些(以下若干图都取自SmartX产品胶片)。对于真正的超融合产品,以下特性都是一致的的。如果有少量的特性差异,会专门描述。

 

六.为什么超融合架构的可靠性能比传统双控架构更好?


用服务器构建存储,客户顾虑最多的首先是可靠性,如果需要衡量可靠性:

系统的冗余度?通俗的说就是允许硬件坏多少?

出现故障后是否完全自动恢复?

恢复速度和时间?因为系统处于降级状态下是比较危险的状态,故障窗口越小,出现整体故障的可能性就越小。

以下给出详细的系统冗余与恢复机制对比。

上表需要进一步说明的是:

三副本可以带来比双控更好的冗余度,代价当然就是损耗更多的容量。

管理的粒度部分,各家实现不同,有的是基于资源池设置两副本或三副本,有的厂商,比如SmartX,是以卷为单位,这样的好处就是可以在一个资源池上分配不同副本策略的卷,用于不同安全级别的VM。

热备盘的处理方面,其实大部分分布式存储都没有了,而是利用已有空间进行恢复。但需要强调的是现在GlusterFS还是使用热备盘机制,包括深信服等还是基于这样的产品构建超融合,个人很不看好。

可以看出可靠性方面,超融合架构的优势非常大,但其实这里的优势都是分布式存储本身应该具备的。


七.为什么超融合架构的随机性能比传统架构更高?


可以看出,超融合在性能方面的架构优势也非常明显,当然代价就是消耗计算资源,所以计算资源的消耗是检验超融合专业性的一个重要因素。

以下给出详细的性能机制对比。

性能相关的特性中,多节点并发和性能扩展依旧是分布式存储带来的。而数据本地化是超融合架构独有的,分离式的架构无法实现,当然代价就是计算资源的占用。SSD是即使传统架构存储都会使用的,但双控无法发挥SSD的性能。

比如EMC Unity 650F,8:2 8K混合随机读写性能最大27万IOPS,而对于类似Nutanix、SmartX等性能比较好的超融合产品,一个节点8:2 8K混合随机读写很容易达到3万以上IOPS,通过线性扩展,10个左右节点就可以达到EMC Unity 650F的最大性能。而10个节点只是非常小的用户规模。


八.为什么超融合架构的可扩展性比传统架构更好?


可扩展性是分布式架构的最大优势之一,当然扩容后的数据自动负载均衡效果并不是必然的,要看厂家的产品化程度。

以下给出详细的系统可扩展性对比。扩展性方面的优势,依旧是分布式存储架构带来的。

 

九.为什么超融合架构的部署运维更简单?


超融合架构运维的简化效果是非常显著的,以下从几个角度进行部署与运维对比。其中部分优势是分布式架构带来的,比如只维护标准商用服务硬件,而使用超融合后,可以进一步减少硬件的需求量。

 

十.超融合到底如何为用户省钱?


说法在网上很多了,但以下这个实例可能更精准和量化一些,大家可以对比使用成本。这里没有包括人员维护成本,续保等费用的成本等。人力成本方面,去掉专业存储运维就可以节省很大一部分人员开销。根据实际经验值,采用超融合在人员投入至少减少50%。采购成本,超融合产品一般可以做到传统架构70%。

以下给出使用成本与收益对比实例。

 

十一.超融合不适合什么场景?


传统意义上的超融合是适合于各种虚拟化的场景,对于裸金属服务器就不适合了。所以有一些重负载的应用,在虚拟化都不用的情况下,自然不会考虑超融合。另外,超融合的架构模式决定了计算和存储资源应该均衡增长,否则就不是非常适合,比如海量的非结构化数据。

不过,近期的一个趋势是,超融合厂商开始对外提供存储接口,可以以类似Server SAN或者NAS的方式访问,所以裸金属的场景也可以适用了。