2011年8月21日,Netscape创始人马克·安德森(Marc Andreessen,硅谷著名投资人,投资了Facebook、Groupon、Skype、Twitter、Zynga和LinkedIn等高科技新秀),在华尔街日报上发表《软件正在吞噬整个世界》,认为当今的软件应用无所不在,并且正在吞噬整个世界:“越来越多的大型企业及行业将离不开软件,网络服务将无所不在,从电影、农业到国防。许多赢家将是硅谷式的创新科技公司,它们侵入并推翻了已经建立起来的行业结构。未来十年,我预计将有更多的行业被软件所瓦解。”安德森以亚马逊颠覆图书零售巨头Borders(已于2011年2月破产)、Netflix颠覆视频行业、苹果颠覆音乐行业、Skype颠覆电信行业、LinkedIn颠覆招聘、PayPal颠覆支付等为例,并指出基于互联网的服务,将让新创建全球性软件初创公司变得容易。
2013年10月,Gartner发布的2014年十大战略技术中,重要组成部分就有:软件定义一切。Gartner认为:软件定义一切囊括了在基础设施可编程性标准提升下不断增长的市场势头、由
云计算内在自动化驱动的数据中心互通性、DevOps和快速的基础设施提供等。软件定义一切还包括各种举措,如OpenStack、Open Flow、Open Compute Project和Open Rack,共享相同的愿景。开放性将成为供应商的目标,SDN(网络)、SDDC(数据中心)、SDS(存储)和SDI(基础架构)技术的供应商都力图成为所在领域的领导。
那么,什么是软件定义? 难道以前没有软件定义? 都是硬件定义吗?
我们先来看一下,什么是软件?
软件是用户与硬件之间的接口界面。用户主要是通过软件与硬件进行交流。
早期,为了大规模生产,降低制造的复杂度和成本。许多功能都固化在硬件里,我们可以称之为硬件定义。随着人民日益增长的多样化、个性化定制的需求,以及云计算所要求的,更加智能、更加灵活的自动化的需求,由软件定义来操控硬件资源的需求将越来越多、越来越广。
最早的空调里面也有软件,但相对固化,不提供或者提供非常少的接口,缺乏灵活性。那时,我们只能选择温度,或者开关;后来出现了更多的选择,如风速、风向等的设定。到了智能家居的时代,通过向应用软件开放空调的编程接口,使得我们能在回家之前,就借助手机或者平板,开启并设置空调了。
软件定义,究其本质,就是将原来高度耦合的一体化硬件,通过标准化、抽象化(虚拟化),解耦成不同的部件。围绕这些部件,建立起虚拟化软件层,以API(应用编程接口)的方式,实现原来硬件才提供的功能。再由管理控制软件,自动地进行硬件资源的部署、优化和管理,提供高度的灵活性,为应用提供服务。
简而言之,就是更多地由软件来驱动并控制硬件资源。
需要注意的是,软件定义其实是一个过程,不是一蹴而就的目标,它分成不同阶段。软件定义逐渐将硬件与软件进行解耦,将硬件的可操控成分按需求,分阶段的,通过编程接口或者以服务的方式逐步暴露给应用,分阶段地满足应用对资源的不同程度、不同广度的灵活调用。
什么是软件定义存储?
当我们讨论软件定义存储的时候,避免不了要先回顾一下软件定义这个词汇出现的历史。
在IT基础架构领域,最早出现的软件定义,是软件定义网络(Software Defined Network)。SDN起源于2006年斯坦福大学的C
LEAN Slate研究课题。2009年,Mckeown教授正式提出了SDN概念。通过将网络设备的控制平面与数据平面分离开来,并实现可编程化控制,实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。
随后,在2012年8月,VMware在其VMworld 2012大会上首次提出软件定义数据中心(Software Defined Data Center,简称SDDC)的概念。
VMware认为,软件定义的数据中心,是 IT 演变的下一个阶段,是迄今为止最有效、恢复能力最强和最经济高效的云计算基础架构方法。SDDC方法论将对存储、网络连接、安全和可用性应用抽象、池化和自动化,整个数据中心由软件自动控制。 基础架构提供的服务将聚合起来,并与基于策略的智能调配、自动化和监控功能结合在一起使用。应用编程接口和其他连接器支持无缝延展到私有云、混合云和公有云平台。
总结一下,SDDC概念的核心包括:
软件定义的数据中心由软件自动控制;
软件定义包括三个阶段:抽象、池化和自动化;
软件定义的数据中心包括五大组成部分:计算、存储、网络、管理和安全。
作为VMware软件定义数据中心五大组成部分之一,软件定义存储(Software Defined Storage,简称SDS)的概念也在全球范围内,首次被提出。
VMware认为:软件定义的存储产品是一个将硬件抽象化的解决方案,它使你可以轻松地将所有资源池化并通过一个友好的用户界面(UI)或API来提供给消费者。一个软件定义的存储的解决方案使得你可以在不增加任何工作量的情况下进行纵向扩展(Scale-Up)或横向扩展(Scale-Out)。
实际上,SDS的定义出现至今已经三年多了,但仍没有统一的标准,VMware的定义也只是一家之言。各家权威咨询机构,各大厂商,都对这一概念有着不同的定义或描述。下面我们再来看看SNIA对SDS描述。SNIA是Storage Networking Industry Association的简称,也即全球网络存储工业协会,做为曾经制定过SAN,NAS,对象存储,云存储等标准的第三方协会,我们有理由相信,SNIA对SDS的看法比较权威。其内容也确实有助于大家更深刻地理解SDS。
SNIA在SDS的定义中提到,SDS允许异构的或者专有的平台。必须满足的是,这个平台能够提供部署和管理其虚拟存储空间的自助服务接口。除此之外,SDS应该包括:
自动化:简化管理,降低维护存储架构的成本;
标准接口:提供应用编程接口,用于管理、部署和维护存储设备和存储服务;
虚拟数据路径:提供块、文件和对象的接口,支持应用通过这些接口写入数据;
扩展性:无需中断应用,也能提供可靠性和性能的无缝扩展;
透明性:提供存储消费者对存储使用状况及成本的监控和管理。
SNIA认为,存储服务的接口需要允许数据拥有者(存储用户)同时表达,对于数据和所需服务水准的需求。数据的需求,就是SDS建立在数据路径(Data Path)的虚拟化,而控制路径(Control Path)也需要被抽象化成为存储服务。云、数据中心和存储系统,或者数据管理员能够被用于部署这个服务(指Control Path)。
在SNIA对SDS的看法中,贡献最大,也是最有价值的部分,应该是SNIA关于Data Path(数据路径)和Control Path(控制路径),以及手动传送数据请求和应用通过元数据来传送请求的的对比描述。它帮助大家清晰地了解了两者的的区别,并描绘了未来理想的SDS的蓝图,为如何发展SDS指明了方向。
SDS包括数据路径和控制路径。数据路径由以往的标准接口(块、文件和对象)组成。那么控制路径呢?在传统存储中,其实就是指存储管理员为数据提供部署数据的服务。在使用传统存储的大多数情况下,每一个数据服务有着各自的管理接口。变更数据服务,会导致所有存放在相应虚拟存储空间的数据都受到影响。
1.传统方式下传递数据请求的方式
如图上所示,存储用户的控制路径是在带外,通过传统、人工的方式将数据请求传递给存储管理员,例如对于数据保护、可用性、性能、安全性的要求。存储管理员进入存储管理界面,按存储用户的请求分配存储资源。
这种情况是当前普遍存在的主流方式。其实是:存储管理员定义。
这种存储部署方式存在一个最大的问题,扩容或升级非常艰难。由于刚性架构限制系统资源只能静态分配,这就意味着后续新部署的资源难以归入原先存储体系。
2.理想方式下传递数据请求的方式
如上图所示,理想的SDS,其传递数据请求的方式是:让应用通过元数据来请求相应的数据服务。如,空间部署,数据保护(快照、克隆),数据高可用(容灾、双活),性能,安全等。
理想的SDS实现了存储基础架构的自动化机制,极大地降低了人工管理运维成本,数据请求需直接传达至自动化软件。它能够直接应对请求,分配应用人员所需的存储资源,而无需人工干预。存储管理员可以从枯燥重复的建卷、映射卷等工作中,从疲于修补那些导致存储服务水准降低的突发故障中,脱身出来,转向更高级的任务,例如定义存储策略。
3.SNIA之SDS全局示意图
存储管理
将来自服务器本地的闪存盘、机械盘,存储阵列,JBOD等存储资源,通过存储管理协议(如SMI-S等),进行特性描述和虚拟化,构建出存储资源池。
数据服务
存储资源池化后,数据服务即可按照用户对存储服务级别(如金银铜)的要求提供。数据服务包含:空间部署、数据保护、数据可用性、性能、数据安全性。
数据请求
存储资源的使用者,如软件开发人员通过数据管理接口(如CDMI),向SDS发起数据请求。由于SDS开放了丰富的API供调用,因此SDS能够满足用户的数据请求,按照服务级别,提供相应的存储资源。
除了VMware、SNIA之外,Gartner、IDC,以及EMC、IBM、HP、DELL等,都提出了各自对SDS的定义或阐述。虽然每家对SDS的定义都各有不同,但易于扩展(主要指在线横向扩展)、自动化、基于策略或者应用的驱动都几乎都成为大家定义中的必备特征。而这也是软件定义数据中心的重要特征,只有具备自动化的能力,才能实现敏捷交付,简单管理,节省部署和运维成本。自动化也成为各家SDS方案,是否愿意走向更高阶段的试金石。
SDS的分类
软件定义存储的概念很大。我们所熟知的,存储虚拟化、Server SAN、超融合架构(HCI)都是SDS的一部分。
1. Control Plane(控制平面)
在SDS Control Plane这一层,比较著名的有:
VMware SPBM (Storage Policy Base Management, 基于存储策略的管理);
OpenStack Cinder 。Cinder是OpenStack云平台的一个组件,用来提供块存储服务;
EMC ViPR。目标是实现EMC存储、异构存储、商用硬件本地存储资源的存储虚拟化(包括互操作性);
ProphetStor(希智)的Federator;
FalconStor(飞康)的Freestor;
2.Data Plane(数据平面)
在SDS Data Plane这一层,比较复杂,组成部分较多。
Based on Commodity Hardware(基于商用的硬件)
其实,这一部分是最难分类的,种类繁多,命名还不容易。首先,笔者认为超融合架构(HCI)是Server SAN的一个子集。
另外想说明的是,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一体机,差别仅在于是否与硬件捆绑,共同点在于都是基于商用的硬件,将分布式存储资源池化,且基于Hypervisor。所以,VSAN, EVO:RAIL,Nutanix都属于Server SAN的分类里,而且由于它们都不仅提供存储资源,还提供计算资源,所以还属于超融合架构这个子类里。
超融合架构里,比较著名的有:VMware VSAN或EVO:RAIL、EMC ScaleIO、Nutanix、Maxta、SimpliVity、Scale Computing、Pivot3;国内有:华为FusionStorage、志凌海纳SmartX、青云HCI、深信服HCI等;开源的有Open vStorage(类似Nutanix架构);
在Server SAN里,非超融合架构(也即不提供计算资源)的有DELL Fluid Cache、HP StorVirtual、RedHat Inktank Ceph、Microsoft Storage Spaces等,以及达沃时代、StorWind、大道运行SSAN等;还包括分布式文件系统,如GPFS、Lustre、Panasas等;
笔者认为Server SAN在它的原始定义里,应该是一个横向扩展的分布式存储,它至少需要支持3个以上节点。这样,对于那些仅支持两个控制器做为集群的存储,就不在Server SAN这个分类里了。不过,它们依然属于软件定义存储这个大的分类里。这类存储有:DataCore、Nexenta、国内的InfoCore(信核),还有其他支持Solaris ZFS的存储,如开源的FreeNAS、NAS4Free。
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 Volumes,再如,支持OpenStack Cinder等;
二是通过收购或自己研发,去逐步实现SDS抽象(解耦)、池化、自动化的阶段,典型的就有HP将LeftHand与原有硬件解耦,形成VSA版StorVirtual;NetApp推出Data ONTAP的VSA版ONTAP Edge VSA;IBM推出XIV的软件版Spectrum Accelerate;EMC推出VNX的虚拟化版本 vVNX等。另外,DELL的Fluid Cache脱胎于之前收购的内存虚拟化软件RNA,本身已经具备抽象池化的SDS基因。相信随着SDS的浪潮,会有越来越多的传统大牌存储厂商推出类似的方案。
Cloud/Object Storage
它作为Data Plane的组成部分,实际上是以后端存储的身份为VM/App提供存储资源。
VM/App可以通过RESTful API等接口与对象存储进行数据的输入输出,目前有三种RESTful API:亚马逊S3、SNIA CDMI和OpenStack SWIFT。
从云存储来看,随着混合云的逐渐深入,用户自然会期待在自己的私有云和公有云之间,能够实现除了在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),为业务虚机提供专业的、高级的存储服务。
类似的还有SoftNAS,也是以虚机方式运行在AWS EC2实例上,可以为运行业务应用的EC2实例提供包括块(iSCSI)和文件(NFS、CIFS)的存储服务。
其实,谈到软件定义,无论SDN、SDS,都离不开控制平面Control Plane,数据平面Data Plane的提法。控制平面负责数据调度,实现自动化;而数据平面负责数据处理和数据优化,负责抽象和虚池化。
最近两年流行的概念 - Server SAN目前还只是围绕着数据平面做些工作,是当前阶段SDS的主要形态,离理想的SDS尚有一些距离。不过,我们也注意到,已经有一些Server SAN在控制平面做些工作了,例如尝试与VMware SPBM(主要指Virtual Volume),或者OpenStack Cinder对接。
可以肯定的是,在最近几年内,Server SAN仍然是充满着创业生机的沃土,与之相关的初创公司(包括HCI,也即超融合架构)会如同雨后春笋般冒出来。但是,需要注意的是,在数据中心三大基础架构中,存储相对于服务器和网络,是最难被替换的,因为它是数据的命脉。初创公司存储的安全性(数据不丢失)、稳定性是首要需要保证的。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:软件定义存储究竟是啥?
本文网址:http://www.toberp.com/html/support/11121520093.html