面向两级数据中心的软件定义存储研究

2016-05-14 06:34
信息通信技术 2016年2期
关键词:存储技术存储设备虚拟化

中国联通研究院 北京 100032

引言

随着云计算应用模式的普及,互联网技术的快速发展,大数据时代数据呈爆炸性增长,传统的存储系统越来越难以满足企业IT系统在统一管理、差异化等级服务、扩展性、安全性等方面的需求。在云计算环境下,大量的数据集中存储在若干数据中心,随着数据的规模不断扩大,数据存取的瓶颈变得更加严重。为提高数据存取速度,海量数据被分布存储到不同节点以支持并行存取,通过把大量节点和网络设备连接在一起,然后以数据中心为基础向用户提供各种层次的服务,如存储服务、基础设施服务、平台服务和软件服务等。但由于不同存储厂商的存储设备和解决方案不同,软硬件紧耦合、管理接口不统一等,造成现有的存储系统缺乏灵活性,只能进行有限度扩展,无法满足用户对数据存储快速增长的需求;同时,底层不同厂商的存储设备无法形成统一、可调度的存储资源池,存储系统的管理成本开销会日益庞大。为打破传统存储系统软硬件紧耦合所造成的割裂状况, 软件定义存储 (Software De fi ned Storage, SDS)应运而生。SDS的概念最早由VMware在2012年的VMworld上提出,作为VMware软件定义数据中心五大组成部分 (计算、存储、网络、管理和安全)中的一项,逐渐进入人们的视野。 随后,EMC公司在当年的EMCworld发布大会上发布了SDS战略,引发了业界对EMC这一策略以及SDS的大讨论,SDS迅速成为存储业界的研究热点[1]。

1 存储技术面临的挑战

数据中心面临数据爆发带来的各种挑战,而作为数据存储和交换的承载实体,存储设备首当其冲。1)弹性扩展能力提升据数据统计预测,未来企业数据中心内管理的数据量将以每年增加50%。数据的爆发式增长,迫切需要数据中心的存储能力大大提升。但在提高存储容量的同时,也要保证业务应用的连续性和性能需求,这就要求存储资源具备良好的弹性扩展能力,消除单节点的存储能力瓶颈, 保持无线的节点扩展性。2)异构存储资源整合当前数据中心存在大量来自不同厂商的异构存储设备,例如SAN、NAS等。这些设备上的存储空间大多是孤立的,不能形成统一的存储资源池,也无法统一管理,造成了一定程度的资源浪费和运营管理复杂性。如何有效整合各类异构存储资源,形成统一的资源池供应用调用,是当前数据中心面临的一大问题。3)智能化资源管理随着业务需求的发展,需要数据中心的存储资源能够根据需求快速灵活地自动和动态分配,实现智能化的存储资源管理。4)差异化服务等级由于数据存储选择LUN时并不考虑每个应用的性能和可用性要求,因此,难以在存储方面保证不同应用的服务等级,以确保重要业务的存储性能[1-2]。

2 软件定义存储定义

软件定义存储是一种数据存储方式,通过标准化、抽象化(虚拟化)等将原来高度耦合的一体化硬件解耦,并以API的方式建立虚拟化软件层,把存储应用程序与物理的数据存储基础设施分离,自动进行硬件资源的部署、 优化和管理,将各类存储资源进行抽象化和池化,可以灵活配置存储资源,实现应用按需求(如容量、性能、QoS、SLA等)自动使用存储,为应用提供服务。通过软件定义可管理来自不同厂商的所有物理和虚拟存储资源,可以在不增加任何工作量的情况下进行纵向扩展(Scale-Up)或横向扩展(Scale-Out),并按需进行自动配置,轻松地将所有资源池化,并通过一个友好的用户界面(UI)提供给应用。软件定义存储应具有以下特征。

1)自动化简管理支持异构存储设备快速接入和统一管理,对异构存储池中的所有资源实施一致的策略,对存储的使用像为每个应用或虚拟机指定容量、性能和可用性要求那样简单。最大限度地利用底层存储资源,同时,将管理开销降至最低,降低维护存储架构的成本。

2)标准接口对外提供丰富的数据接口,如文件系统接口(NFS、CIFS 等)、块接口(iSCSI、FC 等)、对象接口(S3、 SWIFT 等);对内提供标准的应用管理接口进行存储配置,无需人工干预,满足应用和客户所需的存储资源。

3)存储虚拟化存储虚拟化可以聚合异构存储资源到一个共享的存储池,对所有存储设备中的存储容量进行充分利用,实现数据跨异构孤岛,数据无缝迁移,方便管理。

