存储虚拟化逐渐成为企业不得不考虑的一项技术。但比较服务器虚拟化,在应用存储虚拟化之前,用户或许会有更多的顾虑。存储虚拟化技术不仅意味着将存储池化后提供给主机,还要确保数据经过虚拟控制器后不会影响到性能,因此,许多用户会问到虚拟存储供应商产品的IOPS值是多少?
这并不是一个容易回答的问题,至少在今天还没有第三方机构,比如SPC,针对存储虚拟化的整体方案提供IOPS公测值。而每家存储化存储厂商提供的性能参数值很多时候并不具备参考意义,比如会将虚拟控制器前端和后端的吞吐量叠加计算,而不考虑实际控制器的处理性能,这会对用户造成严重的误导特别是当用户使用磁盘阵列的采购经验采购存储虚拟化解决方案时会直接套用以往的经验。
存储虚拟化产品或方案并不存在IOPS,即每秒IO的概念。大多虚拟化产品可以通过并行扩展或在单节点上增加IO卡的方式来提升数据吞吐量,但由于对后端磁盘阵列通讯策略的不同,虚拟化产品在虚拟化调度上势必存在额外的性能开销,也就是说在使用虚拟化产品后,在不增加额外的高性能磁盘的前提下,原有磁盘阵列的吞吐量整合一定小于该虚拟化产品的数据吞吐量。因此,在评估所要整合的已有系统时,应当充分意识到并不是所有的业务系统都适合放在一起进行虚拟化,比如两项或多项在同一时刻达到性能峰值的应用就应当避免放在同一个存储池中;而对于一直负载严重的核心应用,仍应采用原有的独立存储的系统架构方式。
按照部署层次的不同,存储虚拟化解决方案分为主机层、交换层和存储层的实现方式。主机层的存储虚拟化解决方案通过在主机端安装虚拟化软件实现存储虚拟化,其性能开销主要产生在主机端;交换层性能瓶颈主要在虚拟化控制器上,诸如IBM SVC等产品的最大扩展性一般在4个左右,当后台有大量存储空间需要管理,并且使用容灾或存储分层的方式都会大大加重虚拟化控制器的负担;磁盘阵列的虚拟化方式同样存在性能瓶颈的风险,但其可以借助磁盘阵列内部控制器提升处理能力。而且,采用存储层的虚拟化方式还可以实现对其下所连接的磁盘阵列的性能进行提升,而这不同于以往动态分层的概念。
存储虚拟化以后,后台的磁盘的结构纷繁复杂,需要基于应用级的策略将存储池中高性能分配给关键应用,所以策略化的性能管理是存储虚拟化中最重要的部分。目前在存储性能管理中有两种类型的技术,一种是传统的动态存储分级,另外一种是基于策略的存储加速技术。
传统的动态分级存储只能将应用繁忙的I/O从慢速磁盘调整到高速磁盘系统中,以这种方式来改善性能,这种方式可以对性能提升做出部分改善,但是此种模式是要以牺牲存储虚拟化网关的自身资源为代价,同时会增加存储I/O之间的频繁调度,开销存储资源,这样对存储的整体性能会产生负面影响,并且性能改善效果有限,对存储空间的分布方式同样存在不确定因素。
在云计算环境中,更多的使用针对应用策略的性能加速技术来作为存储虚拟化性能管理,这种策略扩展了缓存的概念,使存储虚拟化对后台性能有较高要求的灵活、简单的解决方案。