购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 SDS之池化篇

抽象和池化密不可分。

池化就意味着存储资源打破以往各自为政的割据局面,不受硬件的限制,能被自由地分配、使用和调度。 池化包括存储虚拟化和存储标准化 ,而存储虚拟化指所有存储资源的虚拟化。存储虚拟化最早可以溯源到IBM AIX LVM(逻辑卷管理器)和HP EVA的vDisk技术。HP的EVA技术,准确说是源于Compaq,甚至是DEC的VA。

大约在2004年、2005年,新兴的存储厂商Compellent和EqualLogic(这两个公司后来被DELL收购),3PAR和LeftHand(这两个公司后来被HP收购),XIV(后来被IBM收购),Pillar(后来被Oracle收购)的块级虚拟化,打破了以往RAID Group的限制,支持精简配置(Thin Provisioning)的功能,无须预先分配物理空间,实现写多少分配多少的策略。

下面我们系统、全面地介绍一下存储虚拟化,以SNIA的阐述为主。

2.2.1 SNIA对存储虚拟化的解释

SNIA认为,存储虚拟化通过对存储(子)系统或存储服务的内部功能进行抽象、隐藏或隔离,使存储或数据的管理与应用,服务器、网络资源的管理分离,从而实现应用和网络的独立管理。对存储服务和设备进行虚拟化,能够在对下一层存储资源进行扩展时进行资源合并,降低实现的复杂度。存储虚拟化可以在系统的多个层面实现。

SNIA提供的存储虚拟化模型(图2-5),包括以下三部分。

1.虚拟化什么

针对不同的存储设备和数据形态,有多种形式的虚拟化资源:虚拟数据块、虚拟磁盘、虚拟磁带或磁带库、虚拟文件系统或者其他虚拟设备。

2.在哪里虚拟化

存储虚拟化可以在不同的层面上进行。

(1)基于主机/服务器的虚拟化

主要用途:使服务器的存储空间可以跨越多个异构的磁盘阵列,常用于在不同磁盘阵列之间做数据镜像保护。

实现方式:一般由操作系统下的逻辑卷管理软件完成(安装客户端软件),不同操作系统的逻辑卷管理软件也不相同。

常见产品:IBM AIX LVM、Linux LVM、Veritas Volume Manager等。

图2-5 SNIA存储虚拟化模型

(2)基于网络的虚拟化

主要用途:异构存储系统整合和统一数据管理。

实现方式:通过在存储域网(SAN)中添加虚拟化引擎实现。

常见产品:EMC VPLEX、IBM SVC、飞康FreeStor、EMC Invista。

(3)存储子系统虚拟化

主要用途:在磁盘阵列内部实现灵活调用存储资源。

实现方式:块级虚拟化,精简配置等。

常见产品:DELL EqualLogic、DELL Compellent、HP 3PAR、HP LeftHand、IBM XIV、Oracle Pillar等。

3.如何进行虚拟化

根据数据流与虚拟化引擎的相对关系,虚拟化方法有以下两种。

(1)带内In-Band

这是目前使用最多的方式,它可以在存储系统、网络、主机、文件系统上实现。

(2)带外Out-of-Band

这种方法需要在存储网络(SAN)上实现,如图2-5所示。

2.2.2 SNIA之存储标准化建议:SMI-S

有时,会有人误以为软件定义存储就是类似IBM SVC、EMC VPLEX这类基于网络的存储虚拟化,而实际上后者只是存储虚拟化的一部分,是软件定义存储非常小的一部分。

基于网络的存储虚拟化,能够跨越异构的磁盘阵列,在更大的范围,如数据中心内,形成一个大的存储资源池,统一分配和监控来自不同存储厂商的存储资源。

当我们讨论池化,也即异构存储之间的管理的时候,一定会涉及存储标准化,只有当大家开放接口并遵循共同的标准(也即规范)的时候,也就是用相同的“语言”对话时,才有可能被调用、被管理。