4)扩展性在不中断业务应用的情况下可提供可靠性和性能的无缝扩展;对资源池可进行纵向扩展或横向扩展。

5)硬件无关软件定义存储允许运行在通用的硬件设备上,用户不必采用特定厂商的存储硬件[2]。

3 软件定义存储架构

3.1 系统需求

1)跨数据中心统一管理随着数据增长,存储规模越来越大,当存储容量达到EB、ZB级后很难在一个数据中心内组织资源管理,需要跨数据中心进行数据存储服务,并支持跨域访问、容灾备份、异地双活等能力。

2)面向业务的管理策略传统存储系统存储资源与业务独立,新的存储系统需要针对业务进行专业化的策略管理,如根据业务的变化弹性配额、根据业务量的变化弹性存储性能扩展等;提供对租户和业务的隔离以及以用户为单位、以业务为单位、以存储容器为单位的数据隔离。

3) 智能调度和自动负载均衡新的数据中心存储系统的存储节点规模从几万到几十万个,对超大规模的数据请求和节点数,应进行高效的负载均衡,充分发挥空闲节点保障存储服务质量,提高系统运行效能;并根据存储设备性能(如容量、类型、性能等)为业务选择合适的存储资源,对业务进行SLA的多层次自动负载均衡和调度功能。

4)弹性扩展当需要调整存储资源池时,可在业务不中断或尽量减少对业务影响的情况下对存储资源池进行增加或减少存储设备[3]。

3.2 参考架构设计

综合两级数据中心特点,结合软件定义存储的特征,需要着重考虑软硬件解耦、灵活存储管理配置策略、智能的存储能力以及存储资源扩展性等因素,软件定义存储的技术架构如图 1 所示。

图1 软件定义存储技术架构

软件定义存储系统主要分为4个逻辑层,即访问层、软件定义存储层、适配层和存储资源池。每一层扮演着不同的角色,功能也有所不同。1)访问层主要包括管理接口和数据接口,管理接口主要提供与管理门户、计量计费相关的接口;而数据接口则通过协议转换的方式为外部应用提供丰富的数据接口,如块存储接口、对象存储接口、文件存储接口、HDFS 接口等。2)软件定义存储层对底层存储资源统一管理和池化,基于存储设备的性能、应用需求性能、可靠性等指标进行相关策略配置,为不同的应用分配适合的存储资源,实现存储资源的按需供给以及弹性调整;同时,通过软件定义可以实现快照、数据复制、压缩加密等功能。3)适配层主要通过中间件提供多种访问接口实现对底层异构存储系统或设备的访问或管理。4)存储资源池中包含业界主流的存储类型:分布式存储、SAN存储、NAS存储或对象存储,由软件定义存储层进行统一管理和调度,为外部的应用提供存储服务[4-5]。软件定义存储逻辑架构如图2所示。

图2 软件定义存储逻辑架构

4 软件定义存储技术分析

当前软件定义存储技术还处于快速发展的初期,各大存储设备厂商纷纷对外发布具有软件定义概念的存储产品,但各家对软件定义存储理解不同, 国际上尚未形成统一的标准规范,所以,各家产品形态也不尽相同。通过业界典型的软件定义存储产品技术,可以进一步明确软件定义存储的技术形态,剖析技术未来的发展路线。

4.1 VMware Virtual SAN(VSAN)

VMware VSAN是专为虚拟机设计的软件定义存储技术,与VMware的服务器虚拟化技术和虚拟机环境管理程序紧密结合在一起。VSAN运行在标准x86服务器上的直连存储,利用服务器本地SSD硬盘作为缓存,提供性能,同时结合使用本地HDD硬盘来为虚拟机提供分布式数据存储容量,而不需要使用任何特殊的硬件。 VSAN是分布式的服务器集群,基于对象的分布式体系结构把虚拟机数据文件打散放在多个主机上,可以有效地避免任何单点故障带来的影响。在网络功能的支持下,VSAN可以将存储空间延展到最多32个节点。由于VSAN技术采用服务器的本地磁盘提供存储容量,且不需要特殊的硬件支持,在性能大致相当的情况下,相对传统的专用存储设备,可以大大降低成本;可以利用VSAN技术充分利旧原有的服务器,使服务器本地存储充分发挥作用。VSAN的工作模式也很好地契合大数据Hadoop处理架构,但VSAN是专为VMware虚拟机设计的存储技术,与VMware虚拟化环境紧密结合,只用于VMware的网络建设,这大大限制了VSAN技术的应用范围[6]。

4.2 EMC ViPR

