存储虚拟化:架构在虚拟层上的进阶应用

存储虚拟化可看作一种打通存储底层的基础建设,通过虚拟化产品提供的逻辑层统合整个存储环境,为前端服务器的存储需求提供单一化服务。因此存储虚拟化产品通常具备这几个特性:

异构存储设备整合

不同厂牌、不同等级的异构存储设备整合,是存储虚拟化产品的首要特性。用户可通过虚拟层介接不同厂牌的磁盘阵列,将这些异构存储设备所含的磁盘,视为一整个存储池,再分配给需要容量的前端服务器,所有存储资源都能在虚拟层介接下统一运用。而前端服务器与后端存储设备间的连接,也从传统SAN环境中的固定地址连接与空间映像,转变为通过虚拟层的动态介接,管理上更有弹性,空间利用率也能有效提高,不再有之前存储孤岛的问题。

这个特性也能让想建置高可用性或异地备援的用户,有机会摆脱必须购置两套相同存储设备的窘境。在虚拟层介接下,前端应用服务器不会接触设备实际,只要是虚拟层提供的空间,映像到前端后,对前端来说都是相同的本地端磁盘区,所以只要把数据同步或复制的机制架构在虚拟层上,就能利用两套不同的存储设备,完成高可用性或异地备援的建置。

多样化的存储协议支持

要整合用户的存储环境,除了考虑不同厂牌设备的整合,还要考虑不同存储协议的支持问题。由于成本的考虑,当前企业除了在关键应用系统上使用高价的光纤通道(FC)外,也大量应用以太网络作为存储传输信道,在SAN的区块型传输外,也还有文件共享或传输的需要。因此存储虚拟化产品要统合整个企业存储环境,则除FC外,支持iSCSI,甚至是文件传输所需的CIFS、NFS等协议也是不可或缺。

目前市售的多数存储虚拟化产品支持多种区块存储协议已是常态,至少都能支持FC与iSCSI,某些高阶产品还能支持高阶环境使用的ESCON、FICON。至于文件类型的传输方面,传统作法是另外介接NAS网关器,将磁盘阵列空间通过NAS网关器的文件系统转为文件存储区域。但近来可直接支持CIFS/NFS文件传输的产品,同样也日益普及。

弹性的资源调配机制

由于存储虚拟化产品必须管理异构存储设备,为前端各式各样的应用程序提供服务,因此如何依前端应用程序的不同需要,适当调配后端存储资源也就成为一大重点。

存储资源调节可分容量与性能分配两大部份,依执行任务的不同,前端服务器对容量与存储性能的需要也不同,因此虚拟化产品必须具备弹性的容量与性能调整机制,以便适当地分配容量,为前端特定服务保证足够的性能。

就容量分配而言,用户固然可以通过虚拟层轻易调配整个环境的存储资源,但更重要的是空间调度的灵活性,且调整程序不能影响到存储的数据或正常的存储动作。更进一步的作法是通过ThinProvisioning之类的空间调配技术,将容量分配目标从实际空间,转为虚拟的逻辑空间,让存储设备实际空间得到更有效的利用。

性能调节就比较复杂,多数虚拟化产品都是采用in-band架构,所有数据流都必须通过虚拟层,因此虚拟层本身会形成性能瓶颈,加上又要为后端所有存储设备向前端提供存储服务,性能分配也成为一个问题。传统的调节方式是切割高速缓存给不同的磁盘区,不过前端的存储需求可能会随时间而有所变化,因此必须能够动态地调整高速缓存大小。

但仅有高速缓存调节也已经不能满足需要,这种方式的盲点在于,快取的大小只是影响存储装置存储性能的因素之一,光靠调整快取大小并不能充分达到调节性能需求的效果。因此近来又出现一些可以进行更细致设定的性能调节方式,如NetApp的FlexShare等。

高可用性机制

存储虚拟化产品宣称要统一整个存储资源,所有的存储服务都经由虚拟层的中介,故显而易见的副作用便是虚拟层自身成为整个存储系统中的瓶颈,一旦虚拟层失效,整个存储服务也就中断。

为避免前述情形发生,几乎所有存储虚拟化产品都附有高可用性机制。如以两台提供虚拟服务的服务器互为备援,确保虚拟服务的持续性,某些产品如IBM的SVC还强制以两个节点构成一套I/Ogroup的方式出售。

架构在虚拟层上的进阶应用

存储虚拟化本身不是目的,而是提供一种易于管理、富有弹性的整合存储环境,以便架构出各种存储应用。为便于用户建置这些存储应用,厂商也多半会在虚拟化产品上内建镜像、快照、多路径传输、远程复制等进阶功能。

由于虚拟层已经在底层完成了异构存储设备的容量整合,因此要提供这些应用均十分方便,像镜像、复制这些应用,都只要通过虚拟层在底层转换存储路径到不同实际空间上就能完成,不用考虑两套存储设备物理规格上的差异。

而更新设备时的数据迁移亦可交由虚拟层执行,虚拟化产品可轻易的在异构存储设备间转移存储路径,只要搭配背景数据迁移功能,虚拟层即可一边让旧设备的磁盘空间继续为前端服务器提供存储服务,然后再于离峰时间将数据逐一迁移到新设备的磁盘空间上,待数据迁移完成后,再把存储路径转移到新设备上,如此就能将数据迁移所需的停机时间降到最低。

通过存储虚拟层也可很容易的架构出分层存储或数据归档应用。只要在虚拟层上设定适当的存储路径,就能依据前端服务器对存储性能的要求,将高性能存储实际提供的空间保留给前端需要高性能的关键应用服务器;性能普通的磁盘空间则可分配给备份、归档等不讲求性能的应用使用。或者也可以数据产生的时间作为区分,将一定期限的数据迁移到低价存储媒体上。