Chinaunix首页 | 论坛 | 博客
  • 博客访问: 809575
  • 博文数量: 850
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 9960
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-04 11:03
文章分类

全部博文(850)

文章存档

2011年(1)

2008年(849)

我的朋友

分类: 服务器与存储

2008-07-08 16:56:43

跃入凡间的存储虚拟化

随着网络存储虚拟解决方案,存储虚拟化再度升温,特别是基于网络的虚拟化和基于存储控制器的虚拟化孰优孰劣的争论一度让人感到迷惑。由于HDS的TagmaStore推出已有时日,大家对其虚拟化技术有了一定的了解(可参考),但基于网络的存储虚拟化却还蒙着一层若有若无的面纱。基于网络的存储虚拟化技术有何特点?存储虚拟化发展的方向是什么?带着这些疑问,笔者采访了日前专程来华主讲“存储网络虚拟化研讨会”的《Storage Virtualization》(存储虚拟化)一书的作者——McDATA公司解决方案和技术总监Tom Clark先生。

Tom Clark是著名的行业代言人和出版了许多有关SAN技术的书籍的作家,曾担任全球网络存储工业协会(SNIA)的理事,现任McDATA公司解决方案和技术总监。Tom Clark拥有近二十年的系统工程和设计实践经验,而且掌握广泛的数据通讯和联网专门技术。他写了四部有关SAN技术的书,同时发表了100多篇有关SAN技术的文章。Tom Clark的《IP SAN权威指南:存储区域网络中的iSCSI、iFCP和FCIP协议》(IP SANs: Guide to iSCSI, iFCP, and FCIP Protocols for SAN)被列为SNIA推荐读物,并与《SAN设计权威指南》(Designing Storage Area Networks)先后推出中文版。图为Tom Clark先生与其新书《Storage Virtualization》(存储虚拟化)。

10月的北京,阳光明媚,Tom Clark先生在北京嘉里中心饭店18层的餐厅里接受了存储时代网站的专访。在一个小时的采访过程中,Tom Clark先生对记者提出的多个问题都给出了详尽的回答,而为了让读者能专注于存储虚拟化技术之上,笔者尽可能地把自己提出的问题予以淡化处理,让本文以下内容看起来更像是Tom Clark先生将自己对存储虚拟化技术的看法娓娓道来。如无特别指出,下面的文字均为Tom Clark先生的观点,不代表本网站的立场。

存储虚拟化发展时机已来临

虚拟存储已经存在很长时间了,康柏(Compaq)1998年就提出了文件的、公用事业的存储,过去几年中一些小公司也推出了存储虚拟化的概念,但他们都有些宣传过头了(说到这里Tom Clark先生特意用了一个英文单词——hype,相当于我们常说的“炒作”)。

虽然这么说,但虚拟化技术确实非常有前景,而且现在已经看到了一些应用,主要是一些范围较窄的异构复制、异构镜像和快照。

如果今天的客户理解虚拟化的技术,知道虚拟化技术的具体应用以及自己要解决的业务问题的话,那么的确有可能在虚拟化中找到为他们体现价值的产品,能够帮助他们从事自己以前无法从事的工作。但是,现在这一切仅仅是充分利用虚拟化技术的一个开端。

如果我们把整个存储技术的发展做一个10到15年的回顾,在10到15年前我们的主要注意力放在高性能的存储共享能力上,今天在世界各地的主要企业和主要的大机构当中,我们都看到了基于FC的SAN已经得到了广泛的部署,这些SAN的传输的能力已经达到了2Gb/s甚至是4Gb/s,而且在这些SAN中已经出现了一些基础性的存储应用,比如磁带备份、磁盘备份以及容灾/灾难后的恢复。但是所有这些只是代表了一些基础性的应用。

既然现在我们在存储技术方面已经打下了一个扎实的基础,拥有了大量的企业级的应用,那么存储技术的下一个发展阶段就要体现在服务领域,在服务领域中存储虚拟化代表了发展方向。也就是说,使用了存储虚拟化的存储技术代表了更高的技术水平,能够提供水平不断提高的服务,那么这些服务将具有更高的复杂性,能够有效地把存储的基本架构与客户的基本应用结合在一起。

可以说现在有了存储虚拟化,我们可以做一些高难度、高效率的应用,举一个例子就是ILM(信息生命周期管理),在ILM中我们需要存储的基础架构,对于数据在不同周期不同价值的变化要做出回应,那么在这个过程当中存储虚拟化就成为了一种驱动技术,使得像ILM和其他的高水平服务成为可能。

