存储 频道

实现存储虚拟化的三种方式

  【IT168 应用】存储虚拟化的实现方式有很多种,本文将要讲述的是各种实现方式的利与弊。

  虚拟化技术出现在了存储系统架构中的各个层面:主机层、网络层和存储系统层。每一种方式都可以实现更加简单有效地卷管理、降低数据迁移的复杂度以及减少重新分配存储空间次数等功能。但是所有的这些虚拟化技术,在带来一些优点的同时也增加了存储系统的管理负担。由于存储系统架构变得更加抽象,用户无法准确地了解到特定地数据都存放在哪个子物理存储设备上。同时在故障诊断时,也更加难以定位问题发生的根本原因。

  使用哪种虚拟化技术最合适?什么时候该采用存储虚拟化来解决问题?这些都需要取决于基础架构的规模、系统中运行的应用类型以及管理员所要求的对系统的管理和可视程度等等因素。

  现在,存储系统管理员需要在存储虚拟化技术带来的便利及增加的管理复杂度之间寻找到合适的平衡点。本文中将要讲述在北美地区最大的几家存储虚拟化解决方案提供商。他们中的每一个都具备基于存储系统架构的某几层中提供解决方案的能力,以及与其对应的存储资源管理(SRM Storage resource management)软件,用于显示、汇总并管理分布于多个虚拟存储层中物理资源的能力(请参照如下的“虚拟化指南”)。

  虚拟化指南

  把光纤存储局域网(FC SAN)架构的智能性和服务器及存储的虚拟化技术统一起来。在使用VMware VMotion时,虚拟服务器可能会在不同的物理服务器硬件之间自动迁移,而且当服务器发生迁移时,它对应的源和目标也相应的发生变化。FC SAN交换机需要自动地识别这些变化,使得服务器的多路径能力和精简配置功能可以在迁移发生后,仍然支持跨FC SAN的实现。否则,管理员就必须得手动调整zoning和LUN masking的设置。

  在不同的存储系统层中都需要设置和配置分区功能。分区功能为虚拟存储中的每层设备都分配了独有的管理员、内存、网络和CPU资源。分区技术帮助我们防止边缘应用占用核心生产业务系统的物理资源。管理员也可以通过设置某个分区用于系统测试,防止所做的这些更改会影响到其他分区中的生产系统。

  谨慎地为性能密集型应用实施虚拟化。有时对于性能密集型应用更少地使用虚拟化会带来更好地效果。太多的虚拟化层会使得管理员在需要快速诊断时,无法尽快识别应用所在的底层存储资源。在实施虚拟化之前,管理员一定要了解特定地存储虚拟化软件是否已经集成了一款有效地SRM软件。

  首先在那些低性能需求和低利用率的服务器和存储上实施虚拟化。那些低性能服务器和低利用率的存储系统可能会从存储虚拟化投资中获益最多,它们可以最大程度地降低管理需求。考虑用基于iSCSI SAN的虚拟化技术为它们实现,因为这些业务可以很快地享受到那些由TCP/IP协议本身所带来的虚拟化技术优势。

  关于哪里最适合存储虚拟化,在存储系统中哪一层来部署虚拟化解决方案,或者是在多大范围内部署虚拟化等等这些问题,并没有一个统一的答案。总体而言,用户有三种同时实现存储虚拟化和SRM管理的方式:

  单一供应商方式指的是您的所有存储系统组件均来自于同一供应商,这种情况下虚拟化系统可以很好的配合工作。EMC 公司和IBM 公司都非常积极地推进这种独立方式,他们促使用户购买EMC的 Symmetrix 和 IBM的 System Storage DS8000存储系统,然后在各自的系统上安装EMC PowerPath 和 IBM Subsystem Device Driver (SDD) 等路径管理软件。

  路径管理软件通过配置提供给主机端的EMC或IBM存储阵列的LUN参数来实现相应的虚拟化功能。例如通过定义在双活配置中的两个控制器的优先级,然后把I/O流量首先发送到优先级高的控制器。最后路径管理软件和操作系统端原有的卷管理软件配合工作,使得卷管理软件可以识别通过多条光纤链路连接到主机端的同一个LUN。同时,它也支持在同一个LUN的不同光纤链路间做负载均衡和自动故障切换。

  但是一旦安装了某个厂商的路径管理软件,再想加入其它厂商的存储系统或网络层虚拟化产品就变得非常困难。IBM的SDD软件只能兼容IBM的存储系统或IBM的基于网络层的存储虚拟化产品SVC(San Volume Controller)。EMC的PowerPaht软件支持EMC的Symmetrix和Clariion存储系统,同样也支持惠普、IBM和日立的高端存储阵列产品。

  路径管理软件无法支持其它存储系统的限制会迫使用户选择EMC的Invista或IBM的SVC来实现其存储虚拟化。尽管Invista和SVC会在一定程度上影响EMC或IBM希望用户选择单一存储产品供应商的计划,但是客户很可能最终还是会选择他们现有的路径管理软件供应商所提供的,基于网络层的虚拟化产品。

  EMC和IBM这样的厂商开发网络层存储虚拟化和SRM产品的原动力不仅仅来自于虚拟化和管理他们自身存储系统的需求。很大一部分是因为他们希望可以通过虚拟化他们自己的产品,然后使得用户迁移位于其他厂商存储上的数据时变得更加简单。从而最终达到,让用户使用EMC或IBM的SRM(存储资源管理)软件来实现在整个数据中心范围内的,端到端地监控和管理用户的虚拟化应用、数据和存储架构。

  根据IBM首席虚拟化技术专家Jim Rymarczyk所言,在过去10年中多数的存储系统架构花费都跟存储系统采购需求相关。而现在,这些花费中高达70%的部分是跟管理问题相关的,存储虚拟化和SRM软件则可以有效减少管理方面的支出。然而,试图在一个复杂地存储网络环境中完成端到端地管理总是一项非常棘手的工作。

  在复杂的异构存储网络环境中,虚拟化所带来的最大的问题就是不能有效而精确地显示出每个应用对应地数据所存放的具体磁盘位置。因为在每一层的虚拟化过程中,为了简化管理,都把数据的相关信息从它下层的磁盘中抽象了出来。从而会导致,对诸如存储系统采用的RAID级别或者是控制器的配置情况这样的信息(在存储性能调优和故障诊断时会需要这样的信息)丢失了。为了获取相应信息并把卷重新映射,管理员就必须登录到存储子系统的API。

  这些问题的存在促使 EMC和IBM分别开发了各自的ControlCenter 和TotalStorage Productivity Center (TPC) SRM管理软件以实现更好地跟其硬件和软件系统集成。当EMC和IBM SRM软件需要跟存储系统的API和SMI-S相结合时,如Rymarczyk也承认的那样:如果使用了SRM软件“用户将在一定程度上丧失自由选择存储系统厂商的权利。”

  EMC和IBM在网络层存储虚拟化产品上采用了完全不同地架构方式来实现。EMC的Invista采用了分离路径架构的方式。存储虚拟化软件中用于管理或控制路径的部分程序被安装在位于FC SAN之外的一台单独工作站上。虚拟化相关的设置在这台路径管理工作站上配置,然后配置信息被加载到一台不带缓存的光纤交换机上,这台交换机被称为“数据路径控制器(data path controller),这台交换机可以是博科公司生产的AP7420或思科公司生产的MDS 9000 系列存储管理模块。

  EMC公司副总裁及基础架构软件事业部总经理Doc D’Errico认为,这种“自主”的基础架构方式保留了存储系统的智能性,因为存储系统可以自身来完成相应地数据复制和优化功能。如果我们把所有地高级功能都从存储系统中迁移出来,一起放到虚拟化应用软件中来实现的话,用户将会丧失一部分由存储系统自有的高级功能所带来的收益。保持存储系统自身智能性的同时也避免了用户对网络层存储虚拟化技术的长期依赖性,EMC公司的D’Errico申明说 “使用Invista ,用户可以相对自由地进入或退出网络层存储虚拟化架构。”

  新发布的2.0版本的Invista和之前的版本相比做出了一些改变。在之前的版本中,控制路径中的工作站服务器在物理上缺少冗余,一度被认为是Invista潜在的安全风险。Invista2.0版本加入了独立于FC SAN之外的CPC(Control Path Cluster )系统功能,所以即使在CPC服务器1宕机后,CPC服务器2可以马上实现接管。

  Invista2.0 同时实现了对PowerPath负载均衡功能的支持,这样的话它可以动态实现在数据路径和后端存储多链路上的负载均衡功能。

  无论是Invista还是SVC都需要在数据路径中插入一台新的设备。为了安装这台设备,存储管理员需要:停止应用程序进程,从物理上重新调整FC SAN中的连接线,然后改变FC SAN的zone设置和存储系统的LUN masking配置。从而实现成功地在数据路径中添加设备,部署网络层存储虚拟化的功能。

  Invista系统中缺少缓存的设置会带来更多长期的问题。在不影响系统运行地情况下,这种方式可以使延迟变得最小,但是Invista无法支持像异步复制或者是自动精简配置这样的功能,因为这些技术的实现都需要依赖缓存。EMC计划在2008年后期,在Invista系统中加入自动精简配置功能,但是他们仍然建议客户通过另外一款产品RecoverPoint来实现不同存储系统间的异步数据复制功能。

  IBM的SVC则更像一个存储系统控制器,因为在它的架构中使用了缓存技术。SVC的存储虚拟化软件安装在设置为集群系统的Linux服务器上,同步镜像数据则通过FC 端口在集群中的服务器缓存间实现。在一个物理集群中最多可以支持到四对服务器,每对服务器都独立于其它的服务器工作。IBM近期在其SVC系统中加入了自动精简配置功能。

  IBM的SVC市场经理Chris Saul建议用户在部署SVC前首先进行系统规划练习。因为IBM已经遇到过一些系统拥堵的情况,如果用户选择在现有的FC SAN中直接加入SVC设备,但是又无法把那些造成系统拥堵的设备(如磁带机)从SVC系统中剥离出来的话,就会发生拥堵。一些情形下,SVC加入的是一个“核心→边缘”设计理念的架构,这时会对内部的交换机链路(ISL)增加极大地系统压力,从而可能会如Saul所说:“增加了ISL链路拥堵的风险。”

  存储管理员需要操作的通常不仅是一个或两个供应商提供的存储设备。他们往往需要虚拟化并管理公司在历年来所累积采购的多种存储系统。在这种情况下,他们最好地选择就是选择一款存储虚拟化和SRM软件,通过这些软件可以从主机端对存储资源进行虚拟化和统一管理。

  例如,赛门铁克公司的Veritas Storage Foundation软件提供了一种通用的,可以在主机端实现对异构的存储系统或网络层存储虚拟化产品管理的方式。通过使用Veritas Storage Foundation,用户同样可以虚拟化并管理他们的存储系统平台,而无需学习多种不同操作系统的卷管理方式。之后用户可以通过赛门铁克的Veritas Command Central Storage SRM软件来管理相关的应用和存储设备,从而在安装了Veritas Storage Foundation产品的主机上得到与管理相关地更多附加收益。

  在2006年,Symantec升级了Veritas Storage Foundation 5.0产品,在其动态路径管理(Dynamic Multi-Pathing DMP)特性方面获得了极大地加强。之前的5.0版本中,DMP只能选择轮询的方式对路径进行管理。现在新版系统中,管理员有七种不同的路径管理方式可以选择。最新DMP的默认方式是在所有的FC路径中识别最短的和最不繁忙的,然后把I/O发送到相应的路径上。

  DMP5.0 同样改进了其故障检测和卷发现功能,通过使用自带的API,在管理特殊FC路径时绕开操作系统,直接跟主机的HBA卡通讯。在和HBA卡建立协同工作后,DMP可以自动识别SCSI指令超时和一些存储系统发起的特殊命令。这些在以前通常都是被HBA卡直接接收,但是无法传送到卷管理器和操作系统的。而且DMP还可以检测到一些特殊的FC路径问题或存储系统的故障问题,然后自动选择通过备用路径访问位于后端存储系统上的LUN。

  DMP同时也可以检测出不同的存储虚拟化产品在主机端映射的各种不同的LUN。存储控制器在映射LUN时可能把状态标示为主-主(A/A) 或主-从 (A/P)方式,这点不同会影响到Veritas Storage Foundation的 Volume Manager(卷管理器)对LUN的处理。A/A的LUN管理起来比较简单,因为如果一条路径失效,卷管理器可以简单地尝试通过备用路径来访问LUN。

  相反,A/P LUN被指定给某一个特定的存储控制器来管理。如果这个控制器失效了,这就不像切换到另外一条路径那样简单,随意地切换会导致存储系统非正常访问的发生。通过监控由存储系统或网络层虚拟化产品发起,并被FC HBA卡接收的FC命令,DMP可以识别并选择到该LUN的可用路径,同时避免存储系统非正常访问的发生。

  服务器虚拟化的发展,同样推动了赛门铁克公司把Veritas Storage Foundation的Veritas Volume Manager (VxVM),直接加入到SUN公司的Solaris LDoms的管理程序层中,可以随资源管理器一起启动(参照如下“改进虚拟机备份”)。

  改进虚拟机的备份

  虚拟机通常需要共享物理计算机的内存、网络带宽和处理器资源。这就会带来一些问题,因为物理服务器上空闲或剩余的资源也无法被用来完成备份功能了。下面提供一些备份虚拟服务器的小技巧。

  基于磁盘的备份 基于磁盘的备份总是伴随着虚拟化被同时引入。大多数基于主机、网络或存储系统的存储虚拟化技术都支持一种或多种备份技术,如:异步复制、持续数据保护(continuous data protection CDP)或快照技术,这些可以帮助我们把那些由系统备份所导致的服务器和网络过载问题转移到后端的存储系统中。

  虚拟化I/O 有些时候在备份一组虚拟机的时候会遇到明显的性能问题,因为没有足够的带宽来支持。为了防止这种性能问题的出现,考虑对物理服务器的I/O做虚拟化,通过使用像InfiniBand或10GB 以太网这样的网络协议来实现,可以在大量I/O通过端口时,使服务器所需的网络连接数最小化。

  VMware集成的备份 新的VMware Infrastructure 3 (VI3)包含了VMware Consolidated Backup (VCB)技术用于完成对虚拟机的快照功能。VCB按照时间顺序统一管理一系列连续地快照文件,系统通过监控所有安装VMware的物理服务器上的到达各个虚拟机的写I/O。一旦写I/O停止,就自动创建一个系统快照并提供给内置的备份客户端。VCB最大的缺点就是备份的VMDK (Virtual Machine Disk Format)文件压缩了物理服务器上所有的虚拟机信息,所以VMDK文件的恢复是针对整个VMware服务器的,而不是某个单独的虚拟机或虚拟机文件。

  默认状态下,初始化的Sun Solaris LDom资源管理器会首先对映射给它的存储卷和HBA卡做虚拟化处理。然后再以虚拟卷和虚拟HBA卡的方式映射给虚拟主机使用。

  赛门铁克的Veritas Storage Foundation Manager配合VxVM使用,可以允许管理员在一个Web界面中同时管理超过3,000台的主机(包括Sun LDom主机)。同时,通过结合Veritas Command Central,使用Veritas Storage Foundation存储管理员可以指定哪些虚拟资源分配给哪台物理主机使用。

  关于何时可以跟VMware的ESX Server集成这一点上,赛门铁克公司还没有公布官方的时间表。赛门铁克的存储管理总监Sean Derrington说,赛门铁克仍然在等待VMware开放ESX Server的API,以便于VxVM可以集成到ESX hypervisor中。一旦赛门铁克获得了ESX 的API,“我们就会很快进入那里” Derrington说。

  一些公司可能会发现他们需要的是多种混合的存储虚拟化和SRM软件来实现存储系统架构内的多节点虚拟化和数据管理。Hitachi、HP、NetApp和Sun公司通过存储控制器对自有的和其他厂商的存储系统做虚拟化。NetApp使用自己的V-Series系列存储平台实现对其他厂商产品的虚拟化,Hitachi、HP和Sun则使用Hitachi公司的USP V( Universal Storage Platform)系统实现。

  HP和Hitachi之间拥有合作开发和OEM的合作伙伴关系,两家公司合作开发了XP和USP V系列产品。HP对软件的开发提出建议和做修改,这些都被整合到Hitachi的固件(firmware)中,然后再共同下发给所有版本的XP/USP V系列产品使用。XP产品和USP V产品的唯一不同就是集成在固件中的ID号。“惠普通过使用这些ID来整合灾难恢复解决方案,使其能够和XP系统紧密结合地工作。”惠普公司的 XP产品经理这样说。

  Hitachi公司CTO Hu Yoshida说,他们的公司选择了一种完全不同的,脱离开网络系统架构的虚拟化方式,因为他们希望能够提供满足特殊用户高可靠性和高性能方面需求的产品。从而提供一些基于网络层虚拟化技术无法实现的特殊功能给客户。不同于基于网络的方式,在设备故障后会损失50%的性能,并且只能提供有限的缓存,甚至没有缓存,USP V可以提供跨越多个控制器和处理器系统的大容量缓存。

  “完全配置的USP V系统可以最多支持4个处理器失效后,仍然保持对缓存的有效访问,而且不丢失数据”Yoshida说。

  Hitachi、HP、NetApp和Sun均提供了一组用于管理他们自有品牌存储产品的SRM软件,同时也提供了另外一组用于支持异构SAN环境的SRM工具。HP把他们的SRM软件分成了三个独立的部分:统一存储和服务器管理、元件管理和性能管理。如果您仅仅需要管理来自HP的存储产品,那么HP的元件管理和性能管理产品就可以满足您的需求。相反,如果用户需要管理一个异构的存储系统环境,那么就需要引入HP的Storage Essentials产品来提供相应层次的服务器和存储管理。

  这些供应商们正在试图努力将存储虚拟化和SRM软件产品整合起来。但是,考虑到实施存储虚拟化和彻底的SRM软件管理所需要的时间周期和工作量,建议您最好保持平和的心态,然后逐步地开始实施虚拟化。

0
相关文章