虚拟化是一种实现对逻辑环境进行简单管理的有效手段。通过虚拟化,用户将摆脱底层物理环境的复杂性,充分利用基于异构平台的存储空间,在开放的基础上实现对资源的有效规划。虚拟化可以自动配置存储设备及其空间,使用户能在一个域中使用在物理上分散存在的所有存储资源,以便跨地区管理不可预测的事件,如:业务不连续性、对容量需求的调整、员工的变化等。而无论这些存储资源所处的存储域的位置、大小、类型和制造商如何,都将被从单一逻辑视图中进行管理。
一、“虚拟存储就像一台翻译器”
在一个SAN环境中,存储的虚拟化可以分别基于主机、网络和存储设备,这就像一个有演讲者和听众的会场,演讲者就是主机,听众好比存储设备,但演讲者与听众讲不同的语言,互相之间无法直接交流。而虚拟存储就像一台翻译器,基于主机的虚拟存储就像将翻译器安装在演讲者身上;基于存储设备的虚拟存储就像将翻译器安装在每一位听众身上;基于网络的虚拟存储则像会场中的同传设备。安装了翻译器,演讲者和听众之间就能顺畅交流,而翻译器安装在不同的位置就构成了不同层面上的虚拟存储。
这三种架构的虚拟存储适用于不同的环境,基于主机的虚拟存储适用于以主机为中心的IT环境,其中的主机数目较少,甚至是单主机;基于存储设备的虚拟化针对异构SAN架构,更适用于以存储为核心的环境,它独立于主机,其存储设备可以连接多台主机,但存储设备本身不能是异构的;基于网络的存储虚拟化适合于开放的存储网络,即Open SAN,它独立于主机,同时也独立于存储设备,因此,它最灵活。在实际应用中,究竟使用哪种方式最有效,其原则就是花最少的精力和财力,选择最适合的一种甚至两三种组合来实现存储虚拟化。
二、虚拟存储技术的区分
(1)基于主机的虚拟存储
基于主机的虚拟存储依赖于代理或管理软件,它们安装在一个或多个主机上,实现存储虚拟化的控制和管理。由于控制软件是运行在主机上,这就会占用主机的处理时间。因此,这种方法的可扩充性较差,实际运行的性能不是很好。基于主机的方法也有可能影响到系统的稳定性和安全性,因为有可能导致不经意间越权访问到受保护的数据。这种方法要求在主机上安装适当的控制软件,因此一个主机的故障可能影响整个SAN系统中数据的完整性。软件控制的存储虚拟化还可能由于不同存储厂商软硬件的差异而带来不必要的互操作性开销,所以这种方法的灵活性也比较差。
但是,因为不需要任何附加硬件,基于主机的虚拟化方法最容易实现,其设备成本最低。使用这种方法的供应商趋向于成为存储管理领域的软件厂商,而且目前已经有成熟的软件产品。这些软件可以提供便于使用的图形接口,方便地用于SAN的管理和虚拟化,在主机和小型SAN结构中有着良好的负载平衡机制。从这个意义上看,基于主机的存储虚拟化是一种性价比不错的方法。
(2)基于存储设备的虚拟化
基于存储设备的存储虚拟化方法依赖于提供相关功能的存储模块。如果没有第三方的虚拟软件,基于存储的虚拟化经常只能提供一种不完全的存储虚拟化解决方案。对于包含多厂商存储设备的SAN存储系统,这种方法的运行效果并不是很好。依赖于存储供应商的功能模块将会在系统中排斥JBODS(Just a Bunch of Disks,简单的硬盘组)和简单存储设备的使用,因为这些设备并没有提供存储虚拟化的功能。当然,利用这种方法意味着最终将锁定某一家单独的存储供应商。
基于存储的虚拟化方法也有一些优势:在存储系统中这种方法较容易实现,容易和某个特定存储供应商的设备相协调,所以更容易管理,同时它对用户或管理人员都是透明的。但是,我们必须注意到,因为缺乏足够的软件进行支持,这就使得解决方案更难以客户化(customzing)和监控。