客户的需求和市场现状

所以,现在要从一个不断有能力提供更高水平服务的角度来说,现在客户的一个主要的不满或者客户主要希望能够得到满足的一个需求,同时也是厂商的责任就是要提供稳定的、可靠的虚拟化解决方案,并且这个虚拟化解决方案可以从一些错误和故障当中很快地恢复,而不会破坏客户的数据。这就是客户现在想要的,也是厂商应该提供给他们的。

而且这些新的服务必须要满足客户在性能方面的要求,没有一家客户愿意在有能力提供新的服务的同时在性能上做出一些牺牲,或者是有一些抵消——譬如说要在可靠性和性能当中做一个交换,没有人愿意这样。

存储虚拟化现在仅仅是一个开始。市场上已经有了一些非常的强大而且高性能的解决方案,但是另外还有一些存储虚拟化的解决方案,无论性能还是可靠性都比较差。客户自己对于每一个厂商的解决方案会去评估,会把你在宣传中的承诺和实际性能进行对比,今天的市场上实际上是一个非常混杂的情况,有的低端或低成本的解决方案反而效果很好,有些高端解决方案效果不那么好,当然也有一些非常优秀的高端解决方案。

现在有一些存储虚拟化的厂商,他们给客户一个误导,好像是有了他们的存储虚拟化技术或者是解决方案,就能够对客户所有的存储资产都进行虚拟化的处理,其中包括整个数据中心、整个存储池,实际上这种说法是完全错误的。今天的存储虚拟化技术只能是针对一些特定的应用来采纳,譬如快照技术、在异构的设备之间进行复制。在这些特定的解决方案中,只要你找对了虚拟化的解决方案,是能够满足客户的需求的。但是现在有些厂商说他们的虚拟化方案能够解决所有的事情,现在还没有一家厂商的虚拟化技术达到了这个阶段。

虚拟刀片与附加模块之争

在市场上,虚拟化厂商或解决方案有着多种不同的侧重点或不同的方式来交付虚拟化的解决方案。从McDATA的角度来说,我们主要是为客户解决三方面的问题:

首先是向后兼容性。就是使用McDATA的虚拟化解决方案的时候,客户和他现在业已部署的McDATA的导向器——譬如64端口的Intrepid 6064——仍然能够实现兼容,那么这样在已有的架构之上推出虚拟化技术,而不会对用户已有的投资产生破坏,那么与此形成鲜明对比的是某些厂商推出的虚拟化解决方案是极具破坏性的,用户用了他的虚拟化技术的话,要把现有的设备全部换掉,包括机箱,这样才能上新的服务。

其次是可靠性。要建立一个强大的企业级解决方案,这种强大的解决方案必须具有扩展性和兼容性,因为我们不能让客户冒他们投资上的风险,要建一个全新的SAN架构才能够使用虚拟化技术。我们希望他们能把虚拟化解决方案建立在已有的、稳定的并且已经在使用的已经有投资的基础之上。我们的解决方案是非常牢固的,并且有着非常强大的性能。

第三个是性能。没有一家客户会愿意用更多的服务来降低性能,或者在性能和服务之间做一个交换。McDATA基于FAIS(后面将有详细介绍)的解决方案在目前市场上所有虚拟化技术中体现了最高的性能。以其他厂商的解决方案为例,他们每个端口的IOPS(I/O per second,每秒I/O数)是4万到5万个,如果采用刀片式技术的话可以达到每端口20万到30万个,但是McDATA的虚拟化解决方案每端口速度可以达到100万个,所以说我们提供的解决方案是绝不在任何意义上降低客户性能的基础上的虚拟化解决方案。

所以说McDATA的解决方案主要强调的是在实现向后兼容的同时提供非常高的性能、可靠性和数据完整性。这在现在的市场上代表着一种非常独特的思路,因为很多厂商的虚拟化解决方案是在一个导向器当中加一个虚拟化的刀片,这对用户来说就得把整个导向器都买下来才能够使用这样的虚拟化解决方案,这对客户已有的投资和架构具有一个非常大的扰乱和破坏作用,McDATA是不这样做的。

模块的利与刀片的弊

McDATA的方法是向客户交付虚拟化服务模块(Virtualization Sevices Module,VSM),也就是一个专用的虚拟化平台,通过端连接的方式附加到用户已有的数据导向器上就可以了。在我们的虚拟化引擎中,它的核心是一块非常高性能的ASIC,我们和EMC的Invista是有一个合作的,Invista告诉我们怎样去做这个虚拟的映射。处理速度是非常之快,刚才讲了每端口每秒100万个I/O,这样在整个数据传输当中如果有了一个虚拟化的目标的话,我们把这个虚拟化的目标做一个重新的定向,把它导向虚拟化服务模块当中,接到导向器上面——用现在的64端口、140端口导向器(Intrepid 6140)就可以了。