随着用户的数据不断增加,为了不被单一厂商锁定,规模较大的用户的存储网络往往包含了来自多个存储厂商的外置磁盘阵列,每个阵列都有自己的存储管理软件,这些阵列之间缺乏互联互通,管理复杂度增加。为了解决这一个问题,2002年,SNIA(全球网络存储工业协会)提出了存储管理建议规范SMI-S(Storage Management Initiative Specification),希望在存储网络中的存储设备和管理软件之间提供标准化的通信方式,从而使存储管理实现厂商无关性,使得存储管理系统具备鉴别、分类、监控和控制物理及逻辑资源的能力,提高管理效率,降低管理成本,促进存储的发展。

SMI-S是一种中间件性质的规范,定义了存储管理软件和受管对象之间的交互机制。它提供了多种特性以简化SAN的管理。首先,在SMI-S标准中定义了统一的数据模型,使用基于Web的企业管理(Web-Based Enterprise Management,WBEM)技术和公共信息模型规范(Common Information Model,CIM),SMI-S的代理可以与交换机、磁盘阵列等各种支持CIM的设备进行交互,获取其管理相关的数据并返回给请求方。使用SMI-S可以免除设计管理数据传输机制的麻烦,对各种设备和组件直接进行带内或带外的管理,甚至两者并用。SMI-S还提供了基于HTTP的CMI-XML传输机制,以增强适用性。

SNIA对于SMI-S标准寄予了很高的期望,跨越的版图非常宏伟。从图2-6(摘自Storage Management from SMI-S to Management Frameworks),可以看出来,它希望做到,存储管理软件能够识别磁盘阵列、光纤交换机、IP交换机、磁带库、FC HBA卡、iSCSI HBA卡等各种各样与存储相关的设备,并通过存储管理服务,自动发现、部署和配置存储资源。

图2-6 SNIA SMI-S

SMI-S标准发布以后,得到了大多数主要存储供应商的支持,截至2015年,已经超过500个产品支持SMI-S标准。最新的标准是SMI-S v1.6.1,在SNIA官网能够下载到详细的规范,规范包括8篇文章,其中的一篇Storage Management Technical Specification,Part 4 Block Devices,长达1144页。仅仅关于Automated Storage Tiering的描述就长达77页。

在推行这一标准的过程中,SNIA也曾直言不讳地提到了自身面临的问题:

1)SMI-S标准走向市场的时间漫长。

2)存储厂商研发新特性的过程中,规范的确立花费1年,厂商实施再需要6个月(笔者持怀疑态度),用户方接受并实施需要2年甚至遥遥无期。

3)需要加速标准走向用户的过程。

2.2.3 存储虚拟化实例剖析

下面我们以基于网络的存储虚拟化为例,详细剖析一下它是如何实现存储虚拟化的。

从市场上看,基于网络的存储虚拟化比较知名的有:EMC VPLEX、IBM SVC、HDS VSP、Symantec Storage Foundation、飞康的FreeStor。它们都能或多或少地将其他厂商的存储纳入自己的存储平台之下进行管理。但这种管理,也只是将异构存储的逻辑卷作为一个外来设备使用,把它视为一个普通的存储容器,不知道它能提供多大的性能,也丧失了异构存储内嵌丰富的软件特性,例如自动分级、快照、容灾等。

以IBM SVC为例,这个在2003年以前就诞生的存储技术,在存储虚拟化领域,在很长的一段时间内技术都比较领先。

如图2-7所示,IBM SVC针对其内部盘,按照RAID方式(如8块盘)创建出Mdisk,再将多个Mdisk形成存储池,在池上创建逻辑卷VDisk(Virtual Disk,现更名为Volume)。

图2-7 IBM SVC中物理盘、逻辑卷、Mdisk、extent的关系

在IBM SVC这个存储管理体系下,也能管理异构存储,支持对HP(MSA、EVA、XP)、EMC(CX、DMX)、NetApp(FAS)、Hitachi(AMS、WMS、99xx系列)和DELL(Compellent)等异构存储的虚拟化。以DELL Compellent为例,将Compellent逻辑卷纳入SVC之下,需要经过如下步骤:

1)业务停机;

2)在Compellent图形管理界面中,去掉卷与主机的映射关系(un-mapping);

3)在Compellent图形管理界面中,创建新的服务器对象:SVC Cluster;

