人类各项发明、创新,大多都是为了满足如下普遍需求:更加高效、快捷、方便、灵活和安全,并且节省人力和成本。从种植业、畜牧业的出现,到蒸汽机、发电机的发明,以及自来水、集中供电的出现,再到互联网的出现(信息传递更快更高效,更省成本),无一不是如此。
IT(Information Technology,信息技术)也不例外,以企业级存储为例,近十多年来逐渐出现的自动分级、去重、压缩也是为了更高效地使用存储资源,更节省成本。而最近两三年,软件定义存储的出现,更是致力于满足这些需求。
除了不断满足人类普遍需求,IT行业还有以下两大背景。
一是随着个性化、物联网、万联网的发展,数据以前所未有的速度迅猛增长,数据的存放、管理、优化、利用成为难题,用户面临如下挑战:
存储利用率低,数据僵化在某些硬件组件里,难以提供随需动态变化的服务等级(SLA或者QoS),缺乏精确的控制,部署和调整存储资源需要经过复杂的流程(例如需要应用管理员与存储管理员等进行协调),自动化程度低,对请求的响应慢,等等。
二是虚拟化、云计算和硬件技术的发展,使得软件定义成为可能。10多年前,存储用户也希望更加高效、简单、灵活,且成本较低,但SSD和高速网络尚未出现或发展不够成熟,分布式存储在特定领域(如利用InfiniBand的高性能计算)较难满足用户对性价比的需求;而且虚拟化云计算也未出现或者尚未成熟,为实现灵活敏捷的存储资源的部署,从存储中调用控制信息给前端应用或OS使用,在那时还不是很迫切。
随着虚拟化和云计算的普及,用户的思维方式也发生了转变,大家逐渐意识到,快速、敏捷、灵活地获取计算资源已经成为可能,并且逐渐要求能按需使用,按使用量付费。因此,作为虚拟化和云计算里重要的组成部分,存储也要适应新的需求而不断完善。
下面围绕这两大背景展开阐述。
伴随着物联网、万联网(Internet of Things,IoT)的发展,未来数字宇宙将产生的惊人变化。
我们知道:
KB=2 10 ×Byte;
MB=2 10 ×KB
GB=2 10 ×MB
TB=2 10 ×GB
PB=2 10 ×TB
EB=2 10 ×PB
ZB=2 10 ×EB
1.IDC对2020年数字宇宙的预计
IDC在2012年预计,到2020年数字宇宙规模将达到40ZB,如图1-14所示。
图1-14 IDC在2012年估计数字宇宙在2020年将达到40ZB
40ZB到底有多大呢?假设地球人口按照73亿计算,40ZB相当于地球上人均5600GB以上的数据。
2014年4月,IDC发现数据的增长超过其在2012年的预期,预计2020年将达44ZB的数据量,比2012年的预估增加了10%(图1-15)。
图1-15 IDC在2014年估计数字宇宙在2020年将达到44ZB
有趣的是,在全球的数字宇宙中,2017年新兴市场(Emerging Markets,包括中国、印度、俄罗斯、巴西等)的数据占全球数据的百分比,将首次超过成熟市场(Mature Markets,也即指发达国家和地区)。这意味着,在新兴市场上,存储的商机不少(图1-16)。
图1-16 IDC预计2017年新兴市场数据将超成熟市场
而IT从业人员,在2014—2020年的6年里,仅仅增长1.285倍。平均每个IT人员管理的数据量从230GB增加到1231GB,超过5倍(图1-17)!
图1-17 IDC预计平均每个IT人员管理的数据量6年内将增加5倍多
因此,作为数字的载体——存储,变得日益重要。对于IT人员而言,他们对于存储的诸多要求中,简单易用、方便扩展也变得日益重要。
2.数据增长超过摩尔定律
在过去10多年里,数据的增长速度在很多时候超越了摩尔定律(半导体芯片上集成的晶体管将每一两年翻一番)。而且数字宇宙的增速将继续超过存储容量的增速,这意味着存储功能中,优化数据的存放,提高存储容量利用率,都有用武之地。
图1-18仍是IDC的预计,纵坐标轴是倍数,横坐标轴是年份。
图1-18 IDC发现数字宇宙增长速度超过摩尔定律
从硬盘厂商希捷的一份报告可以发现:在企业级SSD出现以前,存放数据的盘,无论性能还是容量,与CPU、内存比较,都发展得异常缓慢。以1987—2004年为例,17年间,CPU和内存的性能提升了200万倍,而磁盘仅仅提升了11倍!硬盘的发展远远落后于CPU和内存的发展(表1-3)。
表1-3 希捷统计1987—2004年,CPU、内存和硬盘的发展速度
资料来源:Seagate Whitepaper TP-525, http://www.seagate.com/docs/pdf/whitepaper/economies_capacity_spd_tp.pdf
二三十年前,CPU的处理能力较弱,内存较小,单块磁盘的性能和容量都较小。为了不抢占宝贵的CPU和内存资源,也为了提高数据的性能、容量和可靠性(如RAID)、可用性(如快照、容灾、双活等)、扩展性,诞生了外置磁盘阵列(也叫集中存储)。磁盘阵列本身自带智能控制器(双控或多控),能够负责数据部署,组织管理数据,并提供快照、容灾等高级的软件功能。有些高端存储甚至能在一个单一阵列里提供1000块乃至数千块盘,如EMC VMAX、HDS VSP和华为OceanStor等。
随着硬件技术和互联网技术的迅猛发展,虚拟化云计算逐渐普及,新的技术显著地改变了存储架构。
1.SSD
SSD的延时从磁盘的毫秒级缩短到亚毫秒级(0.1毫秒),读写性能从单块15K(15000转)磁盘的180 IOPS,猛增到单块SSD的8000 IOPS(当SSD内嵌在外置磁盘阵列里),甚至到单块SSD的36000 IOPS(内嵌在服务器里的SAS或SAT接口的SSD,或者PCIe SSD);闪存价格的下降速度比硬盘更快,根据IDC预测,两者价格曲线将于2015—2017年出现交叉,届时单位GB的SSD的价格甚至低于单位GB的15K磁盘的价格。从公开的消息,我们可以看到以下内容。
2014年4月,SanDisk发布世界上第一款4TB SSD,2015年发布8TB,并计划2016年发布16TB SSD。2015年3月,SanDisk推出的InfiniFlash全闪存阵列里内置了64个单卡容量达8TB的闪存卡。
2015年3月,在美国2015 OCP峰会上,来自中国的初创公司NetBric全闪存阵列内置了8TB闪存卡,每个阵列共64个。
2015年8月,三星在闪存峰会上公布世界容量最大的2.5英寸SSD盘:16TB SSD PM1633a。相比之下,当时希捷或西部数据制造的容量最大的机械硬盘只有8TB或10TB。
2015年9月,东芝在IFA2015(柏林国际消费电子展)宣布,2018年将推出128TB SSD。东芝计划在2016年推出32TB,2017年推出64TB。而HDD硬盘在2020年也只有20~40TB(图1-19)。
图1-19 东芝在IFA2015宣布,2018年将推出128TB SSD
可以断定,SSD的发展远远快于磁盘的发展。
可喜的是,除了国外Intel、西部数据、Fusion-IO(2014年6月被SanDisk收购)、Micron、SanDisk(2015年10月被西部数据收购)、SamSung、Seagate、Toshiba、HGST(2011年3月被西部数据合并,2015年10月中国政府放行此次合并)、Greenliant(绿芯)等SSD厂商之外,中国也涌现出不少SSD厂商,除了华为自研SSD之外,还有MemBlaze(忆恒创源)、Shannon(中文名叫宝存,2015年4月被Silicon Motion公司收购)、RunCore(源科)、苏州恒成芯兴等SSD厂商。
2.存储控制器X86化
实际上,早在四五年前甚至更早时期,各大外置磁盘阵列的存储厂商的存储控制器(包括EMC、IBM、DELL等)都已经是X86架构,各个部件也都逐渐采用业界的标准硬件,和标准服务器差别不大。因此硬件已经趋于同质化,存储厂商也早已开始比拼丰富的软件功能。
不过,值得思考的是,除了X86架构之外,未来会不会出现ARM架构或者其他架构呢?
3.CPU多核技术
服务器的CPU多核早已被业务应用利用起来,尤其在虚拟化环境里,多核处理器功不可没,它既提高了处理器利用率,也提高了单台服务器上用户对更多I/O的需求,这其实也驱动着底层存储的变革。如前所述,绝大多数存储控制器采用了X86架构,但真正利用其多核处理IO,是从最近三四年才逐渐开始的。例如,DELL Compellent Storage Center 6.3在2012年11月推出多核技术;EMC VNX 2在2013年9月推出MCx多核技术;而作为纯软件方式的存储Nexenta,也利用多核技术去实现其在线的压缩功能。正是有了CPU多核的利用,分布式存储才能在处理业务应用之外,心有余力地去处理IO,实现丰富多彩的软件功能。
4.高速网络技术
分布式存储借助于节点之间的缓存(用SSD存放)同步复制来确保数据的冗余性,也得益于近些年来网络的高速发展;通常推荐采用万兆网络,甚至有的采用4万兆(40GbE)的网络。目前,万兆网络的延迟非常小,大约在100微秒,远小于PCIe闪存的延迟1毫秒;如果采用RDMA技术,延迟能更小,低至微秒级。
5.大容量服务器和磁盘
分布式存储借助于大容量的服务器和磁盘,也能够提供以往外置磁盘阵列才能支持的大存储容量。例如,DELL PowerEdge R730XD支持高达16个3.5寸近线SAS盘,采用6TB的盘,可达近100TB的裸容量。而且,单块的机械磁盘容量也越来越大,例如,2015年3月,HGST首次向公众展示了10TB的机械硬盘。
不远的未来,仅凭服务器内置磁盘,即可支持数百TB的裸容量。如果分布式存储还支持服务器连接JBOD、直连存储来进行Scale Up(纵向扩展),容量就更大了。
6.存储技术逐渐成熟
分布式存储的技术逐渐成熟,互联网巨头如Google、Facebook、Yahoo和百度、阿里、腾讯大规模采用分布式存储验证了这一技术的可行性。另外,面向对象存储的技术逐渐成熟。
7.虚拟化和云计算逐渐普及
虚拟化和云计算要求更智能的存储,能够调用API,配合上层实现更灵活敏捷地部署、管理和变更存储资源。
传统的IT基础架构是“烟囱式”的,或称“竖井式”的(图1-20),通常一个业务应用需要配备一套系统,包含计算、存储、网络等IT基础架构的各个组件。这种模式普遍存在如下问题:
(1)初次采购浪费较严重
一般需要考虑新应用未来3~5年,甚至更长时间,以及最高负载时对系统资源的需求,往往会在初次采购时,选择高出实际需求许多的硬件规格。而实际上新应用上线后的很长时间,负载需求都远低于初次采购的硬件规格,硬件利用率低,造成了很大的浪费。很难做到按需购买。并且,硬件的发展速度日新月异,相同的硬件配置几年后成本会降低不少。
(2)难以共享使用
传统模式下,每一个业务应用有自己专属的IT系统,即使某些应用在某一时段,所需资源远低于其硬件配置能提供的,也无法共享给其他应用使用。这样,整体资源利用率都比较低下,而且占用过多的空间和能源。随着应用系统的增多,或者应用的规模迅速增大,扩展性和可管理性都面临巨大的挑战。
图1-20 传统的数据中心——烟囱式或竖井式
解决这些问题的办法就是采用软件定义的数据中心,它依托于现有的虚拟化和云计算的各种技术。软件定义的数据中心体系结构是一个一体化的混合云,能够提供一流的计算、存储、网络连接虚拟化和管理产品与服务(图1-21)。
图1-21 软件定义的数据中心——抽象、池化、自动化
在这些需求和技术的推动下,软件定义存储(当前以分布式存储为主流)作为软件定义数据中心不可或缺的一环,已经逐渐普及开来。目前,在市场上,已经有很多SDS存储公司或方案。国外的有VMware VSAN,Nutanix,HP StoreVirtual,IBM GPFS,EMC ScaleIO,NetApp Data ONTAP,DELL Fluid Cache,Redhat Gluster和Redhat Inktank Ceph,Oracle,飞康FreeStor,先智数据(ProphetStor),Federator,DataCore,Nexenta,微软Storage Space,Maxta,Zadara,Simplivity,Pivot3,Scality,Pernixdata,Atantis,Sanbolic,Tarmin,Primary Data,DataGravity,Gridstore等;国内的SDS公司或产品,也如同雨后春笋般兴起,它们或者是新兴的初创公司,或者由传统存储公司转型而来,如华为FusionStorage、联想ThinkCloud AIO、达沃时代(Daowoo)、星辰天合(XSky)、BigTera、华云网际(FusionStor)、华三、青云、深信服aSAN、爱数、志凌海纳(SmartX)、大道云行(SSAN)、Zettakit、天玑数据、云和恩墨、沃趣、成都文武、信核、中科蓝鲸、金山云、九州云、海云捷迅、中兴等。
8.小结
最后总结一下,为何出现软件定义存储?
简而言之,随着用户需求的变化(因为数据激增)和技术的变革,软件定义存储能够提供给用户更快的性能,更高的灵活性和开放性,更强的扩展性,更简单的管理(后面的篇章会提到),更少的投入。
以Server SAN(分布式存储的一种,将计算节点内的盘的资源进行池化)为例:
从投入成本看,由于省却了外置磁盘阵列的存储控制器、存储光纤交换机和服务器HBA光纤卡,仅硬件的投入,即可降低到普通机架式服务器硬盘的价位。它将传统存储的专用硬件,转变成通用硬件,通过融合计算,存储达到降低成本的目的;
从开放性看,只要通过兼容性验证,它支持业界标准的硬件,如服务器、SSD、磁盘、IO控制器,并且能在最快时间内采纳新的硬件,灵活性极高;
从扩展性看,分布式存储都能支持在线的横向扩展,能自动地在一个资源池里线性地、同时地增加计算资源和存储资源,使用户获得可预测的性能和容量。
然而软件定义存储,绝不只是分布式存储,它还包含了如何实现存储策略驱动,配合软件定义数据中心、云计算所需的自动化。这部分的内容会在软件定义存储的分类里详细介绍。