分类: 服务器与存储
2010-11-29 11:01:29
最近几年,随着企业业务数据量(邮件数据、应用程序、业务数据、特殊机密数据等等)的爆炸性增加,随之而来的是存储容量和数据管理难度的增加;加上虚拟化将越来越普及,企业存储环境将面临一个前所未有的改变;这个时候存储虚拟化的重要性也就日益突出;存储虚拟化最直接的好处就是使得共享存储的实时更加方便、显著的减少存储容量和提高存储管理效率。虽然存储虚拟化的火热可能会被一些厂商为了达到宣传效果而过分夸大其功能,但是存储虚拟化的确是能够给用户带来一些实实在在的好处,这里探讨存储虚拟化的一些基本东西
存储虚拟化(Storage Virtualization)最通俗的理解就是对存储硬件资源进行抽象化表现。这种虚拟化使用户可以与存储资源中大量的物理特性隔绝开来,就好像我们去仓库存放或者提取物品时,只要跟仓库管理员打交道,而不必要去关心我们的物品究竟存放在仓库内的哪一个角落。对于用户来说,虚拟化的存储资源就像是一个巨大的“存储池”,用户不会看到具体的磁盘、磁带,也不必关心自己的数据经过哪一条路径通往哪一个具体的存储设备。
存储虚拟化减少了物理存储设备的配置和管理任务,同时还能够充分利用现有的存储资源。如果没有存储虚拟化,那只能够物理存储设备进行单个管理,无疑这种管理的难度是很大的,并且非常容易造成存储资源的浪费。
“带外(out-of-band)”虚拟引擎,是在数据通路外的服务器上实现的虚拟功能,也就是将控制数据和存储数据安排在不同的数据通路上传输。out-of-band能够避免in-band的一些问题,但是每台服务器都必须安装虚拟化客户端软件,这种方式将数据路径和控制路径分开,确保了虚拟化设备不会成为数据传输的瓶颈,减少了存储数据网络中的流量,有助于提高系统性能,但是因为一般需要安装专用软件,也容易受到攻击。
“带内(in-band)”虚拟引擎,是在应用服务器和存储的数据通路内部实现虚拟存储,控制数据和需要存储的实际数据在同一个数据通路内传递。带内虚拟存储具有较强的协同工作能力,同时便于通过集中化的管理界面进行控制。但是,无论基于设备还是基于交换机,in-band虚拟化都比较脆弱,由于in-band设备现在成为服务器和存储资源之间必须经过的网关,设备的失效可能会导致整个SAN数据访问出现问题,同时带内存储会占用较多的数据网络带宽来传输控制数据,因而容易在服务器和存储设备之间产生性能瓶颈。
一个好的存储虚拟化策略将取得事半功倍的效果,因此作为一个存储管理人员必须先制定一个好的存储虚拟化策略,比如是否考虑到需要虚拟化策略?实施虚拟化之前,企业拥有哪些存储资源,实施虚拟化之后,企业又需要哪些资源?实施虚拟化之后,企业如何来管理每天的备份、数据保护、归档已经灾难恢复任务了,这和之前的管理又有什么区别?实施虚拟化之后,企业打算拥有多少数据中心,每个数据都肩负什么功能?
毫无疑问的是存储虚拟化能够带来降低存储管理复杂性、降低存储成本,但是决定何时实施存储虚拟化是一个关键因素,而且也非常困难。因为,评估企业当前和存储相关的业务就显得尤为重要。在实施虚拟化之前,存储系统可能处于一种分散、难于管理的状态,虚拟化之后,存储管理人员可以把多个存储系统整合到一个网络环境中去,而通过一个统一的方式去管理这个网络环境。许多企业的关键业务如何去面对这个新的存储环境是需要存储管理人员去认真考虑的。
本人与一些企业的信息中心主管交流后发现,国内企业在规划存储虚拟化策略方面的确是做的很不足。在虚拟化日趋普及的今天,还是希望大家能够从第一步就做好,好的开始等于成功的一半,规划好企业的存储虚拟化策略的确是能够给企业的IT架构改造带来诸多益处。
也许你看到这点会觉得很搞笑,你会觉得:企业数据中心的数据当然都是非常重要和关键的,根据他们的关键成都来分类数据是很难的和不必要的。这种一刀切的想法无疑是幼稚的,实践显示,很多公司都在这个环节上失误。企业在实施虚拟化的时候就需要考虑什么样的数据、多少数据你可以承受它们丢失。例如,当前的存储虚拟化技术在数据库的支持方面就不够,如何你对这些结构化的数据类型不太注意的话,造成的后果可能不堪设想。存储虚拟化可以让你使用那些低性能的存储技术对飞关键数据进行存储。
因此对企业业务数据进行合理分类规划是非常重要和有必要的。合理的分类能够让你的存储虚拟化效率更高,管理也更加方便和快捷。
对于一个存储管理人员,另外一个很重要的事情就是需要对企业的日常业务熟悉,特别是对公司数据的生命周期需要有比较深入的了解。如果作为一个存储管理人员现在还没概念,那么就需要思考一下自己对企业日常业务和企业数据生命周期有多少了解了。
如何对公司的业务数据不了解的话,那么怎么知道什么时候该去归档了、什么时候该去备份了?
假设对公司业务数据了解的话,那么就知道什么时候把数据放在合适的存储类型上,以及懂得规划数据的分层次存储。
作为一个存储管理人员,针对数据周期的存储优化策略是必须的。毫无疑问的是,存储虚拟化在这方面具有非常大的优势。
通过存储虚拟化,存储管理人员可以讲所有不同的存储系统以及它们相关的卷就可以通过逻辑卷的方式进行统一管理了。而这就非常方便用户来实现数据从一个存储层到另一个存储层的迁移。
决定一个公司存储成本的往往不是存储系统的硬件,而是存储平台和存储解决方案的选择,而对企业的存储层次和服务级别规划则决定了存储和存储解决方案的选择。因此规划好你的存储层次和服务级别对于存储虚拟化来说是非常重要的。
数据访问、数据可用性、数据安全、数据响应时间、数据保护等服务级别成为部署存储虚拟化的基础。
那么如何来平衡这些不同的存储层次服务、优化它们的可用性以及增强数据可管理型了?存储虚拟化可以帮助你来降低不同存储层次服务的复杂性和提高数据的可管理性。并且这种行为是不可见的。
我们来举个例子:一个企业应用需要在不同的数据中心上做灾难备份,这就举要一个高度可用的灾难恢复策略。面对这样的应用需求,我们该怎么办了?存储虚拟化能够轻松的平衡数据复制并且可以采用镜像技术让数据在相关的数据中心位置创建,这样的话,第一份主要的数据存在高性能的存储层次上,其他的备份则不一定是在这个存储服务层次上,所以存储虚拟化让企业选择不同的存储平台来满足数据使用的需求。
也许安全性和兼容性是广大企业用户在实施存储虚拟化中最为担心的问题,实际上这种担心也是很正常的,因此我们在部署虚拟化的环境的时候就应该更加仔细的考虑安全因素。
存储虚拟化允许同一个虚拟池上存储设备的简单数据迁移以及异构磁盘子系统的复制,企业关键数据的第二份拷贝就必须有和第一份数据同样的安全级别。举个很简单的例子,针对灾难回复的企业重要数据的第二份拷贝就需要和第一份数据同样严格的安全级别,需要控制它的访问级别和安全保护。
在一些特殊的领域,诸如金融服务领域,存储虚拟化环境安全性的考虑都将影响存储虚拟化的使用。笔者与国内一些用户交流也发现凡是在安全性要求高的行业里面,存储虚拟化的安全性都是重点考虑对象。
存储虚拟化技术当前来说还是一项比较新的技术,存储虚拟化也不是万能的,不要赶潮流而抛弃已有的资源和已有的存储技术,企业存储管理人员需要的把自己现有的存储资源、存储技术和存储虚拟化相关联,找到最适合自己企业的存储策略才是最为重要的。
虽然存储虚拟化技术最终不一定对对所有不同数据类型和系统都合适,但是存储虚拟化是大势所趋,企业需要做和考虑的就是采用存储虚拟化策略来解决特定问题,从而提高企业存储系统的效率。
存储虚拟化可看作一种打通存储底层的基础建设,通过虚拟化产品a提供的逻辑层统合整个存储环境,为前端服务器的存储需求提供单一化服务。因此存储虚拟化产品通常具备这几个特性:
不同厂牌、不同等级的异构存储设备整合,是存储虚拟化产品的首要特性。用户可通过虚拟层介接不同厂牌的磁盘阵列,将这些异构存储设备所含的磁盘,视为一整个存储池,再分配给需要容量的前端服务器,所有存储资源都能在虚拟层介接下统一运用。而前端服务器与后端存储设备间的连接,也从传统SAN环境中的固定地址连接与空间映像,转变为通过虚拟层的动态介接,管理上更有弹性,空间利用率也能有效提高,不再有之前存储孤岛的问题。
这个特性也能让想建置高可用性或异地备援的用户,有机会摆脱必须购置两套相同存储设备的窘境。在虚拟层介接下,前端应用服务器不会接触设备实际,只要是虚拟层提供的空间,映像到前端后,对前端来说都是相同的本地端磁盘区,所以只要把数据同步或复制的机制架构在虚拟层上,就能利用两套不同的存储设备,完成高可用性或异地备援的建置。
要整合用户的存储环境,除了考虑不同厂牌设备的整合,还要考虑不同存储协议的支持问题。由于成本的考虑,当前企业除了在关键应用系统上使用高价的光纤通道(FC)外,也大量应用以太网络作为存储传输信道,在SAN的区块型传输外,也还有文件共享或传输的需要。因此存储虚拟化产品要统合整个企业存储环境,则除FC外,支持iSCSI,甚至是文件传输所需的CIFS、NFS等协议也是不可或缺。
目前市售的多数存储虚拟化产品支持多种区块存储协议已是常态,至少都能支持FC与iSCSI,某些高阶产品还能支持高阶环境使用的ESCON、FICON。至于文件类型的传输方面,传统作法是另外介接NAS网关器,将磁盘阵列空间通过NAS网关器的文件系统转为文件存储区域。但近来可直接支持CIFS/NFS文件传输的产品,同样也日益普及。
由于存储虚拟化产品必须管理异构存储设备,为前端各式各样的应用程序提供服务,因此如何依前端应用程序的不同需要,适当调配后端存储资源也就成为一大重点。
存储资源调节可分容量与性能分配两大部份,依执行任务的不同,前端服务器对容量与存储性能的需要也不同,因此虚拟化产品必须具备弹性的容量与性能调整机制,以便适当地分配容量,为前端特定服务保证足够的性能。
就容量分配而言,用户固然可以通过虚拟层轻易调配整个环境的存储资源,但更重要的是空间调度的灵活性,且调整程序不能影响到存储的数据或正常的存储动作。更进一步的作法是通过Thin Provisioning之类的空间调配技术,将容量分配目标从实际空间,转为虚拟的逻辑空间,让存储设备实际空间得到更有效的利用。
性能调节就比较复杂,多数虚拟化产品都是采用in-band架构,所有数据流都必须通过虚拟层,因此虚拟层本身会形成性能瓶颈,加上又要为后端所有存储设备向前端提供存储服务,性能分配也成为一个问题。传统的调节方式是切割高速缓存给不同的磁盘区,不过前端的存储需求可能会随时间而有所变化,因此必须能够动态地调整高速缓存大小。
但仅有高速缓存调节也已经不能满足需要,这种方式的盲点在于,快取的大小只是影响存储装置存储性能的因素之一,光靠调整快取大小并不能充分达到调节性能需求的效果。因此近来又出现一些可以进行更细致设定的性能调节方式,如NetApp的FlexShare等。
存储虚拟化产品宣称要统一整个存储资源,所有的存储服务都经由虚拟层的中介,故显而易见的副作用便是虚拟层自身成为整个存储系统中的瓶颈,一旦虚拟层失效,整个存储服务也就中断。
为避免前述情形发生,几乎所有存储虚拟化产品都附有高可用性机制。如以两台提供虚拟服务的服务器互为备援,确保虚拟服务的持续性,某些产品如IBM的SVC还强制以两个节点构成一套I/O group的方式出售。
存储虚拟化本身不是目的,而是提供一种易于管理、富有弹性的整合存储环境,以便架构出各种存储应用。为便于用户建置这些存储应用,厂商也多半会在虚拟化产品上内建镜像、快照、多路径传输、远程复制等进阶功能。
由于虚拟层已经在底层完成了异构存储设备的容量整合,因此要提供这些应用均十分方便,像镜像、复制这些应用,都只要通过虚拟层在底层转换存储路径到不同实际空间上就能完成,不用考虑两套存储设备物理规格上的差异。
而更新设备时的数据迁移亦可交由虚拟层执行,虚拟化产品可轻易的在异构存储设备间转移存储路径,只要搭配背景数据迁移功能,虚拟层即可一边让旧设备的磁盘空间继续为前端服务器提供存储服务,然后再于离峰时间将数据逐一迁移到新设备的磁盘空间上,待数据迁移完成后,再把存储路径转移到新设备上,如此就能将数据迁移所需的停机时间降到最低。
通过存储虚拟层也可很容易的架构出分层存储或数据归档应用。只要在虚拟层上设定适当的存储路径,就能依据前端服务器对存储性能的要求,将高性能存储实际提供的空间保留给前端需要高性能的关键应用服务器;性能普通的磁盘空间则可分配给备份、归档等不讲求性能的应用使用。或者也可以数据产生的时间作为区分,将一定期限的数据迁移到低价存储媒体上。
任何虚拟化部署的基石是存储系统,尽管每种实施包括不同的方式。在本文中,特约虚拟化专家Rick Vanover将把存储作为虚拟部署中的一个抽象层来讨论,并说明服务器管理员虚拟化存储的好处,如灵活性和应用感知。我们也将说明FalconStor的网络存储服务器(NSS)如何减轻VMware环境里的数据存储管理负担。
对较小的存储进行虚拟化,从相互连接的一台服务器和一块磁盘开始。这个架构能设计成通过接口卡、光纤通道主机总线适配器,或者使用存储协议的网络,如iSCSI,将一捆磁盘直接附属到服务器。这些架构的每一个都有连接到服务器的磁盘系统,并通过使用分配给那台服务器的存储资源进行手动管理。
当组织成长并迁移到较大的架构或者高性能存储系统时,这个模型更改了。当将存储区域网络(SAN)导入数据中心时,配置存储的一种方法是拥有一个存储服务器管理磁盘访问。我们将描述集成这种方法的几个例子,但是在最简单的存储服务器级别所描述的原则对于迁移到虚拟存储很关键。
正如基于服务的虚拟化是子虚拟机的一个抽象层,虚拟存储是所包含物理磁盘的一个抽象层。对于虚拟环境,这意味着获取磁盘信息的通常做法能起作用,但是可能不会传送精确的磁盘信息。图A显示了这种架构的样子:
对于服务器管理员,传统的存储系统已经脱节。这个架构在典型的混乱系统中带来了几个问题。通过使用一个合适的存储虚拟化控制器,能移除许多障碍。即管理访问磁盘的系统从系统脱离出来,独立存在,只要存储到连接到存储网络的主机。
另一个好处是存储系统迁移分配给服务器的逻辑单元号的能力。后台任务以某种方式执行,即对于连接到存储的虚拟主机系统来说是透明的。不过这种便利的管理是有代价的:缺少到磁盘的直接路径。VMware的Storage VMotion技术允许管理员从一个存储系统移动虚拟机到另一个。
在一定程度上,这提供了相同的功能。存储系统能意识到整个LUN,并能移动这些目录到另一个磁盘系统,但是Storage VMotion能移动某台虚拟机到某个LUN.使用任一过程都能获得相同的效果,只要通过不同的机制和管理开销级别。由于直接到磁盘路径被存储虚拟化系统隐藏,存储的一些细节变得更加难以解释。如访问磁盘序列号,我在文章“使用IBM System Storage SAN Volume Controller”里进行了描述。
虚拟的存储系统能提供灵活性并能专用于虚拟化。有个例子就是FalconStor Network Storage Server (NSS)。当存储系统差不多呈现在主机前,有一些额外的功能,如LUN配置和应用感知。此外,FalconStor提供的产品比较简单,通过虚拟设备,如在iSCSI网络上作为iSCSI target的VMware虚拟机,为小型环境提供存储虚拟化。不过用于小型虚拟环境功能存在不足。即NSS不能迁移虚拟设备,因为iSCSI target不存在于其所需的地方。
NSS也能作为物理系统存在。不像其他存储系统,NSS能内置在顾客所购买的服务器硬件里。如选择NSS Enterprise,比管理员选择特定用途硬件的存储系统更节约钱。
可能NSS最好的功能是有应用感知,这描述了一些限制,是由虚拟存储带来的抽象层伴随的。尤其是FalconStor NSS提供了应用感知代理——Application Snapshot Director,与虚拟机和主机系统使用以保护卷数据。Application Snapshot Director通过直接与VMware ESX交互,保持数据交易完整。关键的好处在于这种使用汇报管理存储的方式允许快速恢复和无影响备份。此外,Application Snapshot Director能与VMware的Site Recovery Manager结合,适合灾难恢复模式。图B显示了Application Snapshot Director是如何与VMware结合的。
由于其交互型架构,NSS提供了映射和基于时间的卷快照和复制功能。如先前所说的,这种LUN和NSS的精简配置有利于存储。在存储系统上,精简配置功能如同微软Hyper-V或VMware Server里的虚拟机磁盘文件。LUN呈现的是其完整大小,不过存储系统意识到卷上使用的存储客户端。发生这种情况后,“虚拟”LUN上消耗的就是磁盘上消耗的,如图C所示:
将存储虚拟化非常好。我们上面所描述的功能只是虚拟存储平台的功能样本。为虚拟环境规划存储系统是个挑战,尤其是对于拥有独立服务器和存储团队的组织来说更是如此。同样,如果其他系统能访问SAN,虚拟化优化存储系统案例就变得更加难卖,因为广泛的互操作性成为需求。不过管理自己存储的虚拟化管理员将发现虚拟存储减轻了存储管理的负担。