而且对这个模块加上去以后,对虚拟化模块进行管理的时候,是把它作为导向器的一部分来管理的。其他的一些厂商他们主要是采用一种虚拟化的刀片,通过插槽的方式加入导向器当中,这样你要想用他的虚拟化解决方案,就必须要用他的导向器,如果用刀片的形式的话,就牺牲了或者是放弃了导向器已有的端口的能力。

这些刀片式的解决方案还存在着一个非常严重的问题。因为一个刀片系统相当于一个卡上的PC,带有一定的CPU的能力、内存、ATA的硬盘,而且还有一定规模储量的电池,所以它本身产生了功耗和散热的要求。如果你把这样的一个刀片插到一个导向器的机箱上的话,本来你的导向器是一个具有很高可用性的设备,可你把这个刀片插进去以后,在功耗、散热和可靠性方面会给它加上沉重的负担,这样使得你的企业部署导向器本来的目的丧失了——因为部署导向器就是为了提供高性能的切换和高可用性的。

未来会不会在新的导向器中采用刀片?)我们采用模块化的策略。我们之所以采取模块化的策略,是因为我们看到其他的厂商,他们实际上是一个无所不包的大机箱的解决方案,我们是不赞成的。因为我们认识到了客户首先的要求是必须有一个高性能的光纤交换数据的层,他们首先有这样一个要求,我们必须满足他们这方面的要求。

与此同时他们可能有一些服务上的要求,譬如远程存储和虚拟化。我们把他们的服务要求用模块化的方式添加进去,从而不影响导向器的主要功能,如果你把所有的功能塞在导向器、塞在一个大机箱里面,就会降低导向器的可用性,会增加导向器的功耗和散热的要求,并且会在微代码上产生一些问题——这么多东西放在一起会在微代码上产生一些问题。

这样无论对于客户还是对于厂商都会带来很多的麻烦,而McDATA通过专门的把虚拟化的服务需求用模块化的方式提供给客户,体现了很高的灵活性,既满足了客户的基本需求,也就是告诉数据交换的需求,也满足了他们高水平服务的需求。

一直作为导向器之外的设备,而不会集成?)是的。这样做的一个主要原因是想最高的体现功能性,也就是说如果你今天使用的是一个64端口的导向器的话,可以加上一个虚拟化的模块,将来你的导向器达到256端口(如i10K),仍然可以加上同样的虚拟化的模块,这样给客户提供足够的灵活性,在不替换整个架构的情况下实现不同层级上的替换。

这样做的另外一个主要目的是实现管理的简易,因为我们的虚拟化技术好像就是导向器的一部分一起加以管理,不需要一个单独的域ID,不会作为一个分离的机箱来处理,这样就促使客户的管理变得更加容易,并且给客户以足够的灵活性,使他们可以灵活地替换,在不替换整个基础架构的情况下替换架构中不同的组件。

基于网络的虚拟化离标准更近

对基于网络的虚拟化和基于控制器的虚拟化之间的争论,特别是HDS对前者的攻击,而McDATA则是EMC Invista的合作伙伴,Tom Clark先生肯定会加以反驳,关键要看他怎么说)我认为这两种方法都各有其优势,但如果我们看HDS,HDS自己今天都在设法把他们的虚拟化的功能从他们的存储阵列当中剥离出来,做得更像一个设备(Appliance——HDS的确表示明年将会推出“完全没有(内部)磁盘的NSC”),IBM也是把存储作为一个单独的设备来对待的,而且他们现在非常关注EMC的做法——就是将控制路径和数据路径分开(带外,Out-of-band)处理。

所以我想主要是根据客户要求的不同。客户是有很多选择的,我认为McDATA给客户的选择是最好的。当然我们只代表了一家厂商,我们与其他厂商和合作伙伴有密切的合作,包括与HDS也有密切的合作,譬如说我们和他们在产品路线图方面有着密切的沟通,包括一两年以后他们会推出什么样的产品。

根据我的判断,现在整个行业正在朝基于网络的存储虚拟化融合,因为网络存储虚拟化的效率更高,更有效。譬如说刚才给大家演示的这个基于FAIS的我们的虚拟化服务模块,它首先具有很高的性能,第二它对厂商是中立的,是一种中立化的,也就是说有了这个模块,可以对来自不同厂商的异构存储资产能够进行一个非常灵活的虚拟化的处理,所以说我认为经过一段时间的发展,网络存储虚拟化是大家都会接受的趋势。

