补充说明:v2.0根据网友的反馈和建议,做了少量修改。


【序言】

文章是一个系列,分成:Why, What, How,也就是

为何出现软件定义存储?

什么是软件定义存储?

软件定义存储之现状– 抽象、池化篇

软件定义存储的分类

软件定义存储之现状– 自动化篇

软件定义存储之未来

……


如果您感兴趣的话,可以通过1)订阅“乐生活与爱IT”微信公众号;2)关注百度百家“乐生活与爱IT”;或3)关注新浪微博"善远淡专" ; 获得历史或者订阅未来的文章,提供建议、意见或补充。囿于我的视野,了解层次之浅,不免可能出现错误的地方,还请朋友们积极指正,并提供原始链接。


欢迎转载,但请注明:转载自微信公众号 – “乐生活与爱IT”。



SDS之四:

软件定义存储的分类



2015-06-07



在上一章《SDS之三:软件定义存储的现状– 抽象、池化篇》里提到:

池化包括存储虚拟化和存储标准化,而存储虚拟化指所有存储资源的虚拟化,包括

1)外置磁盘阵列内的虚拟化

2)跨外置磁盘阵列的虚拟化(也即异构存储的管理)

3)分布式存储服务器内的存储虚拟化”

现在我们就来聊聊分布式存储服务器内的存储虚拟化。并以此为基础,介绍软件定义存储涉及到的概念和分类,帮助读者厘清概念之间的异同和关系。


如下图所示,

【PY原创】SDS 之四:软件定义存储的分类 (v2.0)_服务器

这种分布式存储的虚拟化是指,将多台标准X86服务器组成的集群内的HDD/SSD等存储资源,形成一个全局共享存储池。部署在Operating System/Hypervisor的软件,能按照一定的策略,采用类似互联网巨头Google、 AWS、Facebook的分布式计算和数据冗余的方式,提供与集中存储(外置磁盘阵列)类似的存储服务和高级功能。其实这就是一种Server SAN。


我们先来回顾一下Server SAN (基于服务器的分布式存储)这个词汇的来源,最早应该是来自Wikibon,它对Server SAN的定义是:“Server SAN is software-led storage built on commodity servers with directly attached storage (DAS)”。如下图,注意图中标识体现了Server SAN是SDS、Hyperscale与Flash的交集,不过图形并不代表百分比。可以认为,Wikibon所认为的Server SAN是包含闪存盘的,具备横向扩展特征的SDS。


【PY原创】SDS 之四:软件定义存储的分类 (v2.0)_服务器_02


需要注意的是,Wikibon所述的Server SAN还包括如下互联网公司大规模使用的分布式存储:Google, Amazon, Facebook, Microsoft等。Wikibon把这种互联网公司使用的Server SAN称为Hyperscale Server SAN。它们共同的特点是,高度分布式(去中心化、无共享)、采用标准的商用硬件(如X86服务器)、能够在线进行横向扩展;区别是Enterprise Server SAN用于企业私有云或数据中心,Hyperscale Server SAN用于大型互联网公司。后面文章中提到的Server SAN,如果不特别说明,主要指Enterprise Server SAN。


不过,从Server SAN的字面意思,以及存储当前的发展,笔者觉得,Wikibon的定义值得商榷,因为没有必要把采用Flash做为判断是否为Server SAN的前提条件。


在软件定义存储领域内,超融合(Hyper-Converged)这个词汇也有很多人提及,它又表示什么意思?它与Server SAN之间是什么关系?说来话长,我们先来看看什么是融合(或者称之为聚合)?


最近几年,业内出现了一种发展趋势:融合计算、存储、网络,甚至应用程序的集成系统(Integrated System)的市场份额不断增加。出现的原因是:有些用户希望简单、高效,而这种在出厂前就预先集成(Pre-Integrated)好的产品,满足了他们的需求,这种产品有一个通俗的叫法,就是一体机。实际上,在我们生活中,就有类似融合的绝佳范例:智能手机,它集成了语音电话、相机、音乐播放器、GPS、网页浏览器、视频播放器、游戏等功能为一体,携带和使用都很方便,除了极少数某种应用的发烧友,大多数人都乐于购买这种简单高效的一体机。


