Skip to content

在IO路径中实现设备虚拟化

2013-12-05 09:25:57   来源:华军科技数据恢复

  当市场上引入新的存储技术时,必须要与现有的存储兼容。其基本的想法很简单。假如I/O 路径的接口和管理改变很多,不仅技术本身的实现难度很大,而且也很难在市场上立足。其实差不多所有的计算机产品都遵从这个规律,而不仅仅是存储产品。事实上,无论是文件服务器的NAS类型的存储网络,还是更新的SAN类型存储网络,无一不是这样。

 
    虚拟化是一种最常见的提供存储、I/O产品和过程的兼容性技术。虚拟化通过建立一种表现和响应命令方式同另一种技术一样的环境,以达到使用另一种技术来代替这种技术的目的。简单地说,虚拟化就是一个“冒充”接口的技术,使之以某个别的形式出现。另一个解释是虚拟化使某些新的、惊人的东西变成过时和令人心烦的东西,只是性能更好罢了。虚拟化能够以许多不同的形式实现,但就存储而论,基本上有三种形式:
    1.组合多个资源成为一个可寻址的实体的虚拟化。
    2.将一个资源分解成为多个可寻址的实体的虚拟化。
    3.模拟另一个产品或功能的虚拟化。
 
    第一种情况可以组合多个单独的成分产生一个大的、可寻址实体,如磁盘子系统,它由多个更小的磁盘组合而成大的虚拟磁盘。第二种情况与第一种情况相反,它使一个大的实体看上去就像许多更小的可寻址实体,如一个磁盘驱动器被分成多个更小的驱动器镜像。事实上,有时也可以同时使用这两种虚拟化技术,如几个磁盘驱动器首先组合在磁盘子系统中,形成一个大的虚拟磁盘,然后又被分成更小的虚拟驱动器。
 
    最后一种虚拟化技术通常称为模拟,一般是为新产品提供兼容性。一般来说,本书所讨论的虚拟化是指前面两种,即在一些数量的实际实体和另一些数量的虚拟实体间提供地址映射。
    虚拟化在I/O路径中的位置虚拟化可以在I / O路径上以许多方式实现,最常见的实现在I / O路径中的位置如下:
    主机I/O控制器
    存储子系统
    存储网络域管理器
    卷管理器
    主机I/O控制器设备驱动程序
 
在主机I/O控制器中虚拟化
 
    对于光纤路径和其他的存储网络技术,它们的主机I/O控制器通常支持SCS I协议,虽然SCSI 协议过去是为本地I/O传输而设计的,但光纤路径却分明是为存储网络I/O传输而设计的。尽管现在还有一些人说,光纤路径上的S C S I并不是设备的虚拟化,但可以强烈辩解的是:当光纤路径主机总线适配器和设备驱动程序组合成对时,也可以形成一种形式的总线,或路径,或虚拟化,使存储网络看上去像一个或多个SCSI总线。主机I/O控制器也可以提供其他的虚拟化技术,如分块、镜像和错误校验等的RAID功能。为了镜像磁盘,由单个的I/O请求形成两个I/O请求,这是在主机I/O控制器中实现虚拟化的一个例子。
 
在存储子系统中实现虚拟化
 
    常见的虚拟化是在存储子系统中实现的。第6章讨论的RAID子系统就是设备虚拟化的极好的例子,它位于I/O路径的最后一站。磁盘子系统既可以提供形成更大虚拟驱动器的地址转换,也可以提供将资源磁盘分成更小的虚拟驱动器的地址转换。3个存储设备先形成单个大的虚拟磁盘,然后再分成4个小的虚拟驱动器。
 
在存储域管理器中实现虚拟化
 
    存储域管理器在第2章中已经介绍,是存储和I/O环境中的一种新品种。它的主要作用是在主机和设备及子系统之间提供虚拟化服务。虽然存储子系统为其内部存储设备提供了虚拟化,但存储域管理器可以为下游存储子系统提供虚拟化服务。
 
在卷管理器中实现虚拟化
 
    卷管理器的主要任务是为下游存储资源提供虚拟化服务。卷管理器可以对磁盘驱动器实现分区、连接、分块及镜像功能。卷管理器在镜像中的作用参见。在主机I/O控制器设备驱动程序中实现虚拟化当I/O设备驱动程序传送I/O命令到它相应的主机I/O控制器时,它也可以提供虚拟化服务。事实上,它同在卷管理器中实现的虚拟化一样。沿I/O路径实现虚拟化的各不同的位置和功能。
 
Back To Top
Search