最早大概是由NUTANIX知道“超融合”概念,原本以为这又是厂商的噱头和炒作,谁知不然,超融合这两年发展如火如荼。2015年被公认为超融合元年,在软件定义存储SDS的推动下,超融合架构正在引领一场巨大的变革,成为软件定义数据中心SDDC的未来技术发展趋势。
超融合架构的优势和客户价值这个已经勿容置疑,各个厂商和媒体已经成功地帮客户洗脑了,和客户交流不提超融合都俨然被认为落伍,这里不用也不想再赘述。从辩证角度看,任何事物都不可能是完美的,超融合是不是也存在一些问题或局限性呢?超融合有适用场景,但肯定不是普遍适用的。因此,这篇文章我想换一个角度来看超融合,找找茬,梳理一下超融合,也算是为大家选择超融合架构方案提供一个参考。容器这么火,不谈好像也不大好,最后简单胡侃一下容器超融合。
1 什么是超融合?
超融合(Hyper- Converged)最早由谁提出这个概念咱不去考证,但目前还没有一个严格的标准定义,各个厂商和机构都有各自标签的定义,这也佐证了超融合仍然处于快速发展演变当中,并未形成统一的标准规范。
超融合中“超”是什么含义?最开始以为是超人的Super,结果差点闹出笑话。实际上,“超”对应英文“Hyper-Converged”中的“Hyper”,特指虚拟化,对应虚拟化计算架构,比如ESXi/KVM /XEN/Hyper-V。这一概念最早源自Nutanix等存储初创厂商将Google/Facebook等互联网厂商采用的计算存储融合架构用于虚拟化环境,为企业客户提供一种基于X86硬件平台的计算存储融合产品或解决方案。不难看出,超融合架构中最根本的变化是存储,由原先的集中共享式存储(SAN/NAS)转向软件定义存储,特别是分布式存储(包括Object/Block/File存储),比如NDFS/VSAN/ScaleIO/SSAN。因此基于这个“超”,数据库一体机和大数据一体机都不能划为超融合的范畴,除非RAC/Hadoop等应用跑在虚拟化之上。还有一点,超融合中的软件定义存储通常是分布式存储,ZFS虽然属于SDS范畴,但基于ZFS构建的计算存储融合系统,严格意义上不能称为超融合架构。
我们再来看“融合”又是什么含义?超融合这个概念当前似乎被神化了。简单地讲,融合就是将两个或多个组件组合到一个单元中,组件可以是硬件或软件。就虚拟化和私有云而言,按照是否完全以虚拟化为中心,我个人把融合分为物理融合和超融合两种。超融合是融合的一个子集,融合是指计算和存储部署在同一个节点上,相当于多个组件部署在一个系统中,同时提供计算和存储能力。物理融合系统中,计算和存储仍然可以是两个独立的组件,没有直接的相互依赖关系。比如,SSAN+oVirt方案,一个节点的Redhat/CentOS系统上SSAN和oVirt物理融合,共享主机的物理资源。超融合与物理融合不同在于,重点以虚拟化计算为中心,计算和存储紧密相关,存储由虚拟机而非物理机CVM(Controller
VM)来控制并将分散的存储资源形成统一的存储池,而后再提供给Hypervisor用于创建应用虚拟机。比如Nutanix和SSAN+vShpere超融合方案。这里狭义的定义才是真正意义上的超融合,Nutanix首次提出这种架构并申请了专利。按照这里的定义,OpenStack+Ceph只是物理融合而非超融合。值得注意的是,出于性能考虑,超融合架构通常都需要将主机物理设备透传(Pass Through)给控制虚机CVM。
下面我们再看看几个具有代表性的超融合定义:
NUTANIX:超融合架构(简称“HCI”)是指在同一套单元设备中不仅仅具备计算、网络、存储和服务器虚拟化等资源和技术,而且还包括备份软件、快照技术、重复数据删除、在线数据压缩等元素,而多套单元设备可以通过网络聚合起来,实现模块化的无缝横向扩展,形成统一的资源池。HCI是实现“软件定义数据中心”的终极技术途径。
Gartner:HCI是一种以软件为中心的体系结构,将计算、存储、网络和虚拟化资源(以及可能的其他技术)紧密集成在单一的供应商提供的一台硬件设备中。
IDC:超融合系统是一种新兴的集成系统,其本身将核心存储、计算和存储网络功能整合到单一的软件解决方案或设备中。该定义与集成基础设施和平台那些由供应商或经销商在出厂时将自主计算,存储和网络系统集成的产品有所不同。
总结一下以上关于超融合的定义:超融合架构是基于标准通用的硬件平台,通过软件定义实现计算、存储、网络融合,实现以虚拟化为中心的软件定义数据中心的技术架构。这里面有几个关键字:通用硬件平台、软件定义、虚拟化,其中软件定义的分布式存储是核心。如何评判一个系统是否为超融合?我大胆给出一个简单标准。
(1) 完全软件定义。独立于硬件,采用商业通用标准硬件平台(如X86),完全采用软件实现计算、存储、网络等功能。
(2) 完全虚拟化。以虚拟化计算为中心,计算、存储、网络均由虚拟化引擎统一管理和调度,软件定义存储由虚拟机控制器CVM进行管理。
(3) 完全分布式。横向扩展的分布式系统,计算、存储、网络按需进行动态扩展,系统不存在任意单点故障,采用分布式存储。
2 超融合与SDS是什么关系?
什么是软件定义存储SDS?软件定义,从SDN开始漫延到计算和存储,软件定义一切已经被认为是技术趋势。和超融合类似,SDS至今没有统一标准的定义,SNIA/IDC/Gartner/VMWare都有各自的定义。就我的理解,软件定义存储是相对采用专用硬件的传统存储系统而言的,采用通用标准的开放式硬件平台,并使用软件实现所有的存储功能,包括数据平面和控制平面。除了实现存储功能,SDS在扩展性、可用性、灵活性、简化管理、降低总成本等方面具有天然的优势。SDS典型的代表有ZFS/NDFS/VSAN/ScaleIO/SSAN/Ceph,这其中ServerSAN居多,它是SDS最重要的产品形态。Wikibon这样定义ServerSAN:由多个独立服务器存储组成的存储资源池,以集群的方式基于IP网络对外提供存储服务。
ServerSAN典型特征包括:
(1) 纯粹软件定义,独立于硬件;
(2) 完全分布式,不存在单点故障;
(3) 系统自治,自动进行故障自愈和数据平衡;
(4) 融合系统,存储和计算部署在相同硬件上;
(5) 横向扩展,最小部署,按需扩容;
根据Wikibon的调查结果,Server SAN 五年后将超过传统企业存储,成为市场主流,十年后传统存储只有10%的份额,Server SAN已经成为云计算时代的新宠儿。为什么以Server SAN为代表的SDS会如此受到市场热捧呢? 究其缘由,归结于SDS生得逢时。
(1) 存储需求剧增:应用数据的爆炸式增长;
(2) 硬件摩尔定律:X86硬件,软件定义成为可能;
(3) 高速网络发展:消除网络瓶颈,分布式成为可能;
(4) 革新性的闪存:消除了计算和存储的巨大鸿沟;
(5) 云化数据中心:弹性、性能、融合、管理;
(6) 对TCO的追求:更高的性价比,更低的OPEX;
超融合HCI和软件定义存储SDS是当前两个非常热门的技术领域,它们是构建下一代软件定义数据中心SDDC的最核心构成。从上面的超融合定义看,HCI实现了计算、存储、网络的融合,SDS是超融合架构必不可少的核心组成部分。HCI通常都是由SDS解决方案扩展而来,超融合架构的价值在于它摒弃了专用共享存储系统,突破了传统存储的局限性并满足了云计算带来的新存储需求。换句话说,超融合依赖于SDS,如果没有SDS提供存储功能,超融合架构是不完整的。相反,SDS并不依赖超融合,它可以作为一个独立的软件定义存储系统,替换传统的共享式存储系统,也就是我们所说的去IOE中的以EMC为代表的传统存储。SDS的优势在于,它不仅可以处于HCI的超融合形态,同时它还作为独立存储系统存在,能够为企业级应用提供可行的存储替代方案,在降低存储成本的同时,维持灵活的扩展能力,并且能够利用客户现有的存储架构,充分发挥专用存储网络和存储计算的功用。
超融合方案中重点是Hypervisor和SDS,理想的状态是Hypervisor支持不同的SDS,而SDS也可以支持不同的Hypervisor。Hypervisor和SDS厂商分别在各自擅长领域把产品做好,通过深度整合为客户提供更好的超融合方案,实现生态合作共赢。现实的情况是,Hypervisor厂商也要做SDS,SDS厂商也要做Hypervisor,结果导致短板影响超融合方案竞争力,合作演变为更加残酷的直接竞争。典型的案例是,最初 Nutanix和VMWare深度愉快的合作,后面VMWare自研了VSAN就把Nutanix抛弃了,Nutanix只好基于KVM自研了Acropolis
hypervisor,从而进入双方直接的竞争态势。因此,要不要完全打造一个全栈超融合方案,除了技术因素还有深层次的商业因素,这是一个非常值得商榷的问题,对于SDS或云计算领域的初创公司要更加慎重。
3 为什么超融合备受青睐?
未来5-10年新一代数据中心基础架构朝着软件定义和超融合方向发展,SAN/NAS存储逐渐被软件定义的存储所替代,超融合架构已经被市场和客户广泛接受,将成为数据中心基础架构的核心。全球最大存储厂商EMC将自己卖给DELL也从侧面印证了传统SAN/NAS存储下滑的态势。超融合架构将成为企业级客户首选,加速业务系统从传统架构向云计算架构的转型。根据Wikibon的分析报告,2016年将是真正云计算落地的开始,超融合和ServerSAN未来市场空间将超过600亿美金,年复合增长率达到20%以上。形成鲜明对比的是,传统存储逐渐被淘汰,未来市场份额仅占10%。超融合市场已经初步形成,传统IT厂商数据中心解决方案已经落后于新技术厂商,未来潜在市场空间是巨大的。
根据IDC的预测分析,2015年全球超融合市场将达到8亿美金。如果中国市场按10%的份额来计算,则应该是8000万美金。IDC中国刚刚发布了《2015H1中国超融合市场厂商份额报告》,报告显示2015年上半年中国超融合市场规模达到了39.7百万美元,几乎是2014全年的1.5倍。2015全年数据目前还没有发布,预计全年将达到1亿美金,这个与全球份额基本是一致的。2015年可以看作是中国超融合市场的元年,2016年很有可能突破2亿美金。
为什么超融合备受青睐?这还得归结超融合架构具有显著的优势,能够带来极高的客户价值。超融合HCI类似Google、Facebook等互联网数据中心的大规模基础架构模式,实现了计算、存储、网络等资源的统一管理和调度,具有更弹性的横向扩展能力,可以为数据中心带来最优的效率、灵活性、规模、成本和数据保护。使用计算存储超融合的一体化平台,替代了传统的服务器加集中式存储的架构,使得整个架构更清晰简单,极大简化了复杂IT系统的设计。相对与传统的IT架构,超融合架构具有天然的优势,下列描述引自Nutanix:
(1) 按需采购:改变采购模式,无需一次性大规模采购,按需采购;保护现有投资,延伸到云计算架构;
(2) 快速交付:从上机架开始30分钟内即可交付使用,部署快速;
(3) 简化管理:单一界面,统一管理计算、存储、虚拟化等资源,运维管理简单化;
(4) 弹性扩展:分布式架构,线性扩展,无节点数限制,无单点故障,内置本地备份、同城和异地容灾能力;
(5) 单一支持:单一厂商保障所有软硬件,包括计算、存储和虚拟化的支持;
以上看上去都是超融合和SDS厂商的自嗨,用于市场宣传推广或控制招标参数,实际真实客户的想法又是如何呢?不如换位思考一下,假如你是客户,为什么要选择超融合架构?下面是几个真实的理由,可能超出你的想象,现实就是这么残酷。
(1) 理由1:业务需要
真的是业务需求,而传统的IT架构无法满足或者代价过高,这可能是规模、数据可用性、业务连续性、性能等方面的需求。这类客户价值高但比较少,能够主动寻求和接受超融合架构。以性能为例,动辄需要10万以上IOPS的应用,其实并没有想象那么多,虽然超融合架构可以轻松达到数十万IOPS。有一个项目,SSAN+vSphere全闪存超融合,上面跑Oracle RAC应用,性能杠杠的,采用普通的SAN阵列很难满足需求。
(2) 理由2:成本
这个其实是伪需求,传统IT架构可以满足,但成本过高,想节省成本,这类客户占的比例较大。这个无法最大体现超融合的优势,但却往往最能打动客户,毕竟能省钱就是最实惠的收益。有几个实际的客户之前使用EMC/NetApp存储,就是因为成本过高问题而转来采用SSAN+vSphere/oVirt的超融合或物理融合方案。
(3) 理由3:利旧
这种需求其实有点跑偏,原本不是超融合应该做的事情,但实际中却是真实存在的。企业采购的服务器、存储等IT资源都是固定资产,客户往往希望将淘汰或过保的这些资源进行利旧,从而达到保护投资的目的。前不久刚实施的一个项目,客户将淘汰下来的一堆IBM服务器,把CPU/Mem/Disk资源拼凑了一下,硬是拼出了4台能够正常运行的服务器,然后部署了一套SSAN作为独立的SDS,为一些企业业务提供存储服务。
4 超融合真的完美吗?
超融合架构的优势和客户价值这个已经勿容置疑,全球和国内市场都已经初步形成,HCI是未来5-10年新一代数据中心基础架构的首选方案。但是,超融合真的是完美的吗?我个人比较喜欢辩证的看问题,超融合是不是存在一些局限或问题呢?下面我们就来找找茬,同时也是选择超融合架构时需要考虑的因素。
(1)新的信息孤岛
几乎所有的超融合方案都不支持数据中心中原有的外部存储,大多数企业也不可能在短期内更换整个数据中心基础设施,结果数据中心又分裂成两个彼此独立分散的基础设施孤岛。对于大的数据中心,出于不同业务需求和平衡考量,很有可能会同时部署不同的超融合架构,不同HCI之间无法整合和互操作,结果就是又多了几个新的信息孤岛。新的信息孤岛带来了资源利用效率和统一管理的问题。
(2)性能一致性问题
数据中心中存储的性能至关重要,而且期望性能是可以预测并保持一致性的,包括延迟、IOPS和带宽,这一点尤其对核心业务系统很关键。对于超融合架构而言,这一点恰恰是很大的挑战。原因主要有两点,一是超融合架构“共享一切”。计算和存储会争抢CPU/内存/网络等物理资源,而且计算和存储又相互依赖,一旦一方资源需求骤升就是导致另一方资源枯竭,进而影响性能并在整个基础架构中产生涟漪效应。虽然可以采用cgroup或容器技术进行资源隔离限制,但和非超融合架构的效果还是不同的。二是超融合架构“一切分布式和软件定义”,集群规模较大后,网络、硬盘、服务器发生故障的概率都会增大,数据重删/压缩/加密/纠删码等功能都用软件实现,故障的自修复和数据功能实现都会消耗一定的系统资源,导致性能下降和抖动。自修复的流控,数据功能旁路到硬件模块处理,这些方法会缓解性能一致性问题,但似乎又与超融合的理念相背离。
(3)横向扩展之殃
超融合架构关键特征之一就是易于扩展,最小部署,按需扩容。超融合架构厂商宣称最大集群规模也差别很大,从数十到数千节点不等,通常从3节点起配。超融合中计算能力、存储性能和容量是同步扩容的,无法满足现实中单项能力的扩展,有些厂商还对扩容最小单元有要求,扩展灵活性会受到限制。集群达到一定规模后,系统架构复杂性就会非线性增加,集群管理变的更加困难,硬件故障和自修复发生的概率也会大大增加。因此,我们是不建议构建大集群的,如果业务允许尽量构建多个适当规模的较小集群,或者采用大集群中构建故障域或子资源池,光大是不行的。集群扩展还面临一个棘手问题,就是容量均衡。如果存储集群容量很大,均衡是一个非常漫长而痛苦的过程,同时还会对正常的业务负载产生较大的影响。
(4)系统复杂性
超融合架构简化了IT架构,极大降低了数据中心设计的复杂性,实现了快速交付,并极大简化了运维管理。不过,这都是基于用户角度的,从产品研发角度而言,超融合实际上使得内部的软件复杂性更高了。前面我们已经阐述,超融合架构需要采用CVM虚拟机控制器,并且需要将主机物理设备透传给控制虚机,增加了部署配置管理的复杂性。计算和存储对硬件平台的要求都不同,融合后也会一定程度上增加兼容性验证的复杂性。超融合架构下,管理、计算、存储、高可用通常都需要配置独立的虚拟网络,网络配置也会更加复杂。同时,共享物理资源的分配、隔离、调度,这也是额外增加的复杂性。还有一点,如果出现故障,问题的跟踪调试和分析诊断也变得更加困难。
(5)SSD分层存储
闪存SSD基本成为超融合架构中必不可少的元素,消除了计算和存储的巨大鸿沟,解决了I/O性能瓶颈问题,尤其是I/O随机读写能力。目前闪存的价格相对HDD磁盘还是要高于许多,迫于成本因素,全闪超融合方案应用仍然较少,多数应用以SSD混合存储配置为主,从而获得较高的性价比。通常情况下,我们假设热点数据占10-20%,配置相应比例的SSD存储,采用Cache加速或Tier分层模式将热点数据存储在SSD存储中,一旦热点数据超过预先设置阈值或触发迁移策略,则按相应淘汰算法将较冷数据迁移回HDD磁盘存储,从而期望在性能和容量方面达到整体平衡。看上去很完美是吧?SSD擅长的随机读写,带宽并不是它的强项,对于带宽型应用,SSD对性能并没有帮助。关于热点数据占比,这个并不好估计,如果SSD配置不足,性能会变得更差。假设应用场景合适并且SSD配置合理,情况又如何呢?SSD空间最终要被热点数据占满,就会触发数据迁移,这时HDD存储仍将成为I/O性能瓶颈,同时还要承担正常的I/O业务负载,整体性能就会出现降级和抖动。为了缓解这一问题,SSD
Cache/Tier功能实现中,一方面会过滤掉顺序读写I/O,另一方面会把空间阈值设置较低,尽早进行数据迁移,同时选择系统空闲时间执行和流控。带来的负面效应是,SSD性能加速效果受限,物理设备效率发挥不充分。另外,SSD本身被写满时性能也会出现较大的波动。因此,SSD混合存储并非理想模式,实际中我们推荐根据应用场景采用全闪SSD或全磁盘HDD配置,从而获得一致性的性能表现。如果真的无法全用SSD,还有另外一种应用方式,同时创建一个全SSD和一个全HDD存储池,人为按照性能需求将虚拟机分配到不同存储池中。
(6)企业级数据功能
目前在大多数超融合系统以及SDS系统都具备了核心的企业级功能,包括数据冗余、自动精简配置、快照、克隆、SSD Cache/Tier、数据自动重建、高可用/多路径等数据功能,有些甚至还提供了重复数据删除、数据加密、数据压缩等高级数据功能。然而,相对于高端存储系统,如果超融合架构要承载核心关键应用,还有很大的差距,包括但不限于QoS控制、数据保护、数据迁移、备份容灾、一致性的高性能。核心存储系统应该遵循RAS-P原则,先做好稳定可靠性,其次是企业数据功能完备性,最后才是高性能,这个顺序不能乱,光有高性能是不行的。比如Ceph,企业级数据功能列表多而全,功能规格参数非常诱人,但真正稳定而且能够实际生产部署应用的其实不多。目前,核心关键业务系统还不太敢往超融合架构上迁移,主要还是从非核心业务开始检验,毕竟超融合出现时间还比较短,需要更多的时间和实践验证RAS-P特性。但是,未来超融合必定是核心关键业务的主流架构。
(7)物理环境应用
目前普遍公认的适合应用场景是桌面云、服务器虚拟化、OpenStack私有云、大数据分析等新型应用。理论上超融合系统可以适用于IT环境的所有应用类型,需要注意的是,超融合系统管理虚拟化环境,而更多的传统IT应用仍然运行在物理服务器和传统存储系统之上。我们可以乐观地认为没有哪一种应用程序不能被部署在超融合基础架构上,但是考虑到运行效率、硬件依赖性以及和虚拟化环境兼容性等因素,很多IT应用最好还是继续保持运行在物理硬件架构,比如数据库应用、实时控制系统以及大量遗留IT系统。
(8)异构虚拟化环境
目前超融合方案通常是仅支持一种虚拟化环境,Nutanix可以支持多种虚拟化环境,但是对于一套超融合架构部署,实际上也仅支持一种虚拟化环境。每种虚拟化环境都有各自的优势,很多企业可能需要同时运行几种虚拟化环境,比如VMware、KVM、Hyper-V、XEN,因为超融合不支持异构虚拟化环境,需要部署多套超融合架构,这就是新的信息孤岛。客户非常希望看到支持异构虚拟化环境的超融合架构方案。
(9)超融合数据共享
超融合架构采用软件定义存储替换传统的共享式存储解决了虚拟化存储问题,这里的SDS实际上主要是指ServerSAN,提供分布式块存储。然而无论是虚拟机还是物理机,实际IT应用都有着数据共享需求,需要分布式文件系统或NAS存储系统。这是目前超融合普遍缺失的,现实还是依赖外部独立部署的NAS或集群NAS存储系统,比如GlusterFS、ZFS。从技术架构和实现来说,一个SDS系统很好地统一支持Object/Block/File存储,这个非常难以实现的。比如Ceph,它的CephFS一直没有达到生产环境部署标准,更别提性能。因此,超融合架构中可以采用相同方式同时部署两套SDS存储,分别提供分布式块存储和文件系统文件共享存储,比如SSAN和GlusterFS,不必非得要求分布式统一存储。
(10)全栈超融合架构
目前很多厂商都在推超融合架构方案,其中一部分是SDS厂商,一部分是虚拟化厂商,还有更多的是集成商,像VMware/Nutanix同时做SDS和虚拟化的厂商非常少。SDS和虚拟化是两个完全迥异的领域,而且技术门槛都非常高,一个厂商同时把这两块都做到很好是非常难的。两者都想做的厂商,无非是想控制成本、自主可控、扩大市场、融资好讲故事。对于初创公司,团队和资金非常有限,打造全栈超融合架构更是困难重重。正确的姿态可能是,确定战略方向重点做好一块,然后再找另一块做得好的厂商进行战略生态合作,强强联手打造有竞争力的超融合架构方式,无论从产品技术还是市场角度都是双赢的。
5 容器要不要超融合?
容器是个神奇的东西,火热程度毫不逊色于超融合,它正在引领一场云化数据中心架构的新变革,而被革命的对象是目前还没有大行其道的超融合架构,许多企业已经或正在将应用从虚拟机迁移到容器上。那么什么是容器?简单讲容器就是主机上被隔离的进程,它运行在沙盒之中,借助CGroup/Namspace技术限定和隔离所使用的主机物理资源。为什么容器这么受热捧?虚拟机管理程序对整个设备进行抽象处理,通常对系统要求很高,而容器只是对操作系统内核进行抽象处理,使用共享的操作系统,可以更加高效地使用系统资源,相同的硬件可以创建的容器数量是虚拟机的4-6倍。这可以为数据中心节省大量的成本,同时可以快速构建随处运行的容器化应用,并简化部署和管理。“最小部署,按需扩容”,这是云计算要解决的弹性扩展问题。容器相对虚拟机非常轻量级,它能解决的根本问题就是提升效率和速度,从而实现秒级的扩展(包括缩容)。正是这些显著优势,容器非常有潜力替换虚拟机成为云计算的基础架构,这么火热自然就可以理解了。值得一提的是,并不是所有应用都要容器化,关键要看业务是否适合高度弹性计算的微服务,不能盲目推崇。
容器是用来承载应用的,其设计就是为了应用的运行环境打包,启动,迁移,弹性扩展,容器一个最重要的特性就是无状态,可以根据需要动态创建和销毁。然而,并不是所有应用都是无状态的,对于有状态的容器怎么办?容器中需要持久化的数据即状态,这是不能随便丢弃的。如何持久化保存容器的数据,这是自Docker诞生之日起就一直存在的问题。普遍的看法是不应该把数据放到容器中,最好保证所有容器都是无状态的,但还是要提供保存状态的内部机制。Docker 唯一与状态有关的概念是volume,容器访问外部应用数据接口,完全脱离Docker的管制。Volume解决了容器的数据持久化存储问题,但它仅仅是一个数据接口,容器本身并不负责持久化数据的管理。这个问题几乎被所有容器厂商忽略,主要依靠外部存储来解决,其中一种解决方案是把容器数据持久保存在可靠的分布式存储中,比如GlusterFS、Ceph,管理员不用再考虑容器数据的迁移问题。
容器里面直接跑的应用,它天生比虚拟机VM更接近应用,最能通过应用感知对存储的深层次需求,从而动态配置不同的存储策略。因此,为容器提供状态持久化的外部存储系统,应该是面向应用的存储系统,它针对不同类型应用的容器提供精细的存储策略,并进行动态智能应用感知。那么,容器计算+应用感知存储要不要超融合?这里我们定义一下容器超融合:采用分布式存储,完全容器化,存储控制器也容器化。容器天然应该是无状态的,它的职能是实现敏捷的弹性计算,如果容器是有状态的,这个优势会被极大减弱。分布式存储都是比较重的系统,比如Ceph,GlusterFS,需要管理大量的磁盘和网络资源,本身并不适合容器化,它们更适合直接运行在原生的物理机操作系统中。分布式存储对状态要求很严格,如果把应用容器和存储控制器容器融合在一个,存储状态的变化会严重影响到应用。因此,我个人理解容器本质上是不需要做所谓的超融合,容器重点做好弹性的云计算架构,分布式存储则重点做好可容器感知的应用存储,需要有状态则由独立的外部专业存储来负责,通过容器提供的存储机制进行数据访问,如Rancher
Convoy或者Flocker容器存储驱动。实际上,有状态的容器需求非常少,这也是为什么容器存储被忽视的重要原因。最后,容器与虚拟机VM最大区别就是它不是VM,容器超融合这个说法也不对。
(全文完)