《信息存储》2006特辑:专题报道-论存储虚拟化

    本文首发于《信息存储》2006年度专辑上,未经许可,谢绝转载。

    今天,业内最热门的话题之一是虚拟存储。人们对多供应商存储的通用管理有许多期待,也有人做出各种承诺,称能回答当今所有有关存储挑战的问题。为解答这些疑虑,人们提出了许多冲击市场的解决方案,这些方案让人疑惑,惹人争论。

    围绕虚拟存储的许多争论都集中在提高存储资产的利用率上。当今的存储资源管理工具让用户可以监视其整个存储基础设施并预先管理其使用情况。人们认为,后Y2K时代大量修建的基础设施利用率太低,保持高利用率仍然是一种最佳策略,IT管理者近几年在这一领域取得了巨大的进步。但今天,资产利用并不是一个非常紧迫的问题,解决这一问题已有很多优秀的解决方案。

    同时,数据爆炸的步伐不断加快。新的数据观认为,数据值在其生命周期中,上下波动、分布于许多不同场所,并存在于不同介质中,“数据可用性”的概念也随之产生了新的意义。对大多数机构来说,“数据可用性”意为建造复杂的IT基础设施,在一周七天、一天24小时内,在适当的时间、适当的地点,提供适当的信息。今天的商务活动要求信息一直可用,在信息设施传递信息时,不愿意、也不能忍受由于IT设备的故障所引起的业务的中断。

    由于IT设备的故障所引起的业务的中断每小时造成的损失可能达成千上万甚至数百万美元。我们运行一个存储物理数据的中心,需要迅速进行IT操作,好比它是一个永久围绕地球旋转的空间站,能空中加油、保养以及升级。IT管理员已意识到需要开发更好的工具来使他们的数据不断可用。

    十年前,我们问到,“如果我们消除了计划外的关机将会怎样?”现在,诸如EMC SRDF一类的业务恢复和数据复制等工具可以在遇到硬件故障,天灾和不可预测灾难时,成功地保护数据免遭关机的破坏。在新的IT基础设施项目中集成使用适当的和高可用性的工具,许多数据中心已显著降低了计划外停机带来的损失。

    但是,由于IT操作的复杂性剧增,灵活性和响应性要求也不断提高。在降低商务流程延迟方面,IT已成为关键因素。同时,IT的应用在全世界更多地方、更多人、在一周7天的每个小时都更需要使用。

    因此,今天问题变成:“如果我们消除了计划内的关机将会怎样?”保养、应用升级、基础设施的物理变化、数据中心的移动,这些都消耗了建立和运行一项应用所需的时间。IT管理员报告,计划内的关机时间占了所有关机时间的三分之二或者是四分之三。

    具体说来,近年网络存储的IT管理者希望实现下列目标:

     从存储基础设施中移动生产数据而不中断应用程序。例如,在现存SAN中使用新的存储阵列,存储管理者需要在适当的时候做出计划,以确保使用者知道数据将在某一段时期不可用。不论什么原因,IT管理者都希望消除任何与存储有关的关机。

     集中容量分配、供应、以及数据移动能力,为多层、多供应商存储环境提供更大灵活性。以执行信息生命周期管理(ILM)为例:如果一个卷在中级介质性能存储池中没有达到向使用者承诺的具体服务级别,存储管理员就必须向更高性能的存储池(极有可能位于存储架构的不同层)转移数据,以达到这项要求。将来可以预见,这套流程将在使用者规定的范围内更加自动化。

    今天的存储管理员很难改变存储基础设施。商业运作不容许关机,数据上传对服务器和应用程序管理员会产生影响,这些都会妨碍存储管理员进行任何修改,包括轻微移动到大规模的迁移。如果部署得当,虚拟存储可以给管理员以更大灵活性,修改基础设施而不影响系统或应用。

    这些“不间断运行”对使用者掩蔽了IT基础设施的复杂性,将这项技术融入当今的存储基础设施是一种实用的做法,将会刺激虚拟存储技术获得广泛接受和使用。

    但要达到这种“不间断运行”的新层次,用户必须选择一套不增加存储基础设施复杂性和费用的虚拟存储方案,并保证方案的实施轻松易行,同时保护用户在存储功能的现有投资。

    最后,虚拟存储通过增加基础设施的灵活性,使得IT更独立地管理基础设施而不依赖应用程序和商务活动,从而简化整套管理。例如,每个存储阵列和服务器都有自己配置卷的方法,将来,虚拟存储也会为存储管理员提供单独的方法,在网络内以统一标准实现这些功能。

    架构考虑

    如今的带内虚拟解决方案达不到这些商业需求,简言之,带内(in-band)虚拟解决方案在“数据路径”中增加了工具或设备。这种方法在复杂性、冒险性、投资保护、可扩展性和部署难易性等方面有着固有的局限。我将在《论虚拟化》系列的第二部分中详细探讨这个问题。

    简言之,带内虚拟存储需要你冒很大的风险,简直就是孤注一掷。这种方案非常受限,灵活性小,难以实施,没有可扩展性。是一种“要么全有、全么全无”的方法,所有SAN中的数据都必须虚拟化,并通过虚拟的层。

    从历史上看,任何实际的解决方案都必须遵循一定的原则:


  • 解决特定问题(如,IT运行的中断)
  • 不产生新问题(如,数据完整性和增大复杂性)以及
  • 兼容现有环境(即是说,保留基础设施目前所有的价值和功能性)。

    虚拟存储的另外一种方法,网络虚拟(有时称作带外“out-of-band”方法),以下列原则为指导。通过运用下一代的智能交换机/控制器技术平衡现有SAN结构,实现基于网络的虚拟。

    交换机的实现采用开放式和标准方法。以开放式的方式开发这种技术是指,存储供应商需要与交换机供应商合作,以确保异构环境的无缝运行,意思是说开发标准接口,用户可以从多个供应商提供的交换机中进行选择。

    另外补充一点,管理装置位于“数据路径之外”,主要管理全部的虚拟环境,包括映射数据位置。网络中并没有数据版本或“状态”。如果数据正确地存储在阵列中,才表示完成整个应用。

    就扩展性而言,网络虚拟存储解决方案能够支持多企业级阵列,集合智能化的高端和中层阵列,并提供补充性功能,如,不间断的数据移动。在保证扩展性的同时,为还IT管理者提供了逐级的解决方法,允许其虚拟SAN内的部分数据,因此,可以逐卷选择哪一卷需要虚拟存储,而哪一卷不需要。在一个系统内扩展,并保证解决方案能扩展至整个基础设施。

    此外,这种虚拟存储方法可以保护存储阵列中已有的增值功能的投资,这些解决方案允许用户继续使用基于阵列的现有复制技术。

    总之,这种分布式、开放式的网络虚拟存储技术最终会为用户带来实际利益。网络虚拟存储技术解决所有问题后,有望对基础设施实现前所未有的控制。该技术将满足对“不间断的运行”不断增长的需求,有助于简化和优化网络存储管理,提高整体灵活性,在现今高度复杂的环境中运行。

    上述我们讨论了存储虚拟化是如何实现不停机操作的,并使用户能够通过改造存储架构而减少计划内停机时间这一日益重要的问题。现在我们再来看看实现虚拟化的不同方式。

    存储虚拟化提出了一个从物理到逻辑的存储设备概念。它为消耗资源的企业提供了一种简单的、统一的复合架构。虚拟化是企业存储阵列自有的能力,它把多个固定磁盘驱动聚集到一个单一的物理架构中,为主机通道提供逻辑卷。最近,出现了一种新的存储技术,它从整个SAN系统的多重、多种阵列中把空间虚拟化,并从一个物理点管理这一空间的逻辑卷。然而,这一新的虚拟化技术涉及许多不同的方法和问题。在企业环境中,架构对于解决方案能否带来最大价值起着关键作用。

    主机系统的存储虚拟化

    一种集成、管理多个SAN系统设备空间的解决方案已在许多最终用户环境中得到应用,这就是主机逻辑卷管理器(LVM)。的确,LVM正成为最先进的服务器操作系统的标准部分。LVMs具有软件功效,管理从各种存储方式中产生的逻辑卷,配置适合某种应用所需的空间。举个例子,它们可以通过连接一组在阵列水平上配置的小规模的空间,形成一个大空间;它们也可以把大的阵列卷分成几个易管理的小单位;或者在维护一个应用空间时,为了正常运行,他们可以在若干个阵列空间中提取数据。

    LVMS提供了大容量、多方式虚拟化等优点,但也有一个内在缺陷:由于他们是在主机系统上工作的,因此必须对每一台主机单独设置配置和应用。如果主机数量不多,这不算个问题。但在一个企业的系统设置中,通常都有几百台甚至上千台主机通过SAN系统存储数据,控制分布空间很快就成为一个严峻的问题。如果系统环境改造变化很大,需要频繁修改配置,这个问题就愈加严重。如果在不同的操作系统上使用不同的LVMS,易操作性也是一个问题,要求操作员精通多种工具。使用主机系统方案时,互操作性(确认第三方的LVMS与修改过的操作系统、新的方案相兼容)和性能(密集的LVM运行会破坏主机处理周期)也是个问题。

    网络系统的存储虚拟化

    网络系统的存储虚拟化结构试图解决主机系统模式中的内在问题。在主机和子系统之间的一个层面插入虚拟化的功能,此功能主要是简化易操作性。有二种结构方式:数据通道中和数据通道外。

    数据通道中方式

    数据通道中结构是在主机和阵列之间的网络数据通道(或“通道中”)中插入虚拟化手段。这些设备通常提供空间管理和其它配套功能,如数据迁移和拷贝服务。他们行使存储管理器的作用,替代正在虚拟化的设备。存储虚拟设备本身可以是一个专用的服务器,运行装在标准操作系统上的虚拟化软件;也可以是一个专门的应用程序,运行嵌入的编码,甚至是一个带有能连接附加阵列框架后端的阵列管理器“前端”。这种设备的最大好处是简化—它是一种自有(全新)的方式,可以集中管理多种连接设备。

    通道内方式最主要的缺点是在网络路径上增加了一个额外的“跳”,这样就增加了主机和物理存储设备之间的时延。一些通道中设备试图以在设备内部使用缓存的方法解决增等待时间的问题。和存储子系统一样,缓存的益处很大程度上取决于应用和缓存算法的效率。网络内部的缓存还会产生更多的复杂问题。对于需求冗余的高效环境,使一对通道中的缓存保持一致,就需要缓存镜像,这又增加了一些等待时间。它还要求具有强大的错误和故障处理逻辑,以确保经过缓存和确认的I/O 被安全地存储到后端。

    通道中虚拟化结构的一个更为严重的缺点是限制了其扩展性。由于所有虚拟化区域中的I/O需要通过通道中方式,不是在带宽就是在处理能力方面,会形成一个瓶颈。一旦任意一种资源耗尽,就必须采取数据扩展策略。如前面提到的由于对所有通道节点实行缓存镜像,使得“横向扩展(scale out)”策略(其中附加了n个节点用于扩展)变得不实际。取而代之的唯一可行办法是“向上扩展(scale up)”策略,这要求通道中的节点越来越大,以实现通道中大规模的虚拟化。最新出现的大规模、高性能的通道中虚拟化设备的单片企业阵列就证明了这一点。在某种程度上,对于一个大的环境来说, 甚至“向上扩展(scale up)”策略也不够,需要采用一种新的通道中设备。每一个通道中设备对其各自的虚拟区域负责,管理独立的虚拟区域。然而,因管理分散独立的区域的费用很大,因而通过虚拟化降低复杂性和简化管理的初衷就无法实现。

    数据通道外方式

    通道外方式的设计是通过从数据流中分割管理信息,避免通道中结构所产生的内在运行问题。在通道外结构中,有一个叫做元数据服务器的单独硬件,它存有虚拟化存储的逻辑-物理关系信息,向每一个服务器传送信息,分配I/O指令。这种数据传送通过一个独立的网络完成,它与数据交流使用的光纤通道分开,这即是通道外模式。元数据服务器和主机之间的传输通常是通过装在主机上的接口程序来实现的,这台主机与修改后的、对指令重新分配的I/O驱动器共同工作。

    由于主机直接将虚拟化存储指令分配到目的设备上,I/O运行不再受到增加等待时间或带宽的制约。这样,通道外方式理论上更适合于高性能应用。它还避免了通道内自有的数据完整性问题。任何“状态”或版本数据都不会滞留在网络中。数据正确地存储入阵列之后,主机的任务才算完成。然而,这种通道外方式又引出了一些主机系统方式的易操作性问题,也就是说,需要加载、维护和修改主机系统软件。

    一种解决易操作性问题的改进后通道外方式即将产生。这一方式利用智能SAN交换机作为平台,构建以网络为基础的存储虚拟化。这些交换机带有专门的端口级处理器(可能是被频繁优化的ASICs,但也能是FPGAs或网络处理器)以最快速度检验并重新分配I/O指令(从逻辑地址转换到物理地址)。把这些处理器直接汇集到现有的SAN系统结构上,就无需对另一层虚拟化方案进行管理。以前由主机接口程序管理的主机元数据被加载到智能端口的闪存上,不再需要主机系统软件。元数据服务器不与主机交换信息,而是和智能端口交换信息,确保总能为通过这些端口存储信息的主机提供正确的映射信息。总而言之,改进后的通道外方式,其易操作性大大提高。

    这种基于交换器的通道外方式更适应“横向扩展(scale out)”策略。由于大多数的I/O运算在智能交换机内由端口的处理器直接处理,如果需要增加规模(scale),只需要增加更多的处理器。可在结构上再增加一个交换器,或在现有的交换器上增加一个处理叶片。增加的处理器仍由同一个元数据服务器进行管理,无需频繁增加规模(scale),因为它并不处理I/O通信,只是管理所有端口的元数据。简言之,这种结构理论上能够扩展大规模配置,大到可以支持在当前所有的大规模数据中心,推广存储虚拟化的好处。

    可见,存储虚拟化的方式多种多样,各具特色。如我们所介绍的,结构可对存储虚拟化解决方案的易操作性、规模,乃至为使用者带来的价值起决定性作用。对任何可能采用这种技术的用户来说,主要考虑的问题是要全面了解该解决方案的架构。

    到此,我们讨论了采用存储虚拟化的好处?它怎样提供了全新而不间断的操作能力,从而为今天的动态存储环境的变动管理提供了方便。我们还分析了几个在SAN(存储区域网络)范围实现存储虚拟化的方法结构差异。最后,我们将讨论一些切实的、以及潜在用户对这项技术应关注的问题。 

    切合实际地想一想

    任何一个存储虚拟化用户应该问的第一个问题非常简单?我正在经历的痛苦是否大到值得我们需要额外付出来部署这个新的解决方案从而减轻我们的痛苦? “我现有的,经过考验的解决方案在今天是否依然有效?”“对我面临的问题有没有一些更好的、更容易的或更好地被验证的解决方案?”这些问题将直接涉及问题的核心。 

    例如,我们只能眼睁睁地看着通道中存储虚拟化方案的推广在小规模环境(小到2TB)的实验中失败。这类环境通常既没有多个供应商,也没有虚拟化方案旨在解决的变化数量。现有的解决方案比如当今的存储阵列或存储管理软件为这类环境提供了一个更为经济,可靠且并不复杂的方案。 

    在投入任何精力进行评估之前,先要确保虚拟化是被当成一项实用创新而推行的。它可以解决眼前的压力、悬而未决的问题,并且不会在过程中产生新的问题(比如更大的复杂性)。

    评估虚拟化解决方案的四个标准

    对于那些可以使用虚拟化存储的环境,供应商必须解决的问题以及潜在用户也必须考虑四个基本问题是:规模、功能、管理和支持。让我们依依看看每个问题。

    标准1:规模

    在当今现有的SAN(存储区域网络)环境中,性能被分布在多个存储阵列里。每个阵列都独立于其它任何一个阵列。在一个虚拟化的环境中,存储性能是由整个基础结构聚合起来的。正是这种聚合的能力大大简化了虚拟化环境中的管理。因此,存储虚拟化的价值来自于它的规模化能力,而最大的价值就是将整个目标环境聚合成一个统一的逻辑视图或“虚拟库”。

    用户应该记住这一点,然后就规模向他们的虚拟化供应商提出三个主要问题。最基本的问题是你能实现多大的规模?与目标环境比较会有何不同?用户不应该寻求只能简单创建几个虚拟化“孤岛”的产品,因为它不能聚成合理的规模。在这种情况下,管理多个虚拟化程序所增加的复杂性(以及部署它们的成本)可能超出它们可能带来的好处。

    另一个相关的问题就是规模化的性能,特别是,当相当一部分存储被虚拟化时,性能会发生怎样的改变?有两个衡量标准:反应时间(主要与系统的处理能力相关)和处理能力(与系统的带宽相关)在这里是主要的衡量指标。在负荷增大和资源耗尽时,许多通过有限的高速缓冲存储器、通用的处理和带宽来发送所有I/O的通道中系统其性能有很大不同。带有分布式的、专用处理能力的系统较不容易使性能下降。

    最后一个关于规模的问题与结构有很大关系??系统是怎样形成规模的?一个容易形成规模的系统更有可能适应将来环境的增长,对大多数用户而言,这几乎是一个毫无疑问的问题。如我们在前面文章中讨论的那样,通道中产品通常使用“向上扩展”策略,它在高速缓冲存储器或处理能力达到极限时,需要增加一个新的“盒子”或单元。不幸的是,这些新盒子可能会形成一个单独的管理区域,从而增加了复杂性。取决于盒子的大小和技术指标,费用可能会增加很高。基于分布式智能处理器的虚拟化结构通常更适用于“横向扩展”策略,在保持相同管理区域的同时,这种策略随着规模的递增,其成本点也在递增。

    标准2:功能

    今天,在SAN上存储数据的应用程序可以使用基于阵列的多个软件功能,比如本地和远程复制。通过汇集和抽象存储能力,虚拟化解决方案掩盖了单个设备,打破了阵列软件赖以运行的主机到设备的关系。因此,为了不减少其价值或提供一个不降低功能的环境,虚拟化解决方案必须要么取代由阵列提供的增值功能,要么保留增值功能,与现有功能实现互操作性。理想的解决方案是不会给出一个要么这样、要么那样的建议,而是提供两个选择。保留状态(比如使用高速缓冲存储器的通道中结构)的虚拟化结构在设计上就决定了它不能与远程复制服务一样管理状态变化,它与现有的阵列功能不相容。

    要向虚拟化供应商提出的另一个主要问题是,“对我现有的阵列功能会产生什么影响?”你能否继续使用在流程、技能、培训和人员等方面的现有投资?如果不能,那么必须仔细计算包括所有这些因素在内的总替代成本。

    除了成本之外,还必须以现有的解决方案作为标准对“替代”功能进行比较。是否具有所有主要的功能?市场领先的复制软件得益于10多年来不断改进和优化的软件设计。它们对任何新产品来说都是一个很难实现的衡量标准。

    标准3:管理

    当今存储资源管理(SRM)工具的一个主要优点就是它们提供了一个把环境中所有东西都集成起来的端到端的视图。如果你希望把监控、报告、规划和供应服务有效地提供给你的存储环境,SRM是绝对必要的。虚拟化设备影响SRM或任何其它的“端到端展现”的管理工具。引进虚拟化设备把端到端的视图分为三个不同的区域:服务器到虚拟化设备,虚拟化设备到物理存储以及虚拟化设备本身。管理视图的再集成对于优化虚拟化环境的可管理性,至关重要。

    对虚拟化供应商提出的关于管理方面的主要问题是,我能否使用现有的SRM工具组来管理新的虚拟化环境?这个问题仍是关于保护流程、技能、培训和人员方面的投资。其次,我是否对虚拟化和非虚拟化环境有一个统一的视图?这可以保证在整个环境中贯彻一致的管理准则。不能解决上述问题,就将削弱所承诺的许多虚拟化可管理性的好处,特别是在完全向虚拟环境转变的时候。

    标准4:支持

    虚拟化不是一项孤立的技术。它是一种必须在现有环境中工作的东西。虚拟化设备是一个崭新的智能平台,它必须与你已有的一切东西相互作用,包括服务器和服务器端软件、存储网络、网络硬件和网络协议,以及存储阵列和阵列驻留软件。例如,想一想是什么让一个 “行业标准”协议(如光纤信道)像广告中所描述的那样起作用。互操作性和支持是任何虚拟化解决方案取得成功的关键。

    因此,潜在虚拟化用户还要提出一些与支持相关的问题:“谁来负责制定新的硬件技术需求?问题将如何上报和解决?谁来负责提供服务与支持?”幸运的是,我们可以在本文中回答这些问题。答案是虚拟化供应商。

    因此,评估一个供应商在提供支持方面准备的如何,我们还需要问一些其它的问题。特别是,在进行非常复杂的互操作性测试和在复杂的多供应商环境里提供支持方面,他们有多少经验?对于资格和互操作性测试的质量,他们在行业中的名声如何?也许最重要的是看看他们在这方面确实做了多少投入?许多供应商在这方面只不过是“说说而已”。然而,在一个至关重要的生产环境中,是否采用他们的虚拟化解决方案,还需要认真考虑他们是否有能力为“合格”的配置提供支持。你对他们的能力有信心吗?

    在本文中,我们对理解存储虚拟化技术以及在部署存储虚拟化技术过程中所涉及的许多问题进行了讨论。对于那些有需求的机构,他们需要了解各种设计结构方法的优点和缺点,要仔细考虑规模、功能、可管理性以及支持等方面的问题,以选择最正确的解决方案。只有选择最正确的解决方案,他们才能经历一次存储架构的变革,使他们的环境更具活力、不断可用并最终能够更好地为业务需要提供服务。


    订阅《信息存储》杂志请 点击此处链接