实际上基于网络的虚拟化是现在惟一一种拥有了基于通用标准——FAIS(Fabric Application Interface Standard,光纤架构应用界面标准)——的API倡议或API项目的虚拟化技术。在FAIS的标准中,把虚拟化元数据的创建和管理像Invista这样的应用以及数据路径的执行都做了划分。

现在FAIS正在由ANSI T11.5小组做标准化,这个小组在标准化过程中主要是通过API来界定,通过这些API在虚拟技术软件和Fabric虚拟智能之间做出一个划分,这个Fabric虚拟智能可以体现在McDATA所做的这个模块当中,也可以体现在独立的设备当中,也可以有的厂商用刀片来体现。也就是说,在Fabric的层次上我们制订基于标准的API的好处就是可以独立于主机和存储设备之外,这样的话我们就不需要在主机上运行专门的软件了,也不需要在我们的目标存储上去运行专门的软件或微代码了,这是因为我们网络中的Fabric处理了所有的虚拟化的服务。

基于哪种方法都要注意安全

HDS认为基于网络的虚拟化需要API和/或标准来与交换机操作?)是的,它虽然需要API,但是基于标准的API,而如果你把虚拟化放到存储阵列中的话,从本质上是一个专有化的应用。(针锋相对,因为HDS就是想说基于网络的虚拟化会将用户套牢于某个厂商——譬如EMC

当把虚拟化的引擎拆下来以后,就不能够恢复网络上的数据连接到原来状态了?)没错,但你移开TagmaStore或其他基于阵列虚拟化引擎的连接,数据连接也一样是不能恢复的。

当然,如果客户是一家日立的客户,很喜欢日立的这种阵列的方式的虚拟化,这是可以的。但是你在选择日立的同时,你要去认识清楚了这是一个对HDS的长期的承诺,不能够放弃它,所以说无论你用的是网络虚拟化还是阵列虚拟化,对客户来说都要先期的在他的系统当中去内置一些恢复和保护的措施,这样的话一旦断开与虚拟化的连接,我们能够恢复虚拟化的元数据,就是说无论网络虚拟化还是阵列虚拟化,我们都必须要建立冗余和故障切换,以确保稳定性。

标准化将带来美好前景

既然Invista基于FAIS,那么EMC和第三方厂商的磁盘阵列是否可以不加修改的用?主机和阵列的软件也能够继续使用吗?)基本是这样。实际上想要这么完美的话,没有产品能做到,但是基本上来说是能做到的,因为大家可以看到在这种解决方案中存储虚拟化的解决方案对主机是透明的,对目标(存储阵列)也是透明的,所以过去的这些业务应用可以继续的运行,主要的工作是在Fabric中完成,所以对以前的东西没有影响,无论从性能还是从可靠性的角度来讲。

但是我这里讲的优势是所有基于FAIS的界面都能够体现出来的,而绝不仅限于Invista。我想经过一段时间的发展,会有越来越多的厂商拿出基于FAIS的解决方案,譬如IBM、HP、Sun,甚至日立。

其他厂商用自己的基于FAIS的方案,软件放在McDATA的VSM或其他人的刀片上,也可以实现类似Invista的虚拟化方案?)这个理解是对的,我们之所以有FAIS这个基于标准的思路,那就是说有了基于FAIS的API之后,无论EMC的软件,还是IBM的软件,通过基于FAIS的API,都能够符合客户的硬件平台,良好的连接在一起。当然我们认为在这些解决方案当中,McDATA是最好的,具有最高的可靠性、强大的性能和很好的向后兼容性,但最后是由客户的硬件平台决定的,看用户的硬件平台是更喜欢模块化还是更喜欢刀片或者交换机。

是否基于网络的虚拟化是惟一可以形成标准、互换使用的方法?)我想这种共同的访问,是因为Fabric的存在,但在这个基础上还要有其他的技术,譬如说SAN路由、FCIP和iFCP等远程存储技术,还有不同层级的存储——像用于连接廉价服务器的iSCSI。

有了这种基于Fabric的虚拟化智能,再加上刚才提到的许多其他的技术,就使得在整个网络当中,任何一台应用服务器都可以去访问经过虚拟化的数据资产,而不用管它在什么地方。(这也是笔者心中存储虚拟化的理想目标!

阅读(401) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~