存储虚拟化的三种方法及其优劣
现在的存储虚拟化技术有三种方式来实现,首先是在主机层次实现,第二个是在网络存储层次实现,第三个就是在存储设备这个层次出现。
基于主机的虚拟存储依赖于代理或管理软件,它们安装在一个或多个主机上,实现存储虚拟化的控制和管理。从性价比的角度来看,这种存储虚拟化不需要任何附加硬件,很容易实现,成本也低,而且拥有便于操作的图形化界面。但缺点是这种基于主机的虚拟存储可扩充性较差,实际运行的性能不是很好。而由于这样的虚拟化存储有可能导致不经意的越权访问受保护的数据,因此会对系统的稳定性和安全性造成影响。
此外,软件控制的存储虚拟化还可能由于不同存储厂商软硬件的差异而带来不必要的互操作性开销,所以这种方法的灵活性也比较差。
基于存储设备的存储虚拟化方法依赖于提供相关功能的存储模块。在存储系统中这种方法较容易实现,容易和某个特定存储供应商的设备相协调,所以更容易管理,同时它对用户或管理人员都是透明的。而缺点也比较明显,对于包含多厂商存储设备的SAN存储系统,这种方法的运行效果并不是很好。依赖于存储供应商的功能模块将会在系统中排斥JBODS(Just a Bunch of Disks,简单的硬盘组)和简单存储设备的使用,因为这些设备并没有提供存储虚拟化的功能。所以说,各个设备之间的联通性存在一定的问题,所以它面临最大的问题就是各个厂家设备的统一管理。
基于网络的虚拟存储较复杂,主要是在网络设备之间实现存储虚拟化功能。其主要好处是可以比较容易的在多设备环境中进行配置,而无需做大的硬件变更。但是这种方法仍然具有基于主机实现存储虚拟化的弱点,就是仍然需要一个运行在主机上的代理软件或是基于主机的适配器,用来把下面的存储设备传送的I/O进行重新的组合。这是一种繁琐的方式,而且有可能不支持端到端的应用。
通过以上分析,我们发现基于主机和基于存储的方法对于初期的采用者来说魅力最大,因为他们不需要任何附加硬件,但对于异构存储系统和操作系统而言,系统的运行效果并不是很好。而基于网络的存储虚拟化也有其局限性。
所以,用户选择哪种方案,和其所要部署的应用环境是有紧密联系的。但是,这其中还有两点是比较关键的。第一点,用户需要比对自己的虚拟方案是不是和操作系统与所要进行的应用无关。因为一个理想的存储就应该是独立于操作系统和应用而存在的。还有一点,就是用户所采用的虚拟化方案是否能管理更多的虚拟存储设备,把握好这两个尺度,就可以把握好存储虚拟化的应用,带来效率和存储管理的飞跃。