在I/O路径中实现设备虚拟化
当市场上引入新的存储技术时,必须要与现有的存储兼容。其基本的想法很简单。假如I / O 路径的接口和管理改变很多,不仅技术本身的实现难度很大,而且也很难在市场上立足。其实差不多所有的计算机产品都遵从这个规律,而不仅仅是存储产品。事实上,无论是文件服务器的N A S类型的存储网络,还是更新的S A N类型存储网络,无一不是这样。
虚拟化是一种最常见的提供存储、I / O产品和过程的兼容性技术。虚拟化通过建立一种表现和响应命令方式同另一种技术一样的环境,以达到使用另一种技术来代替这种技术的目的。简单地说,虚拟化就是一个“冒充”接口的技术,使之以某个别的形式出现。另一个解释是虚拟化使某些新的、惊人的东西变成过时和令人心烦的东西,只是性能更好罢了。虚拟化能够以许多不同的形式实现,但就存储而论,基本上有三种形式:
•组合多个资源成为一个可寻址的实体的虚拟化。
•将一个资源分解成为多个可寻址的实体的虚拟化。
•模拟另一个产品或功能的虚拟化。
第一种情况可以组合多个单独的成分产生一个大的、可寻址实体,如磁盘子系统,它由多个更小的磁盘组合而成大的虚拟磁盘。第二种情况与第一种情况相反,它使一个大的实体看上去就像许多更小的可寻址实体,如一个磁盘驱动器被分成多个更小的驱动器镜像。事实上,有时也可以同时使用这两种虚拟化技术,如几个磁盘驱动器首先组合在磁盘子系统中,形成一个大的虚拟磁盘,然后又被分成更小的虚拟驱动器。
最后一种虚拟化技术通常称为模拟,一般是为新产品提供兼容性。一般来说,本书所讨论的虚拟化是指前面两种,即在一些数量的实际实体和另一些数量的虚拟实体间提供地址映射。图3 - 2 7显示了这三种虚拟化技术。
虚拟化在I/O路径中的位置
虚拟化可以在I / O路径上以许多方式实现,最常见的实现在I / O路径中的位置如下:
•主机I / O控制器。
•存储子系统。
•存储网络域管理器。
•卷管理器。
•主机I / O控制器设备驱动程序。