IDC根据定义把集成系统市场分为了两类:集成基础设施或集成基础架构(Integrated Infrastructure)和集成平台(Integrated Platforms)。其中,集成基础设施是通用型的融合系统;而集成平台是指专为特定工作负载或应用程序而优化的融合系统。


集成基础设施中,最著名而且市场份额最大的就是源于思科、EMC以及VMware的VCE,该公司在2014年10月被EMC收购。其他的还有:IBM PureFlex, DELL Active System, HP Converged System, Huawei FusionCube等。


集成平台中,最著名的产品就是Oracle公司的Exadata,是专用于数据库应用的集成平台。与之相仿的有:天玑数据PBdata 数据库一体机,不过PBdata属于后面将要提到的超融合基础架构。


与集成基础设施这一概念相类似的叫法是Converged Infrastructure(融合基础架构或融合基础设施,缩写为CI)。融合基础架构是指将服务器,存储,网络,软件,服务整合起来,按服务方式提供基础设施IaaS,其计算、存储和网络都是各自独立的硬件实体。


个人以为,Converged Infrastructure(融合基础架构)基本等同于Integrated System(集成系统)。需要注意的是,业界往往在介绍创新性、高度整合的新硬件(此时服务器、存储并非独立的硬件模块,通常是存储内嵌在服务器内,或以JBOD直连到服务器)时,更多的会使用前者,也即融合基础架构,例如DELL FX2(2U内可灵活选配服务器模块和存储组件)。


Gartner在“Predicts2015: Midmarket CIOs Must Shed IT Debt to Invest in Strategic IT Initiatives” 的报告里推荐那些虚拟化程度较高的中型企业,应该转向采购集成系统。Gartner预计到2018年,将有40%的中型企业将会使用集成系统去替换掉原有数据中心的服务器和存储。


Gartner还预计,到2017年,有三分之一的中型组织,将部署VMware VSAN到其整个组织至少30%的存储容量中。


有趣的是,全球权威的IT咨询公司IDC和Gartner在其不同报告里都引用过这两个词汇。其实,CI还有一个叫法:集成计算平台(Integrated Computing Plantform),这个提法主要由另一家全球权威的IT咨询公司ESG引用,但无论中英文网页,这种提法相对较为少见。


2012年8月,VCE CTO办公室的Steve Chambers,在其博客中首次提出Hyper Converged(超融合)的概念。超融合指的是,基于标准的X86服务器,在每个物理服务器节点通过Virtual Storage Appliance(虚拟存储设备,简称VSA),管理节点内的HDD和SSD,并与其他节点中的VSA一起来构建一个集群的分布式存储,


后来VMware的Chuck Hollis在其博客里做出了更为准确的阐述,Hyper Converged,其实就是Hypervisor Converged:Hypervisor(虚拟服务器)做为位于应用层与基础架构层之间的战略层,能够抽象并池化计算、网络和存储资源,并拥有强大的控制平面的功能,而且Hypervisor(虚拟服务器) 能整合软件定义的数据中心内运维管理的经验,管理更简单。与HyperConverged(超融合)相关的概念还有:Hyper Converged Infrastructure(缩写为HCI),可译为超融合基础架构(简称超融合架构)或者超融合基础设施Hyper Converged Infrastructure Appliance(缩写为HCIA),可译为超融合基础架构设备或者超融合基础设施设备。



HCIA(超融合基础架构设备)由多个服务器节点构成,每个节点同时提供计算资源和存储资源,支持在线的横向扩展,扩展节点时,性能和存储容量都能线性的增长。它为用户了一个很重要的特性:性能可预测性,性能可确保始终如一地按节点数,简单地、线性地在线扩展。运行在HCIA硬件之上的就是分布式的存储软件,完成存储资源的池化、部署和管理。


