其他

什么是软件定义存储?

2016-11-09 十万个IT为什么


【摘要】


软件定义存储, Software Defined Storage; IDC, Gartner, VMware, SNIA 的定义。


什么是软件定义存储?


最近两、三年,在 IT 圈里,除了云计算、大数据、人工智能之外,最火的就属“软件定义”了,先是有软件定义网络 (SDN, Software Defined Networking), 继而有软件定义数据中心(SDDC,Software Defined Data Center)和软件定义存储(SDS, Software Defined

Storage)。 后来还陆续出现了软件定义基础架构(SDI, Software Defined Infrastructure),软件定义一切(SoftwareDefined Everything, 或者 Software Defined Anything, 有些简称 SDX)。




那么,到底什么是软件定义呢?软件是相对于硬件而言,在出现这个词汇之前,我们购买的 IT 或智能设备,又是什么定义的呢?里面没有软件吗?


当然,里面也有软件,但相对固化,不提供或者提供非常少的接口,缺乏灵活性。以空调为例,很早以前的空调,通过遥控器,我们只能选择温度,或者开关;后来出现了更多的选择,如风速、 风向等的设定。到了智能家居的时代, 通过向应用软件开放空调的编程接口, 智能家居服务商帮助我们达到, 能在回家之前,就借助手机或者平板,开启并设置空调了。 我们知道软件是用户与硬件之间的接口界面。用户主要是通过软件与硬件进行交流。早期为了大规模制造,降低制造的复杂度和成本。许多功能都固化在硬件里,我们可以称之为硬件定义。随着人民日益增长的多样化、个性化定制的需求,以及更加智能、 更加灵活所需的自动化的需求,软件定义的需求将越来越多、 越来越广。


软件定义其实是一个过程,不是一蹴而就的目标,它分成不同阶段。软件定义就是要将特定的硬件与软件进行解耦,将硬件的可操控成分按需求,分阶段的,通过编程接口或者以服务的方式逐步暴露给前端应用,分阶段地满足应用对资源的不同程度、不同方面的灵活调用。


那么,什么是软件定义存储呢?


在 IT 基础架构领域的软件定义,最早出现的是: 软件定义网络(SDN)。 SDN 起源于2006 年斯坦福大学的 Clean Slate 研究课题。 2009 年, Mckeown 教授正式提出了 SDN 概念。 通过将网络设备的控制平面与数据平面分离开来,并实现可编程化控制, 实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。


2012 年, VMware 在其 VMworld 大会上首次提出软件定义数据中心(SDDC)的概念。作 VMware 软件定义数据中心五大组成部分(计算、存储、网络、管理和安全) 之一,软件定义存储(SDS)的概念也首次被提出。


EMC 公司在当年的 EMC World 发布大会上也发布了 SDS战略,引发了业界对 SDS 的大

讨论, SDS 迅速成为存储业界的研究热点。


不过,时至今日, SDS 的定义并没有统一的标准,各家权威咨询机构、各大厂商等,都对这一概念有着不同的解释或描述。下面我们列出主要的机构和厂商对 SDS 的描述,看看有何共性和差异。


一、 IDC


IDC 通过对 SDS 市场的深入了解和研究,对SDS 定义如下: SDS 将数据中心或者跨数据中

心的各种存储资源抽象化、池化,以服务的形式提供给应用,满足应用按需(如容量、性能、

QoS、 SLA 等) 自动化使用存储的需求。


二、Gartner


Gartner 副总裁 Neil MacDonald 在其位于 Gartner 网站的博客上撰写道:

SDS 必备的四个基本特征是:Abstraction (抽象化)、 Instrumentation、 Automation (自动化)和 Orchestration (编排)。


另外, 2013 年 10 月 Gartner 发布 2014 年十大战略技术中,重要的组成部分就有:软件定义一切。 Gartner 认为:软件定义一切囊括了在基础设施可编程性标准提升下不断增长的市场势头、由云计算内在自动化驱动的数据中心互通性、 DevOps 和快速的基础设施提供等。软件定义一切还包括各种举措,如 OpenStack OpenFlow Open ComputeProject Open Rack,共享相同的愿景。开放性将成为供应商的目标, SDN(网络)、SDDC(数据中心) SDS(存储)和 SDI(基础架构)技术的供应商都力图成为所在领域的领导,但在恪守开放性和标准方面却可能各有各的打算。


三、 VMware


VMware 做为 SDS 概念的创造者,对 SDS 定义如下:


