SDS 之一:为何出现软件定义存储?

【序言】

祝大家五一节平安、快乐!


其实早就想写SDS,但总觉得研究不够透彻,怕贻笑大方。现在想通了,如同《大数据时代》译者周涛在序言里提到的那样,”大数据时代,要允许一点点的错误和不完美,因为效率可能更加重要!“。是的,有时效率比100%的完美更重要。而且,只有通过更多人的拍砖,反馈,才能促使自己更深入的学习和反思,才能更有机会做得更好一些。感谢几位用户以及十几位朋友的反馈,让我看到了不足。其实,在存储业界,就在中国,有不少大拿,以及初创存储公司的研发大牛,比我更有资格,更合适写这样的文章。我在这不揣浅陋,希望能抛砖引玉。

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

为何出现软件定义存储?

什么是软件定义存储?

软件定义存储应该怎样发展?

……

如果您感兴趣的话,可以通过订阅“乐生活与爱IT”这个微信公众号,获得后续的文章。也欢迎通过这个平台,提供建议、意见或补充。

--------------------------------------



人类各项发明、创新,大多都是为了更加的高效、方便、灵活,并且节省成本。例如,从种植业、畜牧业的出现,到蒸汽机的发明,到自来水、集中供电的出现,再到互联网的出现(信息传递更快更高效,更省成本),无一不是如此。

IT也不例外,以企业级存储为例,近10年来逐渐出现的自动分级、去重、压缩也是为了更高效地使用存储资源,更节省成本。而最近两三年,软件定义存储的出现,依然是为了这个需求。

伴随着需求,还有两大背景:

一是,随着个性化、物联网、万联网的发展,数据以前所未有的速度迅猛增长,数据的存放、管理、优化、利用成为难题,用户面临着如下挑战:

存储利用率低,数据僵化在某些硬件组件里,难以提供随需动态变化的服务等级,缺乏精确的控制,部署和调整存储资源需要经过复杂的流程(例如需要应用管理员与存储管理员等进行协调),自动化程度低,对请求的响应慢,……。

二是,虚拟化、云计算和硬件技术的发展,使得软件定义成为可能;在此之前,存储用户也希望更加高效、简单、灵活,且成本较低,但十年前,SSD和高速网络尚未出现或发展不够,分布式存储难以堪当重任;彼时虚拟化云计算还未出现或者尚未成熟,从存储中调用控制信息给前端应用或OS使用,去实现灵活敏捷的存储资源的部署,在那时还不是那么迫切。

随着虚拟化和云计算的普及,用户的思维方式也发生了转变,逐渐意识到,快速、敏捷、灵活地获取计算资源已经成为可能,并且逐渐要求能按需使用,按需付费。因此,做为虚拟化和云计算里重要的组成部分,存储也应适应新的需求而不断完善。

下面围绕这这两大背景展开阐述:

我们先来看一下,在物联网、万联网(IoT,Internet of Things)的伴随下,未来数字宇宙的惊人变化。

我们知道:

KB= 210 xByte ;

MB=210 xKB ;

GB=210 xMB ;

TB=210 xGB ;

PB=210 xTB ;

EB=210 xPB ;

ZB=210 xEB ;

IDC在2012年预计,到2020年数字宇宙规模将超出其在2011年的预期,达到40ZB,如下图所示。



【PY原创】SDS 之一:为何出现软件定义存储?_多核



40 ZB到底有多大呢?假设地球人口按照73亿计算,40ZB相当于地球上人均5600GB以上的数据。

2014年4月,IDC发现数据的增长超过其在2012年的预期,预计2020年将达44ZB的数据量,比2012年的预估增加了10%。



【PY原创】SDS 之一:为何出现软件定义存储?_多核_02


有趣的是,在整个全球的数字宇宙中,2017年新兴市场(Emerging Markets)的数据所占全球数据的百分比,将首次超过成熟市场(Mature Markets,也即指发达国家和地区)。





BTW,关心大数据的朋友,可以去文章最后给出的索引链接查看,会发现被标记被分析的数据量,将从2013年的22%提升到35%。


预计,2014~2020的6年里,IT从业人员仅仅增长到1.285倍。平均每个IT人员管理的数据量从230GB增加到1231GB,5倍多!


【PY原创】SDS 之一:为何出现软件定义存储?_多核_03


这是好消息?因为,IT人员将普遍受欢迎;

还是坏消息?因为,IT人员会非常忙;

