irvinyun1
作者irvinyun1·2016-05-05 16:05
技术总监·东方证券

软件定义存储与云计算

字数 4101阅读 8968评论 0赞 5

一、           前言

近年来,随着云计算技术的发展,各种各样的新技术层出不穷,软件定义存储(SDS)就是其中一个。软件定义存储是为何而生,它和传统存储设备有何异同,能否应用于传统行业的数据中心,如何用,这些是摆在我们面前的一个个需要理解并解决的问题。

二、           产生的背景

先来介绍软件定义存储产生的背景。任何一种能够在商业上取得成功的产品都会首先存在一些现有产品无法解决的需求;然后某几样必须的底层技术取得了突破性的进展;最后一种新架构的产品出现,将那些取得了突破的技术组合起来,解决了原来无人能搞定的需求。软件定义存储也同样是这样一种产品。

1.  需求端

随着云计算的推广应用,传统存储完全无法满足云计算的海量存储需求。传统存储的架构是以控制器为核心,从双控到16控,带上一大堆磁盘,紧耦合,scale up 扩展。容量中端一般数百TB以下,高端能到几个PB,仅此而已。同时安装部署复杂,部署、变更均需要专业人士详细规划后方可实施,部署周期以月计,变更周期以天计算,扩容困难。

这样的架构,保障数据中心的核心业务数据,尚能够满足要求。而自从虚拟化技术在数据中心推广应用以来,数据中心对存储的需求产生了爆发式的增长。原因很简单,在数据中心部署虚拟化以前只有核心业务数据需要部署在存储上,而部署的虚拟化以后,整个数据中心都需要部署在存储上。这样大规模的转变大大提升了数据中心对存储的要求,无论是从容量上的,性能上的和管理上的。仅就容量而言,因为虚拟化建设,数据中心的存储容量需求就增加了5-10倍。而对性能需求而言,传统的数据库对存储性能的需求往往是可预测的。而对虚机而言,因为牵涉的应用数量众多,存储分布更加混合复杂,导致虚机对存储的性能的需求更加变化多端,难以预测与规划。这导致传统存储系统在底层硬件架构就在天然无法满足虚拟化对存储的需要。

而数据中心的发展没有仅止于此,技术系统规模的爆发式增长,导致原有的系统架构无法满足业务发展需要。以谷歌为代表的互联网企业,他们的业务系统规模是传统企业IT系统规模的数十、数百倍计。传统企业的IT系统规模也都在快速膨胀。采用云计算技术,选择公有云或建设私有云纷纷成为企业IT基础架构建设的新选择。面对云计算要求存储能够弹性扩容,超大容量,海量用户,IO需求完全不确定,快速变更,传统存储完全不知道如何招架。云计算架构在逐步成型、深化发展的过程中,又提出了大量原有存储系统无法覆盖的管理性需求。比如多租户、确定性的IO性能保障、数据分层、数据消重、大规模存储控制,用户自服务等等不一而足。传统存储厂商试图基于原有的存储设备,加入存储虚拟化层或软件管理接口层来实现和满足上述需求,但由于底层硬件和软件堆栈过于复杂,实现起来成本费效比不高,导致很难取得商业成功。

这就要求存储系统从底层硬件架构到最上层的软件管理接口必须进行一次重构,以全新的架构和思路来满足云计算的要求。

2.  底层技术

从底层技术发展的基础端来看,万兆网和SSD技术的成熟解决了原有制约存储系统向分布式方向发展的技术瓶颈,成为了支撑软件定义存储发展最重要的技术基础。

万兆网的网络带宽第一次超越了传统SAN网络、FC总线和SAS总线的带宽,同时网络延时降低到了仅100微秒,这就为大规模存储互联提供了一个高效的网络平台,使存储的大规模平行扩展成为可能。

SSD对比传统的机械磁盘,具备读写速度快、能耗低、体积小等优点,核心问题是数以十倍计地提升了存储的单盘读写性能。这使得存储节点能够在非常有限的空间内提供原来需要大量机械磁盘才能提供的IO能力。使数据分层、确定性的IO保障成为可能。

3.  全新的架构

依托万兆网络和SSD技术的进展,分布式、虚拟化架构的软件定义存储逐渐走上舞台。它从架构上天然具备弹性扩容、超大容量与性能、快速部署、确定性IO保障的特性。十分容易地成为云计算建设的基础组件。

三、           定义

那什么是软件定义存储呢?这里不想给出一个晦涩的描述性的定义。我想从它的主要组成元素、架构核心思想、与传统存储的比较来多角度的解释什么是软件定义存储。

1.  主要组成元素

软件定义存储的主要组成元素为:

Ø  通用标准的服务器做为硬件载体

Ø  分布式存储软件,实现存储功能,强制多副本,强制分布式部署

Ø  面向云计算管理平台的软件接口,实现云计算的自动化要求。

2.  核心思想

软件定义存储的架构核心思想在于硬件解耦、软件定义、弹性扩展、资源融合:

a)       硬件解耦:软件定义存储抛弃了专用定制的存储硬件产品,采用标准的通用硬件平台,使存储的发展摆脱了硬件厂商的绑定,大大降低了存储部署的复杂性和成本。

b)       软件定义:存储功能的实现完全依赖于软件组件,而与硬件无关,这样天然为云计算管理平台实现对存储资源的自动化调度管理和用户自服务提供了可能性。同时在架构上实现了软件自愈性,只要系统可用容量具备,存储系统的组件故障可以被自主修复。

c)       弹性扩展:软件定义存储的分布式架构决定了存储系统可以按照资源池化管理,系统可以根据实际的容量性能需求进行部署,同时伴随需求的变化进行快速的部署扩展。

d)       资源融合:软件定义存储在实际市场应用中产生了变形,就是所谓的超融合架构。它将存储资源与计算资源进行了融合,未来可能与网络资源同样进行融合。将整个基础架构的硬件资源完全模块化。

3.  与传统存储的比较

软件定义存储从架构上是对传统存储的颠覆性的产品。它和传统存储有以下不同:

 

软件定义存储

传统存储

硬件架构

标准化、通用的服务器硬件

可以消除厂商绑定

专有存储硬件

采购垄断封闭

系统架构

模块化、去中心化,分布式,scale out 扩展

以控制器为核心,紧耦合,scale up扩展

资源调度

可以在节点模块间灵活调度

只能在存储内部调度

系统部署、扩容

客户需求能够在分钟级内通过客户自服务分配。

系统整体容量扩容可以在数天内完成。

客户需求需要专业人士处理,需要数天完成。

系统部署扩容复杂,项目实施以月计

性能

单节点性能固化,系统性能线性扩展。

存储整体性能固化,局部应用性能需详细规划配置。

成本

采用通用设备,系统成本随容量线性增长。

专有设备,越高端成本越成本高昂

软件堆栈成熟度

有待考验、大量存储专业功能缺失

发展数十年,较成熟。

适应场景

云计算环境

核心业务数据部署

从上述分析来看,软件定义存储与传统存储各有优缺点,是为了不同应用场景设计的不同产品,因此它们的应用也应该扬长避短,选择适合自身的应用场景去部署。

四、           金融行业的应用场景

从上文的论述可以看出,软件定义存储天生是为满足云计算和虚拟化而生的技术系统,因此,软件定义存储在金融行业的应用场景首选应该是企业的私有云建设。

金融行业应该说是IT密集性行业,各种各样的业务实现无不依赖于IT系统。而近年来互联网金融业务的快速发展,对IT基础架构提出了非常苛刻的要求。因此,金融行业的数据中心纷纷开始了私有云的建设。在私有云建设的方案选择上,存储系统的建设部署是非常重要的一环。随着软件定义存储的逐渐成熟,它以其在架构上的天然优势,应该成为金融行业私有云建设的不二选择。

同时需要注意到的是软件定义存储还存在和计算资源、网络资源融合的趋势。近年来超融合架构的相关商业化产品也逐渐成熟,得到了很多推广应用。未来私有云建设很可能是基于同一组标准化、通用化硬件上的三种软件组件:服务器虚拟化、软件定义存储和软件定义网络来共同构成私有云的基础通用组件。然后再基于个性化的私有云管理软件来完成私有云IaaS层面的建设。

金融行业又是对系统的安全稳定运行要求极高的行业,而软件定义存储或者超融合架构还处在发展成熟的过程中,因此,有必要充分认识和识别其中的风险,并予以规避。

首先要认识到,软件定义存储尽管在硬件架构上消除了单点故障的风险,并具备一定的系统自愈能力,但系统的所有冗余特性,稳定可靠均依赖于存储软件。存储软件是否足够健壮、可靠,还需要时间的检验。因此,在系统应用部署时应充分考虑相关风险,在部署架构上予以规避。

其次要认识到,尽管软件定义存储的性能、容量可以随着节点线性扩展。但业内大规模部署的案例毕竟较少,行业应用案例缺乏。要明确认识到所使用的软件定义存储的性能和容量边界,与应用部署需要进行充分磨合。要抵抗新架构使用后带来的便利性伴随而来的扩展冲动。要控制应用节奏,逐步推进。

然后,还要充分认识到软件定义存储相较传统存储而言,在数据同步复制、数据迁移、性能的精细化规划方面存在天然的缺陷和发展的不够成熟。因此在目前阶段还不能够取代传统存储。金融企业对数据存放的安全、稳定、可靠要求仍然需要依赖于传统存储。

综上所述,软件定义存储是为云计算而生的新型存储架构,它很好地解决了企业在云计算建设过程中的痛点,会成为云计算建设的主流存储解决方案。但现在来看并不是传统存储替代者,而是各有各的应用场景。同时作为新生事物,企业需要在应用的过程中充分识别风险,并采取措施规避风险,逐步推进,才能取得成功。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

5

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广