典型的HCIA,包括例如Nutanix一体机,以及VMware推出的由vSphere EnterprisePlus、VSAN、vCenter Server、vCenter Log Insight(用于监控和故障排除,是一个集成了VMware和其他厂家的特定日志分析工具)组成的,EVO:RAIL一体机。以受合作伙伴广泛支持的EVO:RAIL一体机(参见下图)为例,2U高里含有4个节点,可支持100多个虚机(正常大小的通用数据中心虚拟机),或者250个桌面(View虚拟机)。由于大家都看好超融合的市场趋势,EVO:RAIL推出后,就连存储巨头也纷纷支持,例如EMC(VSPEXBLUE)、NetApp、HDS;除此之外,还有DELL、HP、SuperMicro(超微)、Inspur(浪潮)、Fujitsu(富士通)等IT大厂商。



【PY原创】SDS 之四:软件定义存储的分类 (v2.0)_服务器_03


可以看出,HCI(超融合架构)符合Server SAN的特征:采用商用硬件,分布式,能在线横向扩展。实际上,HCI是Server SAN的一种,是Server SAN的子集。


Server SAN中除了HCI以外,至少还有另外一类,就是仍然采用商用硬件,也能在线横向扩展,但不提供计算资源,只提供存储资源的存储产品,例如HP StorVirtual (LeftHand的VSA版)。



行文至此,觉得最好有一个标识SDS分类的图形,能够直观的展现SDS相关的各个概念之间的关系(包括内含、外延)。


IDC在2014年,曾按照Delivery Model(部署方式)做过一个分类(参见下图),包含:

1、Software-only,仅软件;

2、Physical Storage Appliance,物理存储设备;

3、Virtual Storage Appliance,虚拟存储设备;

4、Cloud-based(Subscription),基于云的;

5、Embedded Connector;笔者也不知道是什么东西,也许IDC考虑到IoT(万物互联)背景下类似嵌入式的存储,如果真是如此,IDC也太有前瞻性了。

6、Hyper-Converged,超融合;


【PY原创】SDS 之四:软件定义存储的分类 (v2.0)_基础架构_04


IDC这个图对SDS的分类,是一个不错的参考,至少帮助大家对庞大混杂的SDS众多产品的分类有一个初步的了解。它是基于部署方式的,有不少媒体文章,也有IT厂商引用了这种分类方法。


但是笔者觉得这种分类还不够完整,也尝试着搜索了许多网站,似乎还没有一个比较完整而且直观的分类。因此,笔者不揣浅陋,尝试着划出一个SDS分类图,仅为个人之见,如有错误、疏漏,希望得到朋友的斧正。


这个分类方法,受到了企事录创始人张广彬的启发,并受到如下公司分类图的启发。在此一并致谢。


一、 VMware Software DefinedStorage Model


【PY原创】SDS 之四:软件定义存储的分类 (v2.0)_服务器_05


这个Model分为Policy-driven Control Plane和Virtual Data Plane两个层级。ControlPlan由SPBM,也即Storage Policy Based Management来实现。VMware SPBM之下,包括三大部分,一是分布式存储,也即VSAN;二是传统SAN/NAS;三是对象存储或云存储。三个部分都能被预先创建好的存储策略去驱动,其中第二部分就是由Virtual Volumes的API来实现,目前至少已经有15家公司(包括传统存储及新兴的全闪存或混合存储)支持Virtual Volume。


顺便说一句,我们往往觉得存储虚拟化或池化,是由类似ViPR、SVC之类的存储网关来实现的,其实Hypervisor或云平台(如OpenStack)也在用户不知不觉的过程中完成了存储虚拟化或池化的工作,这是更高级的池化,能够在虚机/应用级别去全局的、统一的、灵活的分配和协调存储资源。以VMware为例,SPBM或vSphere(池化那些尚未支持Virtual Volume的外置阵列)将存储资源池化后,即可借由DRS、Replication或SRM、或是免费的VDP(DataProtection)实现虚机存储资源的动态调配,或是虚拟磁盘的备份、归档和容灾,同样实现了异构阵列的利旧。




二、EMC ViPR Control Plane and Data Plane


【PY原创】SDS 之四:软件定义存储的分类 (v2.0)_基础架构_06


