网络系统的存储虚拟化
网络系统的存储虚拟化结构试图解决主机系统模式中的内在问题。在主机和子系统之间的一个层面插入虚拟化的功能,此功能主要是简化易操作性。有二种结构方式:数据通道中和数据通道外。
数据通道中方式
数据通道中结构是在主机和阵列之间的网络数据通道(或“通道中”)中插入虚拟化手段。这些设备通常提供空间管理和其它配套功能,如数据迁移和拷贝服务。他们行使存储管理器的作用,替代正在虚拟化的设备。存储虚拟设备本身可以是一个专用的服务器,运行装在标准操作系统上的虚拟化软件;也可以是一个专门的应用程序,运行嵌入的编码,甚至是一个带有能连接附加阵列框架后端的阵列管理器“前端”。这种设备的最大好处是简化---它是一种自有(全新)的方式,可以集中管理多种连接设备。
通道内方式最主要的缺点是在网络路径上增加了一个额外的“跳”,这样就增加了主机和物理存储设备之间的时延。一些通道中设备试图以在设备内部使用缓存的方法解决增等待时间的问题。和存储子系统一样,缓存的益处很大程度上取决于应用和缓存算法的效率。网络内部的缓存还会产生更多的复杂问题。对于需求冗余的高效环境,使一对通道中的缓存保持一致,就需要缓存镜像,这又增加了一些等待时间。它还要求具有强大的错误和故障处理逻辑,以确保经过缓存和确认的I/O 被安全地存储到后端。
通道中虚拟化结构的一个更为严重的缺点是限制了其扩展性。由于所有虚拟化区域中的I/O需要通过通道中方式,不是在带宽就是在处理能力方面,会形成一个瓶颈。一旦任意一种资源耗尽,就必须采取数据扩展策略。如前面提到的由于对所有通道节点实行缓存镜像,使得“横向扩展(scale out)”策略(其中附加了n个节点用于扩展)变得不实际。取而代之的唯一可行办法是“向上扩展(scale up)”策略,这要求通道中的节点越来越大,以实现通道中大规模的虚拟化。最新出现的大规模、高性能的通道中虚拟化设备的单片企业阵列就证明了这一点。在某种程度上,对于一个大的环境来说, 甚至“向上扩展(scale up)”策略也不够,需要采用一种新的通道中设备。每一个通道中设备对其各自的虚拟区域负责,管理独立的虚拟区域。然而,因管理分散独立的区域的费用很大,因而通过虚拟化降低复杂性和简化管理的初衷就无法实现。