存储虚拟化最流行的理解是抽象存储硬件资源。根据虚拟化对象的划分,实现虚拟化存储有三种主要方式。
基于主机的虚拟存储
基于主机的虚拟存储依赖于安装在一台或多台主机上的代理或管理软件来控制和管理存储虚拟化。由于控制软件在主机上运行,这将占用主机的处理时间。因此,该方法的可扩展性差,实际性能不是很好。基于主机的方法也可能影响系统的稳定性和安全性,因为它们可能会导致对受保护数据的无意的未授权访问。
这种方法需要在主机上安装适当的控制软件,因此一台主机的故障可能会影响整个存储区域网络系统中数据的完整性。由于不同存储供应商的软件和硬件之间的差异,软件控制的存储虚拟化也可能带来不必要的互操作性开销,因此这种方法的灵活性也相对较差。但是,由于不需要额外的硬件,基于主机的虚拟化方法最容易实施,并且设备成本最低。使用这种方法的供应商倾向于成为存储管理领域的软件供应商,并且已经有成熟的软件产品。这些软件可以为存储区域网络管理和虚拟化提供易于使用的图形界面,并且在主机和小型存储区域网络结构中具有良好的负载平衡机制。从这个意义上说,基于主机的存储虚拟化是一种经济高效的方法。
基于存储设备的虚拟化
基于存储设备的存储虚拟化方法依赖于提供相关功能的存储模块。没有第三方虚拟化软件,基于存储的虚拟化通常只能提供不完整的存储虚拟化解决方案。对于具有多供应商存储设备的存储区域网络存储系统,这种方法效果不佳。依赖于存储供应商的功能模块将排除系统中JBODS(只是一堆磁盘)和简单存储设备的使用,因为这些设备不提供存储虚拟化。
当然,使用这种方法意味着最终锁定一家存储供应商。基于存储的虚拟化方法还具有一些优势:更容易在存储系统中实施,更容易与特定存储供应商的设备协调,因此更容易管理,并且对用户或管理人员来说是透明的。但是,我们必须注意到,缺乏足够的软件来支持它,这使得解决方案更加难以定制和监控。
基于网络的虚拟存储
1)基于互联设备的虚拟化
如果基于互连设备的方法是对称的,那么控制信息和数据在同一信道上传输。如果是不对称的,控制信息和数据在不同的路径上。以对称的方式,互连的设备可能成为瓶颈,但是多个设备管理和负载平衡机制可以缓解瓶颈的矛盾。同时,在多设备管理环境中,当一台设备出现故障时,更容易支持服务器实现故障更换。但是,这将导致多个存储区域网络孤岛,因为一个设备仅控制与其连接的存储系统。非对称虚拟存储比对称存储更具可扩展性,因为数据和控制信息的路径是分开的。
基于设备的互连虚拟化方法可以使用标准操作系统在专用服务器上运行,如视窗、SunSolaris、Linux或供应商提供的操作系统。该方法在标准操作系统中运行,具有基于主机的方法——的许多优点。它易于使用,设备便宜。许多基于设备的虚拟化提供商还提供额外的功能模块来提高系统的整体性能,这可以实现比标准操作系统更好的性能和更完美的功能,但需要更高的硬件成本。但是,基于设备的方法也继承了基于主机的虚拟化方法的一些缺陷,因为它仍然需要在主机上运行代理软件或基于主机的适配器。任何主机故障或不正确的主机配置都可能导致对未受保护数据的访问。同时,异构操作系统之间的互操作性仍然是一个问题。
基于设备的互连虚拟化方法可以使用标准操作系统在专用服务器上运行,如视窗、SunSolaris、Linux或供应商提供的操作系统。该方法在标准操作系统中运行,具有基于主机的方法——的许多优点。它易于使用,设备便宜。许多基于设备的虚拟化提供商还提供额外的功能模块来提高系统的整体性能,这可以实现比标准操作系统更好的性能和更完美的功能,但需要更高的硬件成本。但是,基于设备的方法也继承了基于主机的虚拟化方法的一些缺陷,因为它仍然需要在主机上运行代理软件或基于主机的适配器。任何主机故障或不正确的主机配置都可能导致对未受保护数据的访问。同时,异构操作系统之间的互操作性仍然是一个问题。
2)基于路由器的虚拟化
基于路由器的方法是在路由器固件上实现存储虚拟化。供应商通常还会提供主机上运行的附加软件,以进一步增强存储管理能力。在这种方法中,路由器被放置在从每个主机到存储网络的数据通道中,以拦截从主机到网络中存储系统的任何命令。因为路由器可能服务于每台主机,所以大多数控制模块都存在于路由器的固件中。与基于主机和大多数互联设备的方法相比,该方法具有更好的性能和效果。因为它不依赖于在每台主机上运行的代理服务器,所以这种方法比基于主机或基于设备的方法具有更好的安全性。
当将主机连接到存储网络的路由器出现故障时,仍可能导致主机上的数据不可访问。但是,只有连接到故障路由器的主机才会受到影响,其他主机仍然可以通过其他路由器访问存储系统。路由器冗余可以支持动态多路径,这也为上述问题提供了解决方案。由于路由器经常被用作协议转换的桥梁,基于路由器的方法还可以提供异构操作系统和多供应商存储环境之间的互操作性。