存储虚拟化又成为了网络存储领域的一个热门话题,但同网络存储领域所存在的许多其他问题一样,众说纷纭,没有较为统一的看法,其中也不乏概念上的混淆。从另一个侧面来看,也表明了网络存储尚处在快速发展时期,有很多问题还值得人们在实践中进一步去探讨。本文所提及的存储虚拟化,仅涉及与网络存储相关的范畴。
“存储虚拟化”并不是近期才提出的一个新概念,它是伴随着大型计算机的产生、发展而出现的一个较为经典的概念,但随着网络存储的兴起,在新的领域中,存储虚拟化又被赋予了全新的解读,不过从存储的核心功能来看,其本质是具有延续性的。
存储虚拟化的概念
从广义的角度看,存储具有两大特性: 其一,它是具有存取数据功能的载体; 其二,它具有可管理性。
存储虚拟化是物理存储的逻辑表示方法,是在服务器与存储之间设置的一个抽象层,服务器被绑定到逻辑抽象层上。于是,无论何时如果需要都可以改变所连接的物理存储,典型的如阵列的替换、层次化存储等,而不会影响应用对这个存储的访问。存储虚拟化也正是紧紧围绕着这两个主要方面展开的。
从狭义的角度看,存储是具有两个访问通道的实体,数据通道和管理通道就是对此的简单描述。二者在物理上可以是聚合的,也可以是分离的,而存储虚拟化就相应地发生在这两个通道上。
在理论上可以认为,相对于原存储实体,新的存储实体在数据和管理通道上所进行的任何非恒等的转换,都是一种存储虚拟化方法。概括地讲,所谓存储虚拟化可以简单地描述为: 新存储实体对原存储实体的存储资源(如存储的读写方式、连接方式、存储的规格或结构等)和存储管理(如统一、分散管理)进行变化和转换的过程称为存储虚拟化。
存储虚拟化的技术分类
一般认为存储虚拟化是有所特指的,大致可以从以下两大类来划分:
存储资源的虚拟化
● 存储的规格或结构
从早期的磁盘分区到现在具有复杂结构的磁盘阵列,对存储规格或结构的虚拟化始终作为一种最基本的虚拟化形式而不断发展,这是存储虚拟化的一个最为基本的特性之一——可分性。
属于这一类的存储虚拟化产物有: RAID、虚拟网络磁盘等,在可以预见的未来,这类存储虚拟化方式将伴随着人们对块存储的需求,以及对存储安全性与性能的不懈追求仍将长期存在,并且适度发展。
在结构虚拟化方面,设备冗余和资源空洞是两个完全不同的类型,设备冗余可以实现同步、异步镜像等,而资源空洞主要采用写时分配的技术,在提高资源利用率方面表现更为突出,它能够使得呈现给主机的逻辑卷远大于实际的物理存储; 而快照技术更是实现了源和快照依赖于相同的存储资源,形成一种典型的一个虚拟多个的方式。
● 读写方式
到目前为止,存储的读写方式可以归纳为四种主要形式: 块读写方式、文件读写方式、对象读写方式和键值搜索读写方式,四种形式依次递进(如图示意),对存储的抽象层次不断提高,使得应用(程序等)对存储的依赖程度逐渐降低,存储的智能性不断提升,进而也就不同程度地实现存储与应用的分离。在本质上,也就逐步实现了在计算机系统中,处于不活跃地位的存储与处于活跃地位的计算之间的分离,而归根结底,其源动力来自于人们对数据共享效率不断提高的需求。
可以看出,存储读写方式的演进,在客观上也对存储规格和结构的发展提出了要求,但存储读写方式的演进并不依存于存储规格和结构的发展。
在相当长的一段时间内,块读写方式和文件读写方式都将继续占据主流的地位,而其他两种方式由于受到应用模式和存储发展等某些关键技术的制约,仍将处于产品的缓慢发展和研究的相对快速发展的矛盾过程中。可以预见,随着对象文件系统、对象操作系统、存储网格以及搜索引擎和数据安全等技术的不断发展,基于对象读写方式和键值搜索读写方式的存储设备、存储系统、存储服务将成长为主流方式。
● 连接方式
网络存储的连接方式主要有Fibre Channel(FC)、InfiniBand(IB)、IP三种。三种方式各具特色,但总的来说,FC设备在高端存储系统采用较多; IB设备的高带宽和高吞吐率在高性能计算领域有相当的优势,但经历了Intel、微软放弃支持和戴尔、IBM与Sun宣布支持的一落一起之后,IB的发展还不明朗; 在性能和标准的制约下,IP网络存储长时间在中低端市场徘徊,但由于无处不在的IP网络和其极具诱惑力的价格,近乎无限的延伸扩展能力,以及传输标准和正在快速提升的硬件性能,可以预见IP存储的市场将会作为企业存储解决方案的主要选择之一。
不同的存储连接方式,也对应着不同的存储特性,存储虚拟化技术可以以融合多种连接方式(包括上述三种方式)的优势,更好地满足应用的需求。
存储管理的虚拟化
● 集中管理
网络存储发展到今天,出现了很强的旨在体现集中管理的聚合趋势,大型存储系统和超大型的存储系统不断出现,高性能、高可用、高数据安全性和大容量成为其主要的发展目标。但伴随而来的是存储管理的复杂性也一升再升,不同的存储系统之间无法实现有效地级联(管理方面),甚至这一现象也出现在同一厂商的系列产品中,进而也使得存储资源无法实现有效地管理和使用,复杂的管理和相应的高管理成本都阻碍了网络存储的发展。
面对这一现实问题,统一存储管理标准问题愈显突出,这也是制约存储虚拟化、乃至于网络存储工业发展的关键症结所在。
● 分散管理
在使用存储的某些特定场合,所虚拟出的资源应具有一定的独立管理特性。
● 性能的动态调整
在共享网络带宽的情况下,虚拟出的多个设备其间的性能可动态调节或可动态配置。
存储虚拟化系统的结构分类
在网络存储领域,实行存储虚拟化的手段大致可以从两方面考虑: 一方面,按虚拟化模块在网络存储中的位置划分为三类: 基于主机、基于网络和基于存储设备节点,基于网络的虚拟化是发展的潮流,这一点,IBM与EMC的观点是相同的; 另一方面,按虚拟化管理模块相对于数据通道的位置,划分为带内(In-Band)和带外(out-of-band)管理。
In-Band虚拟化模块(引擎)位于主机和存储节点之间的数据通道上,因为位于数据读写的关键路径上,所以既有安全性高、实现容易、对主机要求低等优点,又有扩展性差、易形成单点故障等明显的结构缺点,这通常利用Cache技术来优化性能。
与In-Band不同的是,Out-of-Band虚拟化模块位于主机和存储节点之间的数据通道之外,通过其它的网络连接方式与主机系统通信。于是,在每个主机服务器上,都需要安装客户端软件或者特殊的主机适配卡驱动,相比In-Band方式,这种方式的系统可扩展性很强,虚拟化模块不会在数据通道上成为单故障点,但其实施难度比较大。 |