EMC的ViPR作为最早冠以软件定义存储名号的产品,是一种将存储转变为一个可扩展开放平台的纯软件解决方案。ViPR使用单个平台进行存储的集中化和自动化管理,并可以跨越混合存储类型和不同厂商的磁阵来交付存储服务。在ViPR架构中,控制平面与数据平面分离,两者可以一起使用,或者客户通过基于策略的自动化,只使用控制平台管理存储阵列的底层智能。ViPR控制器将底层的存储基础架构完全虚拟化,采用自动化的方式进行存储资源的管理和调用。其中,配置和迁移之类的通用存储管理功能已经抽象出来,这样,不同的存储阵列可以作为单一的池化资源,以完全相同的方式进行统一管理。这些存储池一旦建立,将由多个应用划分使用。应用程序可以根据存储服务目录,配置最适合其需求的存储资源。ViPR数据服务提供兼容Amazon S3和OpenStack Swift的REST API和 HDFS访问方法,基于这些API编写的应用软件应用可以直接运行。ViPR数据服务支持EMC的阵列,同时也支持第三方阵列和商品化存储硬件。业务应用可以基于实际负载,确定合适的性能、服务质量和成本特性[7]。

4.3 HP Virtual Storage Appliance(VSA)

VSA是一种纯软件的存储解决方案,既可以安装在物理服务器上,也可以用于虚拟化环境。VSA部署在通用的x86服务器上,对硬件没有特定要求,通过HBA或者RAID卡以直通模式连接本地服务器硬盘,或者连接外部存储设备(如DAS或者SAN)。在虚拟化环境中,VSA可以管理由Hypervisor创建的虚拟硬盘,将这些存储资源整合为一个统一的资源池进行管理。在VSA部署的x86服务器构成的集群中,每台服务器上都会有一个VSA控制器用于数据管理和提供高级存储功能,如自动精简配置、自动分层存储以及快照等,实现自动化的存储资源配置和调度。另一方面,利用基于RAID的数据保护技术将多个VSA聚合形成集群从而实现分散物理存储资源的整合,以软件定义的方式为集群提供可扩展性和可靠性。VSA实现存储资源控制平面和数据平面的软件功能,通过解除数据平面的软件功能与具体的物理硬件的耦合来实现控制平面和数据平面都不依赖特定的硬件。这样,VSA可以使用现有通用服务器、DAS及SAN存储硬件,实现存储资源的整合和统一调度。

5 结语

尽管软件定义存储技术还处于初期阶段,各厂商具体实现方式也不同,但从技术发展演进的角度来看,总体发展却都大致统一[8]。 首先,软件定义存储技术要实现异构存储的统一管理,对外提供统一的存储资源池。其次,对底层存储资源实现监控管理,提供统一存储服务的应用接口,实现完全开放的存储资源管理和调度平台。最后,实现向业务应用提供按需供给的弹性扩展服务模式,实现存储服务的自动化管理,满足业务应用对存储弹性扩展和智能调整的需求。

通过软件定义的存储,可以动态满足应用的存储需求,应用的存储负载可随着业务量的变化而底层存储实时调整存储工作负载,满足客户的SLA,简化自动化管理流程,并确保服务始终在线,并降低运维成本。

参考文献

[1] 刘园,王峰,杨明川.面向大数据的分布式存储技术研究[J].电信技术,2015(6):33-36

[2] 詹明非.软件定义存储技术及其应用研究[J].电信技术,2014(12):30-32

[3] 孙振正,龚靖,段勇,等.面向下一代数据中心的软件定义存储技术研究[J].研究与开发,2014(1):39-43

[4] 许宁宁.云平台中软件定义存储资源[J].通信设计与应用,2015(11):117-118

[5] 王意洁,孙伟东,周松,等.云计算环境下的分布存储关键技术[J].软件学报,2012(4):962-986

[6] VMware推新VMware VSAN对软件定义存储进行了扩展[EB/OL].[2016-02-20].http://www.d1net.com/storage/solution/233736.html

[7] EMC发布全新软件定义存储平台ViPR[EB/OL].[2016-02-20].http://storage.chinabyte.com/146/12608146.shtml

[8] 陈杰.大数据场景下的云存储技术与应用[J].中兴通讯技术,2012(6):47-51

猜你喜欢
存储技术存储设备虚拟化
基于OpenStack虚拟化网络管理平台的设计与实现
关于计算机网络存储技术分析
对基于Docker的虚拟化技术的几点探讨
浅析虚拟化技术的安全保障
H3C CAS 云计算管理平台上虚拟化安全防护的实现
多级分布式云存储技术在公安领域的应用研究
Windows 7下USB存储设备接入痕迹的证据提取
数据存储技术的应用
浅析铁路视频监控存储设备设计
浮式平台水下电缆( 立管) 快速解脱及存储技术研究