EMC ViPR同样分为Control Plan和Data Plane,在Data Plane层,主要是其自身的存储,包括VMAX, VNX, Isilon和ScaleIO等,也试图管理并驱动第三方的异构存储,并将商用硬件的存储资源(也即分布式存储)纳入版图内。

EMC ViPR的前瞻性强,以Service Catalog的方式组织并提供存储服务,在SDS领域是先行者之一。其野心很大,但挑战也很大,存储的互操作性在过去十多年里都是一个难点。不过ViPR开源之后,也许受管对象向其开放API的可能性增加。




三、张广彬 《软件定义存储与超融合系统》


【PY原创】SDS 之四:软件定义存储的分类 (v2.0)_服务器_07


在这张图里,我们可以看到理想的Data Plane应该能管理各种各样的存储资源,并被Control Plane灵活调用。Control Plane实现自动化,并提供API给前端虚机或应用使用。



之前的文章也提到过,硬件与软件的分离,能够体现抽象、池化、自动化三阶段论中第一阶段抽象(也即解耦)的程度。但更重要的控制平面(Control Plane)和数据平面(Data Plane)的逐渐分离,正是由于这个分离,才使得SDS能够逐渐呈现出更丰富的API供Hypervisor/OS/Cloud去调用,实现更高程度的自动化。关于控制平面与数据平面,将在后面的篇章里详细介绍。



下面介绍一下我的分类:


【PY原创】SDS 之四:软件定义存储的分类 (v2.0)_服务器_08


一、Control Plane


在SDS Control Plane这一层,比较著名的有:

1)VMware SPBM (Storage Policy Base Management, 基于存储策略的管理);

2)OpenStack Cinder 。Cinder是OpenStack云平台的一个组件,用来提供块存储服务;

3)EMC ViPR。目标是实现EMC存储、异构存储、商用硬件本地存储资源的存储虚拟化(包括互操作性);备注:对互操作性不了解的朋友,可以查看历史文章 《SDS之三:软件定义存储之现状– 抽象、池化篇》);

4)ProphetStor (希智)的Federator;

5)FalconStor(飞康)的Freestor;

6)其他


在整个SDS框架中,难度最大,但也最有价值的,是这一部分的公司,从长远来看,也许十年后,我们回过头会发现,得控制平面者,得SDS之天下


二、Data Plane


在SDS Data Plane这一层,比较复杂,组成部分较多。相信也会众说纷纭,我也只是一家之言,欢迎大家的指正。


1)Based on Commodity Hardware (基于商用的硬件)


其实,这一部分是最难分类的,种类繁多,命名还不容易。首先,我想说明的是,它包括了IDC分类中Virtual Storage Appliance(简称VSA,存储控制器运行在虚机上)和Physical Storage Appliance两类,注意在这个分类里,后者并不包括传统的外置磁盘阵列。正如前面所提到的,控制平面与数据平面的分离之意义大于硬件与软件的分离。在我看来,部署方式的这两种不同,并没有带来本质的差异。举例来说,VSAN FS(VSAN File System)之于EVO:RAIL,NDFS(Nutanix Distributed File System)之于Nutanix一体机,差别仅在于是否与硬件捆绑,共同点在于都是基于商用的硬件,将分布式存储资源池化。所以,VSAN, EVO:RAIL, Nutanix都属于Server SAN的分类里,而且由于它们都不仅提供存储资源,还提供计算资源,所以还属于超融合架构这个子类里。


超融合架构里,比较著名的有:Nutanix、VMware VSAN或EVO:RAIL、EMC ScaleIO、SimpliVity、Scale Computing、Pivot3、Maxta;国内有:华为FusionStorage、志凌海纳SmartX;开源的有Open vStorage(类似Nutanix架构);


可能与其他看法不同,我个人认为Server SAN在它的原始定义里,就应该是一个横向扩展的分布式存储,它至少需要支持3个以上节点。这样,对于那些仅支持两个控制器做为集群的存储,就不在Server SAN这个分类里了。那么,在Server SAN里,非超融合架构(也即不提供计算资源)的有DELL Fluid Cache、HP StorVirtual、RedHat Inktank Ceph、Microsoft Storage Spaces等,也包括分布式文件系统,如GPFS、Lustre、Panasas等;


