软件定义存储:原理、实践与生态
上QQ阅读APP看书,第一时间看更新

2.2.1 SNIA对存储虚拟化的解释

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

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

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

1.虚拟化什么

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

2.在哪里虚拟化

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

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

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

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

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

(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所示。