“软件定义”是IT世界最热的词之一,从软件定义网络(SDN)、软件定义存储(SDS)、软件定义数据中心(SDDC),再到软件定义一切(SDE)。SDS是软件定义中相对比较具体,比较容易落地的概念,但是业界对SDS解读和定义非常多,让人无所适从。SDS到底是什么?我们该如何理解其本质?技术发展到什么阶段,行业对SDS的态度和看法?我们存在哪些问题和挑战,要不要向SDS转型?如果转型,我们准备好了么,该怎么拥抱SDS,让IT平滑过渡?
面对一系列问题,试着从What、Where、Why、How四个方面,梳理SDS的脉络,找出其内涵和本质,借助第三方数据判断其发展阶段,分析自身存储的问题和面临的挑战。最后结合云的大趋势,介绍统一管理面双模数据面的双模存储架构如何将SDS落地实现,传统企业存储和SDS在数据中心应用场景,存储服务该怎么设计,业务需求如何转换为存储需求。
What
SDS是什么?
IDC、Gartner、SNIA等第三方机构都对SDS进行了定义和说明,还有很多出版发行的书籍也对SDS有一些理解,各方的视角不同、方法不同、观点不同,但相同的是SDS核心概念和分类。
提到SDS不得不说软件定义其它概念SDE (Software Defined Everything)、SDI(Software Defined Infrastructure)、SDDC(Software Defined Datacenter)、SDN(Software Defined Network)等,软件定义的本质对现实世界的抽象建模和算法,以SDDC为例,其主要特点有虚拟化(标准化、易扩展的共享资源池)、可编程(API可编程设备、计算存储网络软件控制器)、抽象化(分层抽象建模,应用与基础专业之间,基础专业相互之间并行解耦运维)、服务化(服务化封装交付,动态分配绑定、自动化编排调度)、分布式(大规模分布式计算、存储、网络集群拥有独立分离的管理控制软件)。SDS是SDDC的组成部分,包含了几乎所有SDDC特性,比如共享资源池、抽象建模、可编程、分布式和服务化。
SDS的核心概念比较多,IDC和Gartner对其进行分类。IDC将SDS分为SDSControllerSoftware和ServerBaseStorage,Gartner将SDS分为ManagementSDS和Infrastructure SDS,两种分类方法通俗的讲是管理面SDS和数据面SDS。OpenStack的Cinder属于典型的管理面SDS,CEPH则属于典型的数据面SDS。
Where
SDS当前处于什么发展阶段?
大家都在热谈SDS,一大批产品出现,大批客户或在研究或已经使用,那么SDS目前处于什么发展阶段呢?从存储技术的HypeCycle 2016和2017对比看,ManagementSDS还处于萌芽期,发展速度很慢,2017从High降低到Moderate,说明发展态势并不太好。InfrastructureSDS即将渡过“热情高涨”时期,说明已经有大量的技术前沿客户部署,同时Open-SourceStorage与InfrastructureSDS趋势趋同,略有延后。SDS热度的“热源”,就是来自InfrastructureSDS和Open-SourceStorage。
Why
驱动力
在云的大趋势下,传统数据中心遇到很多问题和挑战,这些问题和挑战是SDS重要的驱动力。
一、传统数据中心往往是面向设备和技术,而不是面向服务,与云的服务化、自动化思路不符
- 用户申请存储资源的场景PK:
传统数据中心DBA与存储管理员的对话:
DBA:“我需要5块VMAX的LUN,每块100GB,用在AIX环境,性能越快越好,最好是双活的,……”。
存储管理员:“VMAX没有资源了,VSP行不行”
DBA:“VSP怎么样,比VMAX快不快”
存储管理员:“两个产品性能指标相差不大”
DBA:“以前都是VMAX,VSP到底行不行”
存储管理员:“……”
软件定义数据中心DBA与存储管理员对话:
DBA:“我需要1TB SAN存储用于联机交易数据库,响应时间要求<3ms,IOPS不低于5000”。
存储管理员:“好嘞,”
存储资源管理方式PK:
传统数据中心:“我有2台DS8800,2台VMAX,1台SVC”
软件定义数据中心:“我有1个资源池,可用性:园区双活99.999%,性能:<3ms,功能:Thin,分层,复制”
二、传统数据中心运维存在效率低和风险大的问题
人工操作导致效率低下。存储管理员从收到请求、准备变更、审批变更、实施变更,至少一周以上,无法满足业务快速部署要求,与云的按需供应相去甚远。
存储的标准化程度低导致运维复杂。一个数据中心可能有N个品牌、N个型号、N个规格、N人N种操作方法。
复杂环境的人工操作是产生事故的主要原因。复杂环境下,人工操作很难执行标准化操作,变更失误的可能性大幅提高。人执行操作,无论怎么控制都无法根本上杜绝误操作。
三、传统存储的纵向扩容方式越来越不能适应云环境
在一个传统数据中心,SAN存储资源不够,会考虑新购一台或者在原有设备上扩容,两种方式都存在一些弊端。新购一台,意味着扩容步长就是一台存储的容量,对于大型数据中心尚可,对于中小型数据中心,一次扩容相当于1-2的需求,扩容的资源面临长时间闲置。在原有设备上扩容,则意味着要接受比原有设备更高的价格,扩容还会收到容量上限约束。因此,纵向扩容的技术限制,导致容量规模受限,扩容方式成本高,扩容周期不灵活等等局限性。
四、SDS成为解除“厂商绑定”的重要技术
被厂商绑定是数据中心普遍存在的现象,这里说的绑定不完全代表“贬义”,是相对于自主可控而言的。如果技术实力足够强,可以自主可控,减少厂商绑定,如果技术实力不够强,或者重心不在存储技术,也可以选择“被绑定”。
自主可控的程度大致可以分为集中情况:SAN或NAS,软件和硬件都需要依赖厂商;商用的分布式存储软件(比如VSAN、Nutanix),则只需要依赖软件厂商,硬件采用标准、通用的X86服务器;开源的分布式存储软件(比如CEPH),则安全自主,不依赖软件和硬件厂商。
SDS,特别是开源的SDS成为自主可控,不再被厂商绑定的一种可选的技术路线,逐渐成为一种趋势。
五、云的大趋势驱动SDS发展
公有云服务商AWS、阿里云、腾讯云等,互联网公司Facebook、新浪等几乎全部采用自主研发的分布式存储,从SDS定义来看,公有云的分布式存储也属于SDS一种,公有云的SDS已经成为一种趋势,势不可挡。
开源SDS的兴起,CEPH是InfrastructureSDS的代表,Openstack Cinder、Manila是ManagementSDS的代表。Openstack与CEPH已经成为一种标准组合,正在各个行业应用,需要密切关注。
How
顺势而为
一、 趋势分析
正如HypeCycle报告中预测,ManagementSDS还处于萌芽期,InfrastructureSDS刚刚渡过高涨期,接下来还需要一定时间的冷静期,预计5-10年大规模应用。
不过我认为Gartner有点保守,在云的大趋势下,Infrastructure SDS在3年内估计就会普及,需要密切关注,提前使用或者储备基础。Server SAN是ManagementSDS的主要实例化形态,今后将逐渐取代传统存储,详细内容可以参考Wikibon分析报告
ManagementSDS产品Openstack的Cinder、Swift、Manila发展最好,但是受Openstack整体影响较大,Openstack属于另一个话题,不在本文讨论。无论ManagementSDS今后怎么发展,其抽象建模、自动自助、可编程、服务化的核心本质不变,现在就需要加大投入。
SDS的应用场景很多,在企业环境,SDS主要应用在VM环境,数据库场景应用还较少;互联网公司SDS主要应用在VM、图片、视频、邮件等环境;商业软件占主导地位,开源逐渐成熟。
二、 统一管理面双模数据面策略
InfrastructureSDS是未来趋势,但是传统数据中心的关键应用仍然依赖IOE的E,预计未来一段时间将维持两者共存的局面,即双模数据面。面对双模数据面,ManagementSDS可以对两个平面统一抽象建模、统一编程、统一资源池管理、统一服务接口,形成统一的管理面。
技术视角:传统企业存储与分布式软件定义存储共存,标准化配置和参数
服务视角:统一的存储服务设计,按需自助服务、敏捷弹性交付存储服务
运维视角:统一的运维体系设计,存储资源池化、标准化的分层模型
三、 统一管理面双模数据面架构
虚拟机、数据库和文件是三种主要的数据存储形式,各有各的特点,对存储的需求各不相同,在统一管理面双模数据面架构中的关系如下图所示。
虚拟机构建在虚拟化平台之上(主流的KVM、VMware等),主要运行应用的Web和AP,当前阶段大多数企业已经实现应用的集群化,具备横向扩容能力和容错能力。因此虚拟机环境更适合运行在SDS环境,利用SDS的分布式能力,更好的配合应用集群横向扩展。虚拟化环境采用SDS已被很多企业采用,正成为一种趋势。
SDS的出现,数据库的存储有了更多的选择,随着SDS在可用性、性能、成本的优势不断增强,非核心业务的数据库会率先向SDS迁移。
SDS最初的应用场景是分布式文件系统和对象存储,也是SDS最成熟的场景,AWS的S3,百度云盘、微盘等都是基于对象存储实现。除了互联网、公有云之外,企业中也在广泛应用对象存储,但是由于数据中心原有应用一般采用文件访问接口,无法平滑移植到对象存储,NAS存储在一段时间内也会存在。
无论哪种应用、哪种存储形式,都可以基于统一的管理平面进行抽象建模、编排调度、自动化和资源池管理。管理平面属于云平台的一部分,北向提供API接口,南向通过驱动调用各种形态的存储,编排调度可以在管理平面实现,也可以现在放在云平台统一调度。
四、 存储服务和资源池化
服务化是ManagementSDS的基础,将双模数据面中的存储进行抽象建模,形成标准的服务规格、SLA、计量和计费。存储服务最核心的两个纬度是可用性和性能,通过对可用性和性能数据统计分析建模,形成相应的级别。下图是存储服务级别的一个示例,可以根据自身情况进行调整。TierI、II、III是可用性的三个级别,分别代表99.999%、99.995%、99.99%可用性级别。Diamond、Platinum、Gold、Silver、Bronze是五个性能级别,每个级别表示不通的响应时间和IOPS指标。将可用性和性能级别的交叉矩阵就是可以提供的存储服务全集,再根据自身需求和技术发展情况确定要提供的存储服务。
五、 业务需求通过自动化编排映射到服务能力
存储服务对外通过API暴露自身的能力,业务需求通过统一的编排调度,将业务需求“翻译”成对应的能力,最终交付合适的存储服务。