仅支持两个控制器做为集群的存储,虽然不在Server SAN这个分类里,但只要它支持商用的硬件,依然属于软件定义存储这个大的分类里。这类存储有:DataCore、Nexenta、以及其他由Solaris ZFS衍生出来的存储,如开源的FreeNAS。



2)Traditional SAN/NAS(External Storage)


指的是传统的外置磁盘阵列,包括SAN存储或者NAS存储。例如:EMC VNX,NetApp FAS系列,HDS HUS, DELL SC系列和PS系列,HP 3PAR,IBM V系列和DS系列,华为OceanStor系列等。这些存储劲旅,不甘人后,也纷纷加入到SDS浪潮里,采取的方式有


一是与Control Plane更多的API对接,例如,支持VMware SPBM之下的Virtual Volume;再如,支持OpenStack Cinder等;


二是通过收购或自己研发,去逐步实现SDS抽象、池化、自动化的阶段,典型的就有HP将LeftHand与原有硬件解耦,形成VSA版StorVirtual;NetApp推出DataONTAP的VSA版ONTAP Edge VSA;IBM推出XIV的软件版Spectrum Accelerate;EMC推出VNX的虚拟化版本 vVNX等。另外,DELL的Fluid Cache脱胎于之前收购的内存虚拟化软件RNA,本身已经具备抽象池化的SDS基因。



3)Cloud/Object Storage


这一部分研究不多,只能简单介绍下。它作为Data Plane的组成部分,实际上是以后端存储的身份为VM/App提供存储资源的。


VM/App可以通过RESTful API与对象存储进行数据的输入输出,目前有三种RESTfulAPI:亚马逊S3、SNIA CDMI和OpenStack SWIFT。


i)作为市场领导者的亚马逊Web服务和其简单存储服务(S3)已经让S3 RESTful API成为一种事实标准。绝大部分的对象存储提供商都提供S3兼容的RESTful API;


ii)全球网络存储工业协会(SNIA)创建和管理的实际定义标准,标准本身称之为云数据管理界面(CDMI)。CDMI是一个完整的RESTful API,远远超过了应用可以在对象存储中创建、回收、升级和删除资源的能力。它也可以让这个应用发现对象存储容量,管理那些资源存放的容器,以及管理资源本身。此外,它允许元数据同资源容器和所包含的的资源连接。这些加强的功能语序管理应用管理对象存储、其容器、账户、多租户、安全、访问、账单、回款等。CDMI是一种非常有用的综合RESTful API。不幸的是,只有四个对象存储产品(DDNWeb Object Scaler、Mezeo Cloud Storage Platform、NetApp StorageGRID和Scality Ring)目前提供CDMI认证和兼容的API;


iii)另一个新出现的事实RESTful API标准时开源对象存储OpenStack Swift RESTful API。尽管OpenStack Swift的安装和生产环境受限,但是很多对象存储厂商都开始增加Swift RESTful API;

从云存储来看,随着混合云的逐渐深入,用户自然会期待在自己的私有云和公有云之间,能够实现除了在VM/App级别,在存储级别,也能实现如同本地数据中心之间的同构存储之间的高级功能,例如备份、归档和容灾。此时,运行在公有云之上的VSA,也即虚拟存储控制器(其实与在Hypervisor之上的VSA相类似),即可与本地存储建立数据连接。


以NetApp的Cloud ONTAP为例。它是在AWS EC2的实例中运行Data ONTAP(FAS存储的操作系统)软件,充当虚拟存储控制器,对下接管AWS EBS作为自己的存储空间,对上给运行业务应用的EC2实例提供存储服务,包括块(iSCSI)和文件(NFS、CIFS)。


我们知道,把NetApp的FAS存储直接放到AWS或Microsoft Azure里去,是不太现实的。NetApp通过软件定义的方法,把存储控制器做成虚机,后端磁盘柜换成块存储服务(AWS EBS),为业务虚机提供专业的、高级的存储服务。


