存储虚拟化
从系统的观点看,有三种主要的存储虚拟化方法:
基于主机的虚拟存储;
基于存储设备的虚拟存储;
基于网络的虚拟存储。
方法1:基于主机的虚拟存储
基于主机的虚拟存储依靠于代理或治理软件,它们安装在一个或多个主机上,实现存储虚拟化的控制和治理。由于控制软件是运行在主机上,这就会占用主机的处理时间。因此,这种方法的可扩充性较差,实际运行的性能不是很好。基于主机的方法也有可能影响到系统的稳定性和安全性,由于有可能导致不经意间越权访问到受保护的数据。这种方法要求在主机上安装适当的控制软件,因此一个主机的故障可能影响整个SAN系统中数据的完整性。软件控制的存储虚拟化还可能由于不同存储厂商软硬件的差异而带来不必要的互操纵性开销,所以这种方法的灵活性也比较差。
但是,由于不需要任何附加硬件,基于主机的虚拟化方法最容易实现,其设备本钱最低。使用这种方法的供给商趋向于成为存储治理领域的软件厂商,而且目前已经有成熟的软件产品。这些软件可以提供便于使用的图形接口,方便地用于SAN的治理和虚拟化,在主机和小型SAN结构中有着良好的负载平衡机制。从这个意义上看,基于主机的存储虚拟化是一种性价比不错的方法。
方法2:基于存储设备的虚拟化
基于存储设备的存储虚拟化方法依靠于提供相关功能的存储模块。假如没有第三方的虚拟软件,基于存储的虚拟化经常只能提供一种不完全的存储虚拟化解决方案。对于包含多厂商存储设备的SAN存储系统,这种方法的运行效果并不是很好。依靠于存储供给商的功能模块将会在系统中排斥JBODS(JustaBunchofDisks,简单的硬盘组)和简单存储设备的使用,由于这些设备并没有提供存储虚拟化的功能。当然,利用这种方法意味着终极将锁定某一家单独的存储供给商。
基于存储的虚拟化方法也有一些上风:在存储系统中这种方法较轻易实现,轻易和某个特定存储供给商的设备相协调,所以更轻易治理,同时它对用户或治理职员都是透明的。但是,我们必须留意到,由于缺乏足够的软件进行支持,这就使得解决方案更难以客户化(customzing)和监控。
方法3:基于网络的虚拟存储
基于网络的虚拟化方法是在网络设备之间实现存储虚拟化功能,具体有下面几种方式:
1.基于互联设备的虚拟化
基于互联设备的方法假如是对称的,那么控制信息和数据走在同一条通道上;假如是不对称的,控制信息和数据走在不同的路径上。在对称的方式下,互联设备可能成为瓶颈,但是多重设备治理和负载平衡机制可以减缓瓶颈的矛盾。同时,多重设备治理环境中,当一个设备发生故障时,也比较轻易支持服务器实现故障接替。但是,这将产生多个SAN孤岛,由于一个设备仅控制与它所连接的存储系统。非对称式虚拟存储比对称式更具有可扩展性,由于数据和控制信息的路径是分离的。
基于互联设备的虚拟化方法能够在专用服务器上运行,使用标准操纵系统,例如Windows、SunSolaris、Linux或供给商提供的操纵系统。这种方法运行在标准操纵系统中,具有基于主机方法的诸多上风--易使用、设备便宜。很多基于设备的虚拟化提供商也提供附加的功能模块来改善系统的整体性能,能够获得比标准操纵系统更好的性能和更完善的功能,但需要更高的硬件本钱。
但是,基于设备的方法也继续了基于主机虚拟化方法的一些缺陷,由于它仍然需要一个运行在主机上的代理软件或基于主机的适配器,任何主机的故障或不适当的主机配置都可能导致访问到不被保护的数据。同时,在异构操纵系统间的互操纵性仍然是一个题目。
2.基于路由器的虚拟化
基于路由器的方法是在路由器固件上实现存储虚拟化功能。供给商通常也提供运行在主机上的附加软件来进一步增强存储治理能力。在此方法中,路由器被放置于每个主机到存储网络的数据通道中,用来截取网络中任何一个从主机到存储系统的命令。由于路由器潜伏地为每一台主机服务,大多数控制模块存在于路由器的固件中,相对于基于主机和大多数基于互联设备的方法,这种方法的性能更好、效果更佳。由于不依靠于在每个主机上运行的代理服务器,这种方法比基于主机或基于设备的方法具有更好的安全性。当连接主机到存储网络的路由器出现故障时,仍然可能导致主机上的数据不能被访问。但是只有联结于故障路由器的主机才会受到影响,其他主机仍然可以通过其他路由器访问存储系统。路由器的冗余可以支持动态多路径,这也为上述故障题目提供了一个解决方法。由于路由器经常作为协议转换的桥梁,基于路由器的方法也可以在异构操纵系统和多供给商存储环境之间提供互操纵性。
谁能胜出?
每一种方法都有其优缺点。对比如下图所示: