软件定义存储SDS摘要:软件定义存储,SoftwareDefinedStorage。出现背景:应对数据暴增,成本降低到普通机架式服务器硬盘的价位,兼容各种硬件的开放性,可在线横向扩展;哪些新的技术显著地改变了存储架构:SSD,SDS,CPU多核技术,高速网络,大容量服务器和磁盘,多副本存储方式。最近两、三年,在IT圈里,除了云计算、大数据、人工智能之外,最火的就属“软件定义”了,先是有软件定义网络(SDN,SoftwareDefinedNetworking),继而有软件定义数据中心(SDDC,SoftwareDefinedDataCenter)和软件定义存储(SDS,SoftwareDefinedStorage)。转载自百度百家或微信公众号-乐生活与爱IT。1.为何出现软件定义存储?1.1为何出现软件定义存储?人类各项发明、创新,大多都是为了更加的高效、方便、灵活,并且节省成本。例如,从种植业、畜牧业的出现,到蒸汽机的发明,到自来水、集中供电的出现,再到互联网的出现(信息传递更快更高效,更省成本),无一不是如此。IT也不例外,以企业级存储为例,近10年来逐渐出现的自动分级、去重、压缩也是为了更高效地使用存储资源,更节省成本。而最近两三年,软件定义存储的出现,依然是为了这个需求。伴随着需求,还有两大背景:一是,随着个性化、物联网、万联网的发展,数据以前所未有的速度迅猛增长,数据的存放、管理、优化、利用成为难题,用户面临着如下挑战:存储利用率低,数据僵化在某些硬件组件里,难以提供随需动态变化的服务等级,缺乏精确的控制,部署和调整存储资源需要经过复杂的流程(例如需要应用管理员与存储管理员等进行协调),自动化程度低,对请求的响应慢,……。二是,虚拟化、云计算和硬件技术的发展,使得软件定义成为可能;在此之前,存储用户也希望更加高效、简单、灵活,且成本较低,但十年前,SSD和高速网络尚未出现或发展不够,分布式存储难以堪当重任;彼时虚拟化云计算还未出现或者尚未成熟,从存储中调用控制信息给前端应用或OS使用,去实现灵活敏捷的存储资源的部署,在那时还不是那么迫切。随着虚拟化和云计算的普及,用户的思维方式也发生了转变,逐渐意识到,快速、敏捷、灵活地获取计算资源已经成为可能,并且逐渐要求能按需使用,按需付费。因此,做为虚拟化和云计算里重要的组成部分,存储也应适应新的需求而不断完善。下面围绕这这两大背景展开阐述:我们先来看一下,在物联网、万联网(IoT,InternetofThings)的伴随下,未来数字宇宙的惊人变化。我们知道:KB=210xByte;MB=210xKB;GB=210xMB;TB=210xGB;PB=210xTB;EB=210xPB;ZB=210xEB;IDC在2012年预计,到2020年数字宇宙规模将超出其在2011年的预期,达到40ZB,40ZB到底有多大呢?假设地球人口按照73亿计算,40ZB相当于地球上人均5600GB以上的数据。2014年4月,IDC发现数据的增长超过其在2012年的预期,预计2020年将达44ZB的数据量,比2012年的预估增加了10%。有趣的是,在整个全球的数字宇宙中,2017年新兴市场(EmergingMarkets)的数据所占全球数据的百分比,将首次超过成熟市场(MatureMarkets,也即指发达国家和地区)。预计,2014~2020的6年里,IT从业人员仅仅增长到1.285倍。平均每个IT人员管理的数据量从230GB增加到1231GB,5倍多!过去十多年甚至二十多年里,数据的增长速度在很多时候超越了摩尔定律(半导体芯片上集成的晶体管将每一两年翻一番)。从硬盘厂商希捷的一份报告可以发现:在企业级SSD普及以前,存放数据的盘,无论性能还是容量,与CPU、内存比较,都发展得异常缓慢。以1987-2004年为例,17年间,CPU和内存的性能提升了200万倍!而磁盘仅仅提升了11倍!1.2最后总结一下,为何出现软件定义存储?简而言之,随着用户需求的变化(因为数据激增),技术的变革,软件定义存储能够提供给用户更快的性能,更高的灵活性和开放性,更强的扩展性,更简单的管理(后面的篇章会提到),更少的投入。以ServerSAN为例:从投入成本看:由于省却了外置磁盘阵列的存储控制器,存储光纤交换机,服务器HBA光纤卡,仅硬件的投入,即可降低到普通机架式服务器硬盘的价位。它将传统存储的专用硬件,转变成通用硬件,通过融合计算,存储达到降低成本的目的;从开放性看:只要通过兼容性验证,它支持业界标准的硬件,如服务器、SSD、磁盘、IO控制器,并且能在最快时间采纳新的硬件,灵活性极高;从扩展性看:分布式的存储,都能支持在线的横向扩展,能自动地在一个资源池里线性地、同时地增加计算资源和存储资源,使用户获得可预测的性能和容量;2.什么是软件定义存储?2.1什么是软件定义存储在IT基础架构领域的软件定义,最早出现的是:软件定义网络(SDN)。SDN起源于2006年斯坦福大学的CleanSlate研究课题。2009年,Mckeown教授正式提出了SDN概念。通过将网络设备的控制平面与数据平面分离开来,并实现可编程化控制,实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。2012年,VMware在其VMworld大会上首次提出软件定义数据中心(SDDC)的概念。作为VMware软件定义数据中心五大组成部分(计算、存储、网络、管理和安全)之一,软件定义存储(SDS)的概念也首次被提出。EMC公司在当年的EMCWorld发布大会上也发布了SDS战略,引发了业界对SDS的大讨论,SDS迅速成为存储业界的研究热点。不过,时至今日,SDS的定义并没有统一的标准,各家权威咨询机构,各大厂商等,都对这一概念有着不同的解释或描述。下面我们列出主要的机构和厂商对SDS的描述,看看有何共性和差异。2.1.1IDCIDC通过对SDS市场的深入了解和研究,对SDS定义如下:SDS将数据中心或者跨数据中心的各种存储资源抽象化、池化,以服务的形式提供给应用,满足应用按需(如容量、性能、QoS、SLA等)自动化使用存储的需求。2.1.2GartnerGartner副总裁NeilMacDonald在其位于Gartner网站的博客上撰写道:SDS必备的四个基本特征是:Abstraction(抽象化)、Instrumentation、Automation(自动化)和Orchestration(编排)。另外,2013年10月Gartner发布2014年十大战略技术中,重要的组成部分就有:软件定义一切。Gartner认为:软件定义一切囊括了在基础设施可编程性标准提升下不断增长的市场势头、由云计算内在自动化驱动的数据中心互通性、DevOps和快速的基础设施提供等。软件定义一切还包括各种举措,如OpenStack、OpenFlow、OpenComputeProject和OpenRack,共享相同的愿景。开放性将成为供应商的目标,SDN(网络)、SDDC(数据中心)、SDS(存储)和SDI(基础架构)技术的供应商都力图成为所在领域的领导,但在恪守开放性和标准方面却可能各有各的打算。2.1.3VMwareVMware做为SDS概念的创造者,对SDS定义如下:软件定义的存储产品是一个将硬件抽象化的解决方案,它使你可以轻松地将所有资源池化并通过一个友好的用户界面(UI)或API来提供给消费者。一个软件定义的存储的解决方案使得你可以在不增加任何工作量的情况下进行纵向扩展(Scale-Up)或横向扩展(Scale-Out)。软件定义存储是VMware软件定义数据中心的五大组成部分之一。VMware认为,软件定义的数据中心,是IT演变的下一个阶段,是迄今为止最有效、恢复能力最强和最经济高效的云计算基础架构方法。SDDC方法论将对存储、网络连接、安全和可用性应用池化、抽象化和自动化,整个数据中心由软件自动控制。基础架构提供的服务将聚合起来,并与基于策略的智能调配、自动化和监控功能结合在一起使用。应用编程接口和其他连接器支持无缝延展到私有云、混合云和公有云平台。2.1.4SNIA(全球网络存储工业协会)实际上,最权威的SDS的定义莫过于SNIA对SDS的定义了,作为一家非盈利的行业组织,SNIA拥有420多家来自世界各地的公司成员以及7,100多位个人成员,遍及整个存储行业。SNIA曾先后定义了DAS,SAN,NAS,对象存储及云存储等标准。SNIA认为,SDS需要满足的是:提供自助的服务接口,用于分配和管理虚拟存储空间。SDS应该包括如下功能:自动化标准接口虚拟数据路径扩展性透明性(为了让大家更好的理解SNIA对SDS的看法,以下引用天玑数据–“小编爱翻译”曾经翻译的版本-《SNIA软件定义存储白皮书2015汉化先行版》,其中的部分内容,来对比一下传统存储与软件定义存储的区别)传统存储部署往往离不开存储管理员亲自创建各种虚拟存储设备(块存储逻辑单元,文件系统共享,对象容器)供应用使用。在后台,存储管理员还得为这些虚拟设备部署数据服务。通常情况下,单独数据服务需配备属于它的单独管理接口。一旦数据部署发生变更,存储在虚拟设备上的所有数据均会受到影响。数据请求通信经常发生其它存储接口带外传输。下图是传统人工传达数据的请求方式:如上图所示,该存储并不太“软件定义”,反而“存储管理员定义”更贴切。这种存储部署方式存在一个最大的问题,扩容艰难。由于刚性架构限制系统资源只能静态分配,这就意味着后续新部署的资源无法归入原先存储体系。该传统存储部署方式会导致较高的存储TCO(总体拥有成本)。为实现存储基础架构的自动化机制,降低人工管理运维成本,数据请求需直接传达至自动化软件,且数据请求的粒度至少需在当前常见的个体虚拟化存储设备级别。随着后续自动化机制的进一步发展,每个数据对象需独立传达自我请求,不再依赖虚拟存储设备。数据对象经由分组和抽象后,可向“用户”直接传达其选择,“用户”不必再是存储专家了。为将请求传达至存储系统,应用或用户需将请求信息标记至每个文件或对象,而元数据,或称作关于数据的“数据”,正好符合这一需求。采用记录请求信息的元数据来标记数据对象,存储系统可轻易定位获取请求信息。如图所示:下图是利用元数据传达数据的请求方式存储请求信息有时仍存在数据路径带外传输,但自动化机制终将消除这一现象。有了软件定义存储,存储管理员可转向定制策略这类更高阶的工作,不再将时间精力囿于即时突发问题的处理上,而降格自身的服务级别。下列这张综合信息图涵盖了软件定义存储的全部要点:2.1.5各家对SDS定义的共性虽然每家对SDS的定义都不尽相同,各有侧重点。但可以看出来,易于扩展(主要指在线横向扩展)、自动化、基于策略或者应用的驱动都几乎都成为大家定义中的必备特征。而这也是软件定义数据中心的重要特征,只有具备自动化的能力,才能实现敏捷交付,简单管理,节省部署和运维成本。自动化也成为各家SDS方案,是否愿意走向更高阶段的试金石。3.软件定义存储之现状各家(包括知名的咨询机构和知名的IT厂商)对SDS定义的共性的描述:“虽然每家对SDS的定义都不尽相同,各有侧重点。但可以看出来,易于扩展(主要指在线横向扩展)、自动化、基于策略或者应用的驱动都几乎都成为大家定义中的必备特征。而这也是软件定义数据中心的重要特征,只有具备自动化的能力,才能实现敏捷交付,简单管理,节省部署和运维成本。自动化也成为各家SDS方案,是否愿意走向更高阶段的试金石”。不过自动化是现阶段绝大多数SDS厂商或方案的较长远发展目标,也许需要3~8年。在此之前,还需先逐步完成抽象、池化的过程。实际上,绝大多数存储厂商还停留在抽象、池化这两个阶段。本篇主要在抽象、池化这两个阶段展开详细的交流。最早提出抽象、池化和自动化的是VMware公司,这个过程论也是VMware首倡的软件定义数据中心(SDDC)概念中的重要组成部分。那么如何理解抽象、池化、自动化呢?如下图所示,抽象其实就是软硬件解耦的过程。早先的存储,如2000年以前,大
本文标题:软件定义存储SDS
链接地址:https://www.777doc.com/doc-3194888 .html