【PY原创】SDS 之四:软件定义存储的分类 (v2.0)_基础架构_09


类似的还有SoftNAS,也是以虚机方式运行在AWS EC2实例上,可以为运行业务应用的EC2实例提供包括块(iSCSI)和文件(NFS、CIFS)的存储服务。


4)Others

这部分已经超出了我目前的学识范围。希捷的IP硬盘,IDC提出的Embedded Connector,Marvell的FLC(终极高速缓存),还有未来无处不在的可穿戴设备、传感器,里面的存储空间如何使用和管理,也许是未来软件定义存储在数据平面也要纳入并考虑的事情。



在分类图形的颜色处理上,特意选择了从黄色经过绿色,再渐进到蓝色的效果图。因为,正如笔者在SDS之二《什么是软件定义存储》中提到的,SDS是一个过程,而不是一个目标。其实Data Plane与Control Plane之间的界限也并非泾渭分明,处于Data Plane的存储会通过自己的不断努力,增强互操作性,以及策略驱动异构存储的能力,使其部分的型号或者部分的模块逐渐上升到Control Plane层面。


【PY原创】SDS 之四:软件定义存储的分类 (v2.0)_服务器_08



欢迎转载,但请务必注明:转载自微信公众号– “乐生活与爱IT”。



下一篇将讲述:软件定义存储之现状– 自动化篇



欢迎扫描微信公众号:“乐生活与爱IT”


【PY原创】SDS 之四:软件定义存储的分类 (v2.0)_服务器_11

部分内容和数据来源:

1、Wikibon- The Rise of Server SAN

http://wikibon.org/wiki/v/The_Rise_of_Server_SAN

2、Wikibon- Server SAN

http://wikibon.org/wiki/v/Server_SAN

3、TheHyperconverged Infrastructure

http://www.networkcomputing.com/storage/the-hyperconverged-infrastructure/a/d-id/1233869

4、ChuckHollis's Blog - Converged, Hyper-Converged, Hypervisor-Converged

http://chucksblog.emc.com/chucks_blog/2014/07/converged-hyper-converged-hypervisor-converged.html

5、Howa Hypervisor-Converged Software-Defined Data Center Enables a Better PrivateCloud

http://www.vmware.com/files/pdf/vmware_advantage.pdf

6、Gartner报告《Predicts 2015: Midmarket CIOs Must Shed IT Debt to Investin Strategic IT Initiatives》

http://www.gartner.com/technology/reprints.do?id=1-24S6MX4&ct=141113&st=sb

7、ESG集成计算平台的报告(由天玑数据翻译)

http://mp.weixin.qq.com/s?__biz=MzA3MTg0MjEzNw==&mid=207621413&idx=1&sn=de48d7619f6cf9da46561fd558e22a43&scene=2&from=timeline&isappinstalled=0#rd

8、VMware中文官方网页对EVO:RAIL的介绍

http://www.vmware.com/cn/products/evorail/

9、经VMware认定的EVO:RAIL合作伙伴

http://www.vmware.com/cn/products/evorail/pricing.html

10、SoftwareDefined Storage Challenges

http://www.enterprisestorageforum.com/storage-technology/software-defined-storage-challenges.html

11、希智的软件定义存储产品

http://www.prophetstor.com/product/federator-sds/

12、DataCoreextends into 'server-SAN' space with SANsymphony V10

https://451research.com/report-short?entityId=81195

13、企事录创始人 张广彬@ Dostor - 2014年第十届中国存储峰会的《软件定义存储与超融合系统》

http://mp.weixin.qq.com/s?__biz=MzA5MzMwMTc2Ng==&mid=208420308&idx=1&sn=1fd39bdf7e30b68572f35487774c6e18#rd

15、台湾:[企業儲存觀察室] 軟體定義儲存與超融合的機會

http://www.storageforum.tw/2015/05/blog-post_26.html

16、软件定义存储的N记混合云

http://solution.zdnet.com.cn/2014/1030/3037671.shtml