4)在SVC图形管理界面中,执行MDisk发现操作;

5)将新发现的MDisk(其实就是Compellent逻辑卷)以Image Mode MDisk方式导入;

6)将这个Image Mode MDisk映射到原主机上。

无论是内部盘还是外部盘,IBM SVC都可以以VDisk为单位,实施本地的数据复制服务(快照、克隆、镜像)。利用SVC,可以将被其虚拟化的低端存储,增加一些高级功能。不过,存储发展到现在,高端存储和中端存储丰富的软件功能都已经逐渐下移到低端存储,SVC的这部分作用就意义不大了。

对于用户而言,基于网络的存储虚拟化,利旧,方便管理(只是少部分程度的),双活,容灾(例如,IBM SVC灾备端可以采用与SVC生产端不一样的存储品牌),仍有一定的现实意义。

本书将设专门的章节更详细介绍基于网络的存储虚拟化的方案:飞康FreeStor。

2.2.4 存储标准化之互操作性

10多年前,存储行业里,有一个经常被提及的概念就是互操作性,正是各家厂商的存储管理各自为政,缺乏互联互通,使得用户面临存储管理的巨大挑战,用户一直希望存储厂商解决互操作性,即各家的存储管理软件都能管理并灵活调用其他异构存储的资源。

实际上,在SMI-S v1.6.1的标准Storage Management Technical Specification,Part 4 Block Devices中,已经包含了对镜像、快照、克隆、容灾的描述,如表2-1所示。但时至今日,较少存储厂商的存储虚拟化平台可以驱动受管对象的这些高级软件功能。

表2-1 SMI-S v1.6.1标准中对镜像、快照和克隆等的描述

其实,SNIA SMI-S标准出来已经10多年了。但是,基于网络的存储虚拟化(异构存储的管理)仍没有彻底地解决互操作性的问题。为什么刚开始时,存储厂商不去积极地遵循这一标准呢?

主要的原因就在于经济利益、投入产出比。存储厂商投入精力去改造自己,开放API出去,适配其他存储厂商的存储虚拟化平台,回报明显不大。而且当存储厂商变成受管对象,也即被虚化后,它对于用户的重要性就下降了。所以单纯靠存储厂商是很难解决互操作性的。

那么,这个互操作性谁来推动合适呢?

答案是Hypervisor厂商、操作系统(OS)厂商,或者类似于OpenStack、CloudStack的数据中心操作系统(Data Center Operating System,DCOS),或者云计算(Cloud)提供商、云管理软件提供商。用户只要构建数据中心,不可避免的是,大多数存储资源都必须纳入Hypervisor/OS/DCOS/Cloud的版图之内。在云计算、软件定义数据中心日益兴盛的背景下,存储资源被虚机使用的规模将远大于被物理机使用。因此,存储厂商可以考虑与VMware、Hyper-V、Citrix XenServer、RedHat KVM、华为FusionSphere等Hypervisor厂商,以及OpenStack Cinder的互操作性。我们也看到Hypervisor厂商在努力实现与存储的互联互通,例如Microsoft System Center 2012就把SM·I-S作为组成部分;再如VMware vROps云管理软件利用SMI-S等协议进行存储分析(图2-8)。

图2-8 VMware vROps利用SNIA SMI-S协议进行存储分析

截至2015年年底,我们可以发现,越来越多的存储厂商适配Hypervisor(VMware)或DCOS(OpenStack),越来越多地支持SMI-S标准。例如,EMC的许多型号的存储,也正式通过SMI-S的CIM,来支持OpenStack Cinder。图2-9即EMC使用其SMI-S Provider V4.6.1支持OpenStack Cinder的icehouse版本。这样,上层软件可经过Cinder在EMC存储上创建、删除、扩展或映射volume,创建或删除snapshot和clone等。

图2-9 EMC利用SMI-S协议支持OpenStack Cinder R/0Y+fK2bJ4mI7uCgkWyQ/Qqt90diNmBrCdou6pk4n3ty9fqzhjyseJhRbVSHK3M

点击中间区域
呼出菜单
上一章
目录
下一章
×