WatchStor.com — 领先的中文存储网络媒体 | 51CTO旗下网站

评测导购 > 存储虚拟化 > 正文
浅析虚拟存储
作者: 51cto.com 2006-01-17 14:18 【】

用户对存储的需求不光是在容量上,还包括数据传输性能、数据管理能力、存储扩展能力、异构产品整合能力等多个方面。为满足这些要求,存储虚拟化逐渐走向了成熟,并成为一个不可逆转的潮流。
对于许多企业来说,存储系统已经是IT系统中一个完全独立的层次,就像网络、应用和服务器一样,并且存储系统在IT系统中的地位也越来越重要。
存储系统地位的提升,直接刺激了其市场的增长。据相关机构预测,2004~2009年,中国外置磁盘存储系统的增长速度将为13.1%,整体存储硬件市场的增长率则为10.2%。
为了抢夺存储这一巨大的市场,有些企业发出了“把存储产品当作大白菜来卖”的论调,而为了在竞争中占有主导地位,各厂商也在大力推动存储技术的发展。
在这样的环境下,虚拟存储技术逐渐成熟,并由不显眼的角落走到了台前。
虚拟存储是什么
虚拟存储就是将存储系统进行虚拟化。通常情况下,虚拟化是通过虚拟抽象层来实现的。它将存储系统的物理存储体逻辑上组织起来构成一个逻辑存储体(又称为存储池),然后将存储池根据不同的需求划分成虚拟磁盘或虚拟卷。采用虚拟卷,使得呈现给应用程序和用户的是一种物理磁盘的抽象。这样每个服务器系统或工作站在本地所看到的逻辑存储单元和本地的硬盘没有什么差别。
在虚拟存储环境下,单个存储设备的容量、速度等物理特性都被屏蔽掉了,无论后台的物理存储是什么设备,服务器及其应用系统看到的都是客户非常熟悉的存储设备的逻辑映像,因此,系统管理员不必关心自己的后台存储,只须专注管理存储空间本身。所有的存储管理操作,如系统升级、改变RAID级别、初始化逻辑卷、建立和分配虚拟磁盘、存储空间扩容等比以前的任何存储技术都更容易实现。
虚拟存储是如何产生的
可以说,虚拟存储这一技术并不新。虚拟存储是随着计算机技术一起发展起来的,最早是始于上世纪70年代。由于当时的存储容量,特别是内存容量小、成本非常高,大型应用程序或多程序应用受到了限制。为了克服限制,虚拟存储的技术就产生了,最典型的应用就是虚拟内存技术。
早期的VMS采用分时系统,也采用了虚拟技术将一个大型机虚拟成多个计算机,将两台或多台计算机系统虚拟成一个计算处理实体。
广泛使用的RAID技术实际上也是将多个物理存储介质(磁盘、磁带)虚拟成一个大的逻辑存储介质。
因此存储虚拟化的理念实际上已经在计算机领域中被广泛采用。
数据爆炸性的增长、存储设备的网络化和多样化,计算机技术以及相关信息处理技术的不断发展,使得人们对存储的需求越来越大。这刺激了各种新技术的出现,比如磁盘性能越来越好、容量越来越大。但是在大量的大中型信息处理系统中,单个磁盘是不能满足需要,这样的情况下存储虚拟化技术就发展起来了。
在这个发展过程中也存在几个阶段和几种应用。首先是磁盘条带集(RAID,可带容错)技术,将多个物理磁盘通过一定的逻辑关系集合起来,成为一个大容量的虚拟磁盘。
而数据量不断增加和对数据可用性要求的不断提高,又一种新的存储技术应运而生,那就是存储区域网络(SAN)技术。
SAN的广域化则旨在将存储设备实现成为一种公用设施,任何人员、任何服务器都可以随时随地获取各自想要的数据。
目前讨论比较多的包括iSCSI、FC Over IP 等技术,虽然一些相关的虚拟存储标准还没有最终确定,但是存储网络广域化、存储设备虚拟化是一个不可逆转的潮流。
虚拟存储有什么好处
扩展更容易:虚拟存储避免了由于存储设备扩充所带来的管理方面的麻烦。
例如,使用一般存储系统,当增加新的存储设备时,整个系统都需要重新进行繁琐的配置工作,才可以使这个“新成员”加入到存储系统之中。而使用虚拟存储技术,增加新的存储设备时,只需要网络管理员对存储系统进行较为简单的系统配置更改,客户端无需任何操作,感觉上只是存储系统的容量增大了。
提高整体带宽:虚拟存储可以大大提高存储系统整体访问带宽。存储系统是由多个存储模块组成,而虚拟存储系统可以很好地进行负载平衡,把每一次数据访问所需的带宽合理地分配到各个存储模块上,这样系统的整体访问带宽就增大了。
例如,一个存储系统中有4个存储模块,每一个存储模块的访问带宽为50MBps,则这个存储系统的总访问带宽就可以接近各存储模块带宽之和,即200MBps。
整合异构产品:虚拟存储技术为存储资源管理提供了更好的灵活性,可以将不同类型的存储设备集中管理使用,保障了用户以往购买的存储设备的投资。
提高存储效率:虚拟存储技术解决了存储空间使用的浪费,它把系统中各个分散的存储空间整合起来,形成一个连续编址的逻辑存储空间,突破了单个物理磁盘的容量限制,而且由于存储池扩展时能自动重新分配数据和利用高效的快照技术降低容量需求,从而极大地提高了存储资源的利用率。
支持业务连续性:如果部署得当,虚拟存储可以给管理员以更大灵活性,修改基础设施而不影响系统或应用。虚拟存储通过增加基础设施的灵活性,使得IT更独立地管理基础设施而不依赖应用程序和商务活动,从而简化整套管理。
例如,每个存储阵列和服务器都有自己配置卷的方法,将来,虚拟存储也会为存储管理员提供单独的方法,在网络内以统一标准实现这些功能。
其它功能:虚拟存储技术可以通过管理软件,为网络系统提供一些其它有用功能,如无需服务器的远程镜像、数据快照(Snapshot)等。
虚拟存储如何实现
存储的网络化是未来存储发展的必然,不论是在NAS的网络环境中还是在SAN的网络环境中,其网络的基本组成部分可以归结为三个层次:面向客户端的服务器系统、提供存储资源的存储设备、连接存储和服务器的核心交换设备。因此也可将虚拟存储分为:基于服务器的虚拟化、基于网络的虚拟化、基于存储设备的虚拟化。
基于服务器的虚拟存储:基于服务器的虚拟存储是通过将虚拟化层放在服务器上实现的。这种实现方式不需要额外的特殊硬件,虚拟化层以软件模块的形式嵌入到服务器的操作系统中,将虚拟层作为扩展驱动模块,为连接服务器的各种存储设备提供必须的控制功能。
比如说,它可以通过连接一组在阵列水平上配置的小规模的空间,形成一个大空间;也可以把大的阵列卷分成几个易管理的小单位;或者在维护一个应用空间时可以在若干个阵列空间中提取数据。
因为不需要任何附加硬件,基于服务器的虚拟存储最容易实现,其成本最低。目前已经有成熟的这类软件产品。这些软件可以提供便于使用的图形界面,方便存储的管理和虚拟,在服务器和小型存储系统中有着良好的负载平衡机制。
基于网络的数据通道中方式:数据通道中结构是在服务器和阵列之间的网络数据通道中插入虚拟存储管理设备。这些设备通常提供空间管理和其它配套功能,如数据迁移和拷贝服务。
数据通道中结构采用大容量高速缓存,显著提高数据传输速度。高速缓存是存储系统中广泛采用的位于服务器与存储设备之间的I/O路径上的中间介质。
当服务器从存储设备中读取数据时,会把与当前数据存储位置相连的数据读到缓存中,并把频繁调用的数据保留在缓存中;当服务器读数据时,在很大机率上能够从缓存中找到所需要的数据,直接从缓存上读出。
基于网络的数据通道外方式:通道外方式的设计是通过在服务器和存储设备之间的数据传输通道之外,通过配置一个虚拟存储管理器来实现存储器池的虚拟化。虚拟存储管理器通过其FC端口连接到存储网络中,并提供一个中央管理点,对整个存储网络进行集中管理。
通道外方式的设计是通过从数据流中分割管理信息,避免通道中结构所产生的内在运行问题。虚拟存储控制器将不同物理硬盘阵列中的容量进行逻辑组合,实现虚拟的带区集,将多个阵列控制器端口绑定,在一定程度上提高了系统的可用带宽。
虚拟存储控制器不在实际的数据通道上,它的硬件性能不会成为系统带宽的瓶颈,同时,即使它出现故障,也不会引起网络系统的数据通道阻塞,提高了系统的安全性。
基于控制器的虚拟化:基于控制器的虚拟化也被称为“盒内”虚拟化,它是将虚拟化层放在存储设备的适配器、控制器等上来实现的。
这种实现方式从理论上说性能是最优的,它能够充分考虑存储设备的物理特性,并且将服务器从虚拟存储的实现工作中解放出来,直接在存储设备上实现,方法简单。
在一个存储设备内,盒内解决方案具有易于配置的优势,而且先进的方案还可以通过控制器之间的通信实现多个存储设备之间的共同虚拟化。
盒内虚拟化可以大幅度地降低存储部署的复杂性,使管理员能够将存储资源当作一个合并后的资源池来管理,而且容量管理也从原来的独立单位一级提升到了池一级。
盒内虚拟化还消除了其他架构中常见的所谓“标准容量”。标准容量通常被认为是预先分配给某个卷的容量,并为未来的容量需求增长做好了准备。但盒内虚拟化消灭了这种传统的需求,使卷扩展的工作变得更为简便,并且提供了比传统架构更高的容量使用率。
还有一种基于控制器的虚拟化方案,就是被IDC称作网络存储控制器的存储设备,它在本质上也是基于控制器的虚拟化,但是与普通的盒内虚拟化不同,网络存储控制器还可以做到对连接到它上面的其他存储设备进行虚拟化,因此网络存储控制器也称为基于控制器的外部虚拟化平台。
虚拟存储面临的挑战
可以看到,各种虚拟存储的功用十分让人心动。但是,各种存储方案都有其局限性。
基于服务器的虚拟存储由于是在服务器系统上工作的,因此必须对每一台服务器单独设置配置和应用。如果服务器数量不多,这不是问题。但在一个企业的系统设置中,通常都有几百台甚至上千台服务器通过SAN系统存储数据,控制分布空间很快就成为一个严峻的问题。
其次,由于虚拟化层驻留在服务器上,因而软件模块就必须能嵌入到各种类型的操作系统中,增加了软件实现的难度。
再次,需要采用集中管理策略,这种虚拟化的技术实际上是在一个分布式的环境中实现的,当任何一个服务器对数据进行恶意或非法的操作时,就可能会影响到所有连接到存储设备的数据的完整性和一致性,因此需要适当的集中管理策略。
通道中方式最主要的缺点是在网络路径上增加了一个额外的“跳”,这样就增加了服务器和物理存储设备之间的时延。
一些通道中设备试图以在设备内部使用缓存的方法解决等待时间的问题。但这在很大程度上要取决于应用和缓存算法的效率。
由于虚拟存储的控制交换设备直接存在于服务器和存储设备之间,所有服务器对存储设备的访问都要经过它的通道与管理。为了使控制交换设备不成为整个系统的带宽瓶颈,该设备就需要有很大容量的缓存来用于进行数据交换。
同样由于虚拟存储的控制交换设备直接存在于服务器和存储设备之间,因此该设备的安全性对于整个系统就是至关重要的,一旦它出现故障,所有数据通道将被阻塞,造成网络系统数据传输崩溃。
通道中虚拟化结构的一个更为严重的缺点是限制了其扩展性。由于所有虚拟化区域中的I/O需要通过通道中方式,不是在带宽就是在处理能力方面,会形成一个瓶颈。一旦任意一种资源耗尽,就必须采取数据扩展策略。这要求通道中的节点越来越大,以实现通道中大规模的虚拟化。这样一来,通过虚拟化降低复杂性和简化管理的初衷就无法实现。
通道外方式虚拟存储的安全性相对较差。它在本质上还是带区集—磁盘阵列结构,一旦带区集中的某个磁盘阵列控制器损坏,或者这个阵列到交换机路径上的铜缆、GBIC损坏,都会导致一个虚拟的LUN离线,而带区集本身是没有容错能力的,一个LUN的损坏就意味着整个Strip里面数据的丢失。
基于控制器的“盒内”虚拟化对存储容量的扩展有很大限制,对于包含多家厂商存储设备的存储系统来说,这种方法的运行效果也不是很好,而且它不提供多层存储缓冲池,还给完整性和服务质量带来了新的挑战,同时对数据空间的分割增加了日常管理的复杂性。
存储控制器方案的挑战也很多。网络存储控制器还没有完全满足用户对原有资产支持的需求,即在一个通用基础设施上提供所有原有存储管理工具和实用程序。同时,用户还希望网络存储控制器能够提供更广泛的异构存储。
如何选择虚拟存储
许多存储厂商都信誓旦旦地保证,虚拟存储将是实现存储资源动态、高效和轻松配置的捷径。在虚拟存储环境下,存储将不依赖于地理位置和互连体系结构,变得可视、具有弹性、可移动而且安全。用户将不必再担心使用的是何种设备,他们所需要关心的将仅仅是使用空间的大小。
在实际应用中却不是那么回事,虚拟存储方案各有所长也各有缺陷。
用户在选择、实施虚拟存储方案时应当参考多个方面的因素,不能为了被人说得天花乱坠的虚拟而虚拟。
自己需要什么
在选择存储虚拟解决方案的时候,用户必须了解自己的数据流程。应该根据自己的IT基础设施和具体的应用需求来选择相应的方案。
会改变多少现状
在实施虚拟存储时需要对现有数据存储结构进行改造,这可能会导致业务运行的停顿。如果企业为实现存储虚拟而必须对自身的基础架构进行重大的改变,投资回报就会受到损失。一个好的虚拟解决方案会对磁盘或存储网络基础架构改变很少。
安全系数有多高
在选择虚拟存储方案时还要考察服务器访问控制、数据保护是否有严谨的策略,是否能够防止未授权客户非法访问数据,是否能有效防止数据丢失。
成本有多高
当评估一个虚拟解决方案时,重要的是在考虑虚拟能够带来的间接成本节省的同时,还要考虑解决方案的直接成本。例如,大多数磁盘供应商对其专有的多路径设备驱动器、复制服务和管理界面进行附加收费。如果做得正确的话,虚拟可以消除企业再购买所有这些专有软件的必要。
会被“套牢”吗
用户在选择方案的时候还应当考虑对供应商的依赖程度。如果依赖程度过高,用户的转换成本将会很高,而这很有可能被供应商“套牢”。

虚拟存储架构示意图

基于网络的数据通道的方式

标签:存储虚拟化 

了不起的IT经理
LecVideo
论坛与活动