因此,做为数字的载体- 存储,变得日益重要。对于IT人员而言,他们对于存储的诸多要求中,简单易用也变得日益重要。


可以看出,过去十多年甚至二十多年里,数据的增长速度在很多时候超越了摩尔定律(半导体芯片上集成的晶体管将每一两年翻一番)。

【PY原创】SDS 之一:为何出现软件定义存储?_服务器_04


从硬盘厂商希捷的一份报告可以发现:在企业级SSD普及以前,存放数据的盘,无论性能还是容量,与CPU、内存比较,都发展得异常缓慢。以1987-2004年为例,17年间,CPU和内存的性能提升了200万倍!而磁盘仅仅提升了11倍!


【PY原创】SDS 之一:为何出现软件定义存储?_数据_05


二三十年前,CPU的处理能力较弱,内存较小,单块磁盘的性能和容量都较小。为了不抢占宝贵的CPU和内存资源,也为了提高数据的性能、可靠性(如RAID保护)、可用性(如快照,容灾,双活等)、扩展性,以及提供方便易用的集中管理,诞生了外置磁盘阵列(也叫集中存储),阵列本身自带智能控制器,能够组织管理数据,并提供快照、容灾等高级的软件功能。有些高端存储甚至能在一个单一阵列里提供1000乃至数千块盘,如EMC VMAX,HDS VSP和华为OceanStor等。

然而,近几年来,新的技术显著地改变了存储架构。包括:

1、SSD:延时从磁盘的毫秒级缩短到亚毫秒级(0.1毫秒),性能从单块15K磁盘的180左右IOPS,猛增到单块SSD的8000 IOPS(外置磁盘阵列),甚至到单块SSD的36000IOPS(内嵌在服务器里的SAS或SAT接口的SSD,或者PCIeSSD);闪存价格的下降速度比硬盘更快,根据IDC预测,两者价格曲线将于2015-2017年出现交叉,届时单位GB的SSD的价格甚至低于单位GB的15K磁盘的价格;

例如,2014-04-30,SanDisk发布世界上第一款4TB SSD,并计划2015年发布8TB,2016年发布16TB SSD;

2015年3月,SanDisk推出的InfiniFlash全闪存阵列里内置了64个单卡容量达8TB的闪存卡;同月,在美国2015OCP峰会上,来自中国的初创公司NetBric全闪存阵列也是内置了64个8TB闪存卡。如此看来,单盘SSD容量超过单盘的磁盘容量,指日可待。

可喜的是,除了国外Intel、Micron、Sandisk、SamSung、Seagate、Toshiba、HGST、Fusion-IO、Greenliant(绿芯)等SSD厂商之外,中国也涌现出不少SSD厂商,除了华为自研SSD之外,还有MemBlaze(忆恒创源)、Shannon(宝存,2015-04-24公布将被Silicon Motion公司收购)、RunCore(源科)、苏州恒成芯兴等SSD厂商;

2、SDS:Software Defined Storage,也即软件定义存储。由于各大外置磁盘阵列的存储厂商的存储控制器(包括EMC,IBM, HDS, DELL等)都已经或转向X86架构,各个部件都逐渐采用业界的标准硬件,因此硬件已经趋于同质化,存储厂商也早已开始比拼丰富的软件功能。早在数年前,许多厂商已经逐步将原来高端存储才有的功能,下移到中端甚至入门级存储。从2012年开始,以分布式存储为主的软件定义存储开始为大家所知,并将逐渐成为未来6~15年的主流。基于服务器的分布式存储又名Server SAN,它是由多个独立的服务器内嵌的磁盘或SSD池化组成的一个存储,也能提供外置磁盘阵列的功能;

Server SAN多采用类似云计算、大数据(例如Hadoop)的多副本数据存储方式,颠覆了传统外置磁盘阵列的RAID、快照、复制的数据保护方式,牺牲容量来赢得高可靠性。但是,由于Server SAN的盘的价格与原来服务器内置的普通盘毫无两样,因此单位TB的成本远低于外置磁盘阵列。

3、CPU多核技术:服务器的CPU多核早已被业务应用利用起来,尤其在虚拟化环境里,多核处理器功不可没,既提高了处理器利用率,也提高了单台服务器上用户对更多I/O的需求,这其实也驱动着底层存储需要变革。如前所述,绝大多数存储控制器采用了X86架构,但真正利用其多核处理IO,从最近三年才开始。例如,DELL Compellent Storage Center 6.3在2012年11月推出多核技术;EMC VNX 2在2013年9月推出MCx多核技术;而做为纯软件方式的存储Nexenta,也利用多核技术去实现其在线的压缩功能;正是有了多核的利用,Server SAN才能在处理业务应用之外,心有余力地去处理IO,实现丰富多彩的软件功能;

