存储厂商在存储世界中必须面对的一个问题就是互操作性,而互操作只有和虚拟化更加紧密地结合,才能实现业务关键业务的全面互操作。
随着互联网的出现,信息量的快速增长,网络设备的不断增加,存储世界中的互操作性就变得尤为重要非常突出。尤其是在存储领域,互操作性几乎成为了那些拥有大量不同厂家存储设备的大中型企业非常头痛的一个问题。
例如,一个厂商的存储产品如果不能支持其他厂商的服务器或者存储设备,那么用户在安装部件以及解决问题的时候,就会面临更高的复杂性。
而且,如果异构环境中设备能够互相支持操作的话,就可以减少各种不同的架构和应用程序间的“摩擦”,从而使整个系统的操作效率得到提升。
现在的计算机系统是由应用层、Database、操作系统以及硬件平台组成。进行网络存储的方式有两种,一种是通过TCP/IP,另外一种是通过光纤,再连入存储系统,但无论哪一种方式都要确保各种平台、系统以及应用层之间的互通性,这是系统正常运行的基础,EMC公司在存储设备中加入的虚拟化控制器就是执行互通性的设备。
为了维持存储的互操作性,需要非常巨大的投入,以EMC为例,从2003年到2006年,就花费了超过100亿美金的创新投入,其中70亿美元用于收购,30亿美元用于研发,这其间EMC花费了大量成本以保证各个收购产品和解决方案能够实现互操作来进行维护存储设备的互操作性。
EMC大中国区产品及技术总监杜国强认为:要实现存储的互操作性,就必须从以下三个方面来着手:虚拟化、标准化和各大设备厂商间的协调与测试。
存储虚拟化
要实现存储网络的互操作性,离不开存储虚拟化,虚拟化是一个重要的前提。
广义上讲,虚拟化是虚拟多个操作系统,这些操作系统与应用程序共用硬件装置,但在逻辑上各自独立运行互不干扰。虛拟层映射实体的硬件资源到自己本身的虛拟机器资源,因此每个虛拟机器都有各自的CPU,内存,硬盘,I/O设备等。
存储虚拟化是以存储设备为对象的软硬件虚拟化产品,存储厂商一般根据各自所掌握的核心技术来提供自己的虚拟存储产品。
我们可以看到不同厂家、社团和媒体对存储虚拟化的阐述不同定义:存储虚拟化源于虚拟内存技术,是内存管理技术向外存储系统管理中的迁移; 虚拟存储概念源于大型机,是大型机领域的有效软件工具向开放系统渗透的结果;存储虚拟化是种新的革命性的概念; 虚拟化是网络存储发展的必然,是网络存储环境下不同存储系统优化和管理的必要工具。
如果要进行存储虚拟化,需要考虑很多复杂的问题。首先虚拟存储所虚拟对象是一些存储资源、磁盘、磁带、文件、文件系统、数据块等。其虚拟结果是虚拟磁盘、磁带、文件、文件系统、数据块等。虚拟对象不一定是物理设备,也可是逻辑对象。虚拟存储可将物理设备虚拟成物理设备,也可将物理设备虚拟成逻辑对象或将逻辑对象虚拟成物理设备。
图1 存储拓扑图
图1表示的是集成了应用层、Database、操作系统以及硬件平台的各种服务器,中间通过一个“SAN”交换机连接不同厂商的存储设备。
而存储虚拟化不仅仅需要虚拟存储容量,更要要虚拟各厂商存储设备的CPU、内存等等,就是通常说谈到的处理能力。同时还要虚拟化它的这条路径(交换机到存储),这又成为一个复杂的问题,因为不论是网络连接中的哪个节点发生任何变化,都可能导致全部节点的变化,这也正是存储网络虚拟化最大的难点。
而网络级的虚拟化,才是真正意义上的存储虚拟化。它能将存储网络上的各种存储子系统整合成一个或多个可以集中管理的存储池,并在存储池中按需要建立一个或多个不同大小的逻辑卷,并将这些逻辑卷按照一定的读写授权分配给存储网络上的各种应用服务器。
克服了主机级存储虚拟化无法实现管理授权的问题,也避免了存储子系统级虚拟化管理不灵活的弱点,达到了充分利用存储容量、集中管理存储、降低存储成本的目的。网络级的存储虚拟化技术以其兼容性、扩展性、管理性、灵活性、可用性、安全性方面的优势,受到广泛的重视,具有极其光明的应用前景。
网络存储“NAS”之存储虚拟化技术,是在通信协议TCP/IP的平台上面,任何客户都可以通过处理GNS(Global Named Space),让客户端可以很迅速、准确地查到所需要的文件、文档,却并不需要知道这个文件详细的路径。
同样以EMC的Rainfinity为例,Rainfinity在一个单一接口中包括了优化容量管理、性能管理、存储整合、分层存储管理、数据保护、同步复制和全局命名空间管理等应用,据此实现了NAS条件下的虚拟化。
EMC大中国区产品及技术总监杜国强先生表示,在虚拟化方面EMC的实力雄厚,目前全球十大虚拟化的专家有六个在为EMC工作,其中就包括被称作“虚拟化之父”的Mark Louis。
标准化:互操作的必由之路
近来,随着全球气候日趋变暖,节能和绿色环保正在引起人们的高度重视,同时,也受到越来越多数据中心管理人员的关注,绿色IT、绿色存储大概是近来存储领域出现频率最高的词汇了。
绿色存储
在各种电脑设备中,存储设备耗能一般要占到整个数据中心电力消耗的30%~40%。而几乎所有的企业,不论规模大小,都面临着业务数据不断增加、存储需求日益膨胀的挑战。
绿色存储,正在成为计算机节能的一个重要攻坚目标。而绿色存储的实现离不开存储的虚拟化,今天某个客户可能有上百套的服务器,包括IBM、SUN、Intel的各种类型的服务器,甚至有刀片服务器,这就出现了一些新问题,大量的服务器需要通过虚拟化工具把它们变成100:1使用,也就是说你这里有1000套的话,最多这里会变成10套,然后会开一个虚拟的环境模仿每个节点。否则这些服务器和存储器就会占到计算中心大量的空间。APC有一个数据统计,一个数据中心大概50%左右是服务器跟存储的能耗,大概10%是网络,另外还有20%多是空调,所以最消耗能源的是什么?服务器跟存储。
现在各行各业都在谈绿色、环保节能,这时虚拟化的优势就充分体现出来了,他可以节省掉很大一部分的空间,同时也就节省了能耗。
现在世界各地都在强调节省能耗的问题,以美国为例,如果某家公司由于工作,需要添加一台路由器,就要求必须撤出公司另外一台原有的路由器,就是来限制能源消耗的继续增加。
存储标准
存储最终要在虚拟化的基础上实现互操作性,离不开标准的制定。标准在存储领域中扮演着越来越重要的角色,举一个最简单的例子,硬盘是机械的,首先有可能出机械性问题,其次,由于各种存储设备更新速度比较快,也可能在数据保存7~8年以后导致数据无法正常读取,此时标准的出台就显得尤为重要。通过各方力量对存储标准不遗余力地推动,将使得存储标准化的程度越来越高,用户的存储使用成本将越来越低。
杜国强认为,“世上本无路,走的人多了,也就成了路”。ILM如此,互操作性亦如此。当所有厂商都在谈论存储的互操作时,自然就会有人站出来提议建立相关的标准。
存储业界著名的基于也以成立了以确立技术标准确立的为目标的中立性组织SNIA (全球网络存储工业协会)。自1997年成立以来,已经有400多家存储厂商加入了SNIA, 该协会为实现网络存储的兼容和标准化起到了重要的作用。
图2 在TCP/IP上各大厂商的存储设备
各大厂商的协调与配合
要想实现设备间的互操作,诸如微软、EMC、HP和IBM等国际软硬件巨头之间的协调与配合也是必不可少的。例如,2006年, EMC先后宣布与Oracle和SAP两大软件巨头合作,通过产品认证、测试等一系列措施,加强软件领域的无缝集成,提高了易用性。
在EMC、HP和IBM等厂商之前,签署有一个叫做“CSA”协议,这个协议可以防止各大IT厂商通过签署这个协议改变在用户使用不同品牌的产品在发生问题时,在发生问题后被厂商之间互相扯皮的事情发生“踢皮球”的尴尬。他该协议对每个厂商的义务都有详细的规定。各大厂商在对自己的产品进行宣传的时候,均不得以其他品牌无法与自己的产品实现互操作为由,获得不正当的利益。
为了保证所有品牌的设备都能够无缝平滑地实现互操作,满足CSA协议对各方在互操作性上的要求,各大厂商在推出各自的新品牌之前,一般都会与其他厂商进行协调,并将自己的产品送到其他设备提供商处进行测试。如此,设备间的互操作性就能得到有效的保证。
我们有理由相信,在上述因素的共同推动下,实现硬件设备间、硬件和软件设备间的互操作性并不遥远。互操作终将跨越“天堑”,打开设备互连的“通途”。
开源需要互操作
各种开源软件与各种私有商业软件在各自相互之间,在各个层次上的互操作性问题引起了业界的广泛关注,开源软件在实现互操作性方面具有天然优势。
执行开放标准,解决互操作性,已成为当前软件产业发展中的一个核心问题。
二十世纪后期以来,世界经济进入全球一体化和快速增长期,需要有一种具有可操作性的途径来实现计算资源的整合和信息共享,为此呼唤实施开放标准
而开放标准指的是通过应用编程接口、通信协议以及数据和文件格式,使用公开发布并为公众认可的技术规范来实现异构系统之间的互操作性。开放标准的全部价值在于它对异构系统灵活性的支持,只有采用开放标准才能建立支持异构系统互联互通、互操作、信息共享、资源整合的统一平台。
所以,解决软件的互操作性,包括解决开源软件之间、私有商业软件之间,以及开源软件与私有商业软件之间的互操作性问题,已成为当务之急,并已形成当前软件产业发展中的一股技术潮流。开源软件在这方面的优势是:它充分体现开放标准实施的过程;面对应用解决方案,它既适合于建立开源架构(Open Source Stack),也适合于建立混源架构(Mixed Source Stack),且更有利于建立在松耦合条件下面向服务的架构(SOA,这是一种有利于解决异构系统之间在相互通信、交换数据困难时的符合开放标准的架构);以及采用虚拟化技术的共存架构(这是一种扩大互操作性概念的架构);开源软件的社区协作开发方式,是建立开放标准统一平台的一种创新模式。
这里要指出的是关于互操作性的概念。所谓互操作性(Interoperability)是指一个软件系统与另一个软件系统互相间具有接收、处理并共享所发送信息的能力。有人认为,兼容性也可以归纳在互操作性的范畴内。
所谓兼容性( Compatibility),指某个系统上运行的应用程序符合另一个系统的接口要求,从而使该应用程序也可在另一个系统上运行,这时对该应用程序符合某个接口的能力称为兼容性。从上面对互操作性和兼容性概念的表述来看,它们间有共性,也有区别,一般来说互操作性涉及到接口、协议、格式的公开性、一致性,内涵更丰富,具有公平性、主动性、战略性的特点;而兼容性则具有依附性、被动性、短期性的特点,并可能要承担“反兼容”的风险。
在虚拟化技术环境中,通常指物理服务器可虚拟成多个虚拟机的应用,操作系统是在虚拟的硬件上运行的,所以在虚拟的环境中可能同时存在几种不同的操作系统,有人也把“共存”理解为“互操作性”,这是扩大互操作性概念的一种看法;而且服务器虚拟化只是起点,公用计算才是其目的。本文下面要谈论的互操作性指的是其广泛的概念。
谈到互操作性,是分层次的例如:不同厂商(不同设备)之间的互操作;标准的互操作;架构的互操作;网络的互操作;应用软件的互操作;操作系统的互操作。