在I/O通道上实现虚拟化的几种途径
【IT168 专稿】虚拟化是一个广义的术语,在计算机领域虚拟化概念的提出也有几十年了,从CPU的虚拟化到操作系统的虚拟化,再到存储虚拟化,其本质是指计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。一般而言,虚拟化隐藏了后端的一些复杂特点,添加或者整合了一些新的(相对于现有后端服务来说)功能。
虚拟化的类型
从广义上讲存储具有两大特性:其一,它是具有存取数据功能的载体;其二,它具有可管理性。存储虚拟化是物理存储的逻辑表示方法,是在服务器与存储设备之间设置的一个抽象层,服务器被绑定到逻辑抽象层上。于是,无论何时如果需要都可以改变所连接的物理存储,典型的如阵列的替换、层次化存储等,而不会影响应用对这个存储的访问。存储虚拟化也正是紧紧围绕着这两个主要方面展开的。如图1所示虚拟化类型有如下三种。

图1 虚拟化类型
从狭义上讲存储是具有两个访问通道的实体:数据通道和管理通道。二者在物理上可以是聚合的,也可以是分离的,而存储虚拟化就相应地发生在这两个通道上。两者很难做一个严格的分界, 如图2所示,在I/O通道上设备虚拟化的位置。可以看出数据在从主机端的产生开始经过一系列的流动过程最终存储在磁盘上,这个过程中经历的各个不同设备,受各个不同设备的管理,其主要在I/O路径如下位置发生虚拟化。

图2 I/O通道上虚拟化的位置
虚拟化实现途径
主机端的卷管理器虚拟化
卷管理器的主要任务是为存储资源提供虚拟化服务,卷管理器可以对磁盘驱动实现分区、连接、分条及镜像功能。目前大多数操作系统都具有了这样的功能,也就是都能够实现虚拟化。
主机I/O控制器和设备驱动程序软件虚拟化
主机I/O控制器和相关的设备驱动程序也可以提供虚拟化技术,如RAID、分条、镜像及错误校验等。在I/O主机控制器中,从单个的请求为镜像磁盘产生两个I/O请求就是一个虚拟化的例子。目前主机厂商的产品基本都有不同程度的虚拟化,但是实现的方式和实现的深度不太一样。
网络通路中的虚拟化
网络中交换机、路由器是网络存储中重要的连接设备,该设备在现在的网络存储环境中起到了重要的作用,由于其所在位置的重要性,所以它的连接设备的多样性的兼容性、互访问性、互操作性等问题应运而生,从而触发了该部分存储虚拟化的发展。
目前做的比较好的公司有Storeage的SVM,SVM利用微内核编程的方式,将存储管理软件固化在芯片中,这样系统运行速度会远远高于软件编程实现的方式,提高了系统的性能。
SVM的设计通过Out-of-band方式实现对不同存储厂商设备的管理和使用;Out-of-band与In-band方式的区别是前者将数据通道和管理通道分开,这样不会因为一台管理设备的故障而导致整个网络瘫痪,有效的提高了系统的可靠性,降低了系统运行的风险。
SVM在芯片中固化了丰富的应用软件,譬如MultiView、Multicopy、Multimigrate、Multimirror等,能够实现快照、全备份、数据迁移、同步异步复制等功能。对不同的厂商的产品起到很好的兼容作用。目前该产品紧不支持IBM390大型机以及AIX400,其他厂商的机器全部兼容。
从目前存储虚拟化实现的技术及发展趋势来看,基于out-of-band方式实现的存储网络的虚拟化是发展的方向,也是能够为用户带来最大价值的地方。
存储子系统虚拟化
最常见的存储虚拟化是在存储子系统,它包括Raid划分、卷的映射、磁盘虚拟驱动器的地址转换等,是存储系统中几乎是必须具备的技术。但是在存储网络中,不同的厂商也推出了他们的虚拟化网络产品,目的只有一个――在异构的存储环境中为用户提供统一的平台。但是目前大部分的存储厂商只是停留在一个概念的炒作或者是推广自己存储系统的条件下提出的概念性的东西。在这种情况下诞生的产品也具有很大的局限性。
EMC在美国新奥尔良市发布其首款存储虚拟化产品Invista,HDS公司推出的第五代存储系统――TagmaStore通用存储平台,IBM推出的基于网络的存储虚拟化产品主要包括SAN Volume Controller(SVC)和SAN File System,HP也发布了3款基于存储的虚拟化产品,其中,主要产品是EVA系列EVA 4000/6000/8000。这些产品的推出在很大程度上刺激了存储虚拟化的发展。