软件定义的存储产品是一个将硬件抽象化的解决方案,它使你可以轻松地将所有资源池化并通过一个友好的用户界面( UI)或 API 来提供给消费者。一个软件定义的存储的解决方案使得你可以在不增加任何工作量的情况下进行纵向扩展( Scale-Up)或横向扩展 Scale-Out)。


软件定义存储是 VMware 软件定义数据中心的五大组成部分之一。 VMware 认为,软件定义的数据中心,是 IT 演变的下一个阶段,是迄今为止最有效、恢复能力最强和最经济高效的云计算基础架构方法。 SDDC 方法论将对存储、网络连接、安全和可用性应用池化、抽象化和自动化,整个数据中心由软件自动控制。基础架构提供的服务将聚合起来,并与基于策略的智能调配、自动化和监控功能结合在一起使用。应用编程接口和其他连接器支持无缝延展到私有云、混合云和公有云平台。


四、 SNIA (全球网络存储工业协会)


实际上,最权威的 SDS 的定义莫过于 SNIA 对 SDS 的定义了,作为一家非盈利的行业组织, SNIA 拥有 420 多家来自世界各地的公司成员以及 7,100 多位个人成员,遍及整个存储行业。 SNIA 曾先后定义了 DAS, SAN, NAS, 对象存储及云存储等标准。SNIA 认为, SDS 需要满足的是:提供自助的服务接口,用于分配和管理虚拟存储空间;


SDS 应该包括如下功能:

•自动化

•标准接口

•虚拟数据路径

•扩展性

•透明性

(为了让大家更好的理解 SNIA SDS 的看法,以下引用天玑数据  曾经翻译的版本 - SNIA 软件定义存储白皮书2015 汉化先行版》, 其中的部分内容,来对比一下传统存储与软件定义存储的区别)


传统存储部署往往离不开存储管理员亲自创建各种虚拟存储设备(块存储逻辑单元,文件系统共享,对象容器)供应用使用。


在后台,存储管理员还得为这些虚拟设备部署数据服务。通常情况下,单独数据服务需配备属于它的单独管理接口。一旦数据部署发生变更,存储在虚拟设备上的所有数据均会受到影响。数据请求通信经常发生其它存储接口带外传输。


下图是传统人工传达数据的请求方式 


如上图所示,该存储并不太“软件定义”,反而“存储管理员定义”更贴切。这种存储部署方式存在一个最大的问题,扩容艰难。由于刚性架构限制系统资源只能静态分配,这就意味着后续新部署的资源无法归入原先存储体系。该传统存储部署方式会导致较高的存储TCO(总体拥有成本)。


为实现存储基础架构的自动化机制,降低人工管理运维成本,数据请求需直接传达至自动化软件,且数据请求的粒度至少需在当前常见的个体虚拟化存储设备级别。


随着后续自动化机制的进一步发展,每个数据对象需独立传达自我请求,不再依赖虚拟存储设备。数据对象经由分组和抽象后,可向“用户” 直接传达其选择,“用户”不必再是存储专家了。


为将请求传达至存储系统,应用或用户需将请求信息标记至每个文件或对象,而元数据,或称作关于数据的“数据”,正好符合这一需求。采用记录请求信息的元数据来标记数据对象,存储系统可轻易定位获取请求信息。如图所示:


下图是利用元数据传达数据的请求方式:


存储请求信息有时仍存在数据路径带外传输,但自动化机制终将消除这一现象。了软件定义存储,存储管理员可转向定制策略这类更高阶的工作,不再将时间精力囿于即时突发问题的处理上,而降格自身的服务级别。


下列这张综合信息图涵盖了软件定义存储的全部要点:


各家对 SDS 定义的共性


虽然每家对 SDS 的定义都不尽相同,各有侧重点。但可以看出来,易于扩展(主要指在线横向扩展)、自动化、基于策略或者应用的驱动都几乎都成为大家定义中的必备特征。而这也是软件定义数据中心的重要特征,只有具备自动化的能力,才能实现敏捷交付,简单管理,节省部署和运维成本。


推荐阅读

滑、滑、滑!让你的指尖拥有不一般的触感!!

为何出现软件定义存储

公有云领头羊亚马逊aws产品的架构、功能和使用方法(下篇)



每日推送一篇IT干货、新鲜科技、创意潮品,

以及IT小知识等等,

给你千万个理由关注:


十万个IT为什么

不要等!即刻长按二维码

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存