许多分析师与存储提供商推荐存储虚拟化,作为服务器虚拟化存储问题的解决方案。即使没有出现问题,存储虚拟化也可以减少数据中心开支,提高商业灵活性并成为任何私有云的重要组件之一。
概念上来说,存储虚拟化类似服务器虚拟化。将物理存储系统抽象,隐藏复杂的物理存储设备。存储虚拟化将来自于多个网络存储设备的资源整合为资源池,对外部来说,相当于单个存储设备,连同虚拟化的磁盘、块、磁带系统与文件系统。存储虚拟化的一个优势便是该技术可以帮助存储管理员管理存储设备,提高执行诸如备份/恢复与归档任务的效率。
存储虚拟化架构维护着一份虚拟磁盘与其他物理存储的映射表。虚拟存储软件层(逻辑抽象层)介于物理存储系统与运行的虚拟服务器之间。当虚拟服务器需要访问数据时,虚拟存储抽象层提供虚拟磁盘与物理存储设备之间的映射,并在主机与物理存储间传输数据。
只要理解了服务器虚拟化技术,存储虚拟化的区别仅在于采用怎样的技术来实现。容易混淆的主要还是在于存储提供商用于实现存储虚拟化的不同方式,可能直接通过存储控制器也可能通过SAN应用程序。同样的,某些部署存储虚拟化将命令和数据一起存放(in-band)而其他可能将命令与数据路径分离(out-of-band)。
存储虚拟化通过许多技术实现,可以是基于软件、主机、应用或基于网络的。基于主机的技术提供了一个虚拟化层,并扮演为应用程序提供单独存储驱动分区的角色。基于软件的技术管理着基于存储网络的硬件设施。基于网络的技术与基于软件的技术类似,但工作于网络交换层。
存储虚拟化技术也有一些缺陷。实现基于主机的存储虚拟化工具实际上就是卷管理器,并且已经流传了好多年。服务器上的卷管理器用于配置多个磁盘并将其作为单一资源管理,可以在需要的时候按需分割,但这样的配置需要在每台服务器上配置。此解决方式最适合小型系统使用。
基于软件的技术,每台主机仅需要通过应用软件查询是否有存储单元可用,而软件将主机需求重定向至存储单元。因为基于软件的应用通过同样的链路写入块数据与控制信息(metadata),所以可能存有潜在瓶颈,影响主机数据传输的速度。为了降低延迟,应用程序通常需要维护用于读取与写入操作的缓存,这也增加了其应用的价格。