在当前的虚拟化舞台上,存储虚拟化已经成为重要的角色之一,然而,到目前为止,很多人对存储虚拟化的概念还是很模糊,首先,必须搞清楚,存储虚拟化不是服务器虚拟化。作此声明看来非常重要,因为服务器虚拟化在IT部门应用如此广泛,以致有时会将两者混淆。
那么什么是存储虚拟化,以及存储虚拟化的好处又是什么?定义起来非常容易,但存储虚拟化的定义太过抽象,因其涵盖了多个产品和技术领域。
存储网络工业协会(SNIA)技术指导文档对存储虚拟化的定义如下:
通过将存储(子)系统或存储服务的内部功能隐藏,抽象和与应用,主机或通用网络资源的隔离,从而实现对存储和数据的应用以及网络无关的管理。
这是一个合理的定义,不过它潜在的应用却十分广泛。假定将其归纳为:隐藏最底层的具体功能以支持更高一层的抽象和虚拟化,那么它可以应用到许多存储相关的场景。
例如,将物理磁盘地址(CHS-柱面,磁头和扇区)转换为逻辑块地址(LBA)以供OS文件系统使用就是存储虚拟化的一个例子。同样,RAID也是如此,多个物理磁盘驱动器作为一个或多个磁盘分配给用户,而驱动器号却与物理磁盘并非一致。在SNIA文档中还给出了其它的一些例子,如虚拟磁带库和网络文件系统的使用譬如NFS和CIFS。
这几类例子在最基本的层面很好的阐述了存储虚拟化的含义,不过在谈到RAID或NFS时,没有人真正将其视为存储虚拟化。
存储虚拟化的益处及产品
相反,业内的大多数人认为存储虚拟化是一种可以将多个存储磁盘系统集成,并作为单一实体管理的硬件或软件产品,通常位于主机上,位于网络中的硬件装置中或作为磁盘阵列或LAN交换机上的一项功能。例如,它可以将许多SAN磁盘阵列看作一个整体向外分配磁盘而不必考虑磁盘驱动器的物理位置,或相对于独立的未连接的磁盘系统提供更高的可用性。
它也可以实现设备之上的功能,如在存储层之间实现数据的自动移动以及促进数据保护功能如快照和持续数据保护(CDP)的实现。
运行在网络层的存储虚拟化设备分为带内和带外两种类型,依据数据和元数据是否选择相同或不同的路径通过设备而定。
基于主机的存储虚拟化,依赖于服务器上的软件,并不被视为带内或带外方式。有时也称为卷管理器,可以将多个磁盘做为单一资源提供或按照需要切分。
基于磁盘阵列的存储虚拟化同样也不属于带内或带外这一分类。HDS USP子系统控制器是基于磁盘阵列存储虚拟化的一个例子,它可以将HDS存储和其它厂商的存储整合在一起。
带内,或共享路径方式存储虚拟化产品,在设备内同时传输数据和元数据。它可以实现文件的实时迁移以及将多个NAS设备和SAN阵列整合为一个存储池。带内方式的不利一面是延迟的增加和潜在的单点故障,这也意味着这些产品通常需要成对部署。带内存储虚拟化产品包括Avere OS、EMC Rainfinity、F5 ARX、IBM SAN Volume Controlle和NetApp V系列。
带外,或分离路径方式存储虚拟化产品,将数据和元数据分离开来,也提供与带内产品类似的好处。它可以无中断的部署到网络中,如果设备失效,也不会阻塞对文件的访问。不过,它们的确需要代理并对其进行管理。带外存储虚拟化产品包括AutoVirt,Avere OS、EMC Invista和LSI存储虚拟化管理器。
另外一个产品分类,我们认为应该包含在存储虚拟化产品的核心圈中,它就是虚拟存储硬件装置。这类产品-存在硬件和软件两种形式-允许用户使用服务器磁盘,白盒磁盘阵列和多个厂商阵列创建类似于SAN的存储池。这类产品位于磁盘资源之上,并将资源集中并实现磁盘供应和数据保护功能。虚拟存储硬件装置的厂商包括HP LeftHand、Pivot3、Seanodes、FalconStor(NSS)、Caringo和DataCore。