4、高速网络技术:分布式存储借助于节点之间的缓存(用SSD存放)的同步复制来确保数据的冗余性,也得益于近些年来网络的高速发展;通常推荐采用万兆网络,甚至有的采用四万兆(40GbE)的网络。目前,万兆网络的延迟非常小,大约在100微秒左右,远小于PCIe闪存的延迟1毫秒;如果采用RDMA技术,延迟能更小;

5、大容量服务器和磁盘:分布式存储借助于大容量的服务器和磁盘,也能够提供以往外置磁盘阵列才能支持大存储容量。例如,DELL PowerEdge R730XD最多16个3.5寸近线SAS盘,可支持多达近100TB的裸容量;另外,单块的机械磁盘容量也越来越大,例如,2015年03月,HGST首次向公众展示了10TB的机械硬盘;这样,不远的未来,仅凭服务器内置磁盘,即可支持100多TB的裸容量。如果SDS还支持服务器连接JBOD、直连存储来进行Scale Up(纵向扩展),容量就更大了。

6、分布式存储的技术逐渐成熟。面向对象存储的技术逐渐成熟。

7、虚拟化和云计算要求更智能的存储,能够调用其控制信息,配合上层更灵活敏捷的部署存储资源。

在这些技术的推动下,软件定义存储(包括Server SAN)已经或将逐渐普及开来。目前,在市场上,已经有很多SDS存储公司或方案,如国外的:VMware VSAN, Nutanix, HP StoreVirtual, IBM GPFS, EMC ScaleIO, NetApp Data ONTAP, Nexenta,Windows Server Storage Space, Redhat Gluster和Redhat Inktank Ceph, 飞康FreeStor Simplivity, Pivot3,Scality, Maxta,Pernixdata,Atantis, Sanbolic, Tarmin, Primary Data, DataGravity等公司;

国内的SDS公司或产品,也如同雨后春笋般兴起,如:希智数据(ProphetStor)、达沃时代(Daowoo)、华为FusionStorage、众志和达(SOUL)、赛凡(Cyphy,位于厦门)、大道云行(创始人刘爱贵)、华云网际(FusionCloud)、智云创新等。


最后总结一下,为何出现软件定义存储?

简而言之,随着用户需求的变化(因为数据激增),技术的变革,软件定义存储能够提供给用户更快的性能,更高的灵活性和开放性,更强的扩展性,更简单的管理(后面的篇章会提到),更少的投入。

以Server SAN为例,

从投入成本看:由于省却了外置磁盘阵列的存储控制器,存储光纤交换机,服务器HBA光纤卡,仅硬件的投入,即可降低到普通机架式服务器硬盘的价位。它将传统存储的专用硬件,转变成通用硬件,通过融合计算,存储达到降低成本的目的;

从开放性看:只要通过兼容性验证,它支持业界标准的硬件,如服务器、SSD、磁盘、IO控制器,并且能在最快时间采纳新的硬件,灵活性极高;

从扩展性看:如果分布式的存储,都能支持在线的横向扩展,能自动地在一个资源池里线性地、同时地增加计算资源和存储资源,使用户获得可预测的性能和容量;



【感谢】这个系列的内容受到如下公司或个人讲座、文章、交流或思考的启发:(1)VMware、DELL, EMC、Nexenta等公司的资料;(2)张广斌,冬瓜头,黄亮,Alvin Kho,林肯大叔,刘爱贵,西瓜哥, 李明宇,雷迎春等;(3)及伟大的互联网搜索引擎,百度、Google、Microsoft Bing;



下面一个篇章将介绍,什么是软件定义存储?


欢迎转发这个系列,但请注明转载自微信公众号:

乐生活与爱IT



部分内容和数据来源:

2020年数字宇宙规模将达40ZB,IT从业人员从业人员仅仅增长到1.285倍。

​http://www.emc.com/leadership/digital-universe/2014iview/index.htm​


1987~2004年,CPU、内存、硬盘发展速度对比:

​http://www.violin-memory.com/wp-content/uploads/resources/Violin-WP-ServerStorage-Performance-Gap.pdf​