(计算机系统结构专业论文)提高nas系统可用性的研究.pdf_第1页
(计算机系统结构专业论文)提高nas系统可用性的研究.pdf_第2页
(计算机系统结构专业论文)提高nas系统可用性的研究.pdf_第3页
(计算机系统结构专业论文)提高nas系统可用性的研究.pdf_第4页
(计算机系统结构专业论文)提高nas系统可用性的研究.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华中科技大学硕士学位论文 摘要 f 数据存储技术的发展,使得以往以服务器为中心的存储模式逐渐向以数据为中一t l , 的存储模式转化。n a s 和s a n 正是这种新型存储模式的具体体现。相比s a n ,n a s 以其使用方便、功能强大、价格适中等优点赢得了广泛赞誉,但是不高的可用性也影 响其进一步发展壮大。深入探讨可用性理论,找到提高n a s 系统可用性的办法势在 必行,h 。 可用性基本理论指出,提高n a s 系统可用性的关键在于找出其中存在的单点故 障并予以消除。n a s 系统的单点故障在于s p u 、总线、硬盘、网卡和软件系统。现 有的提高可用性技术如r a i d 和b o n d i n g 可以消除部分单点故障,但n a s 系统依然 存在单点故障。构建h an a s 集群是彻底消除n a s 系统单点故障、大幅提高可用性 的重要手段。 通过对三种常见h a 集群硬件结构以及连接方式的比较,构建h a n a s 集群采用 非对称式的硬件结构和专用以太网的连接方式。而h a n a s 集群的软件结构,则综合 了两种通用的h a 集群软件结构的优点,分为用户接口模块、心跳模块和数据同步模 块。其中心跳模块和数据同步模块是h a n a s 集群的软件的关键。心跳模块用于主服 务器与备份服务器发送心跳信息以监测主服务器运行状况,并在主服务器失效时切换 备份服务器。数据同步模块保持主服务器和备份服务器之间的数据同步,以便备份服 务器切换时继续为用户提供服务。由于h a n a s 集群区别于一般h a 集群的特殊性, 数据同步模块又分为卷同步和文件同步模块,需要分别采取相应策略加以实现。 测试结果表明,构建h an a s 集群确实是一种能行之有效的提高n a s 系统可用 性的好办法。 ,p f ,务1 ,3,l 关键词:i 可用性,单点故障,高可用附网存储集群,故障接管,f 心跳f 华中科技大学硕士学位论文 a b s t r a c t w i t ht h ed e v e l o p m e n to fd a t as t o r a g et e c h n o l o g y , t h es t o r a g em o d ef o c u s i n go na s e r v e ri st r a i l s f o r m e dt ot h em o d e f o c u s i n go n d a t a n a sa n ds a n a r eb o t h r e p r e s e n t a t i v e s o ft h en e w s t o r a g em o d e c o m p a r e dw i t hs a n ,n a sg a i n sar e p u t a t i o nf o rc o n v e n i e n t d e p l o y m e n t ,p o w e r f u lf u n c t i o n ,m o d e r a t ec o s ta n ds oo n h o w e v e r , t h el o w e ra v a l l a b i l i t y p r e v e n t si tf r o ms t e p p i n gf u r t h e r i ti sn e c e s s a r y t of m daw a yo f i m p r o v i n g t h ea v a i l a b i l i t y i nn a s s y s t e mb y m e a n s o f d i g g i n g i n t ob a s i ct h e o r i e so f a v a i l a b i l i t y i l l u s t r a t e di ns u c hb a s i ct h e o r i e s ,t h ek e yw a yt o i m p r o v et h ea v a l l a b i l i t yi nn a s s y s t e ml i e si nd e t e c t i n ga n dr e m o v i n ga l le x i s t i n gs p o f t h es p o f o fn a si sl o c a t e di n s p u ,v a r i o u sb u s e s ,d i s k s ,n i c ,a n ds o f t - w a r es y s t e m t h ec u r r e n tt e c h n o l o g i e s ,s u c ha s r a i da n db o n d i n g ,c a nr e m o v ea p a r to fs p o f ,b u t n o taw h o l e i ti ss i g n i f i c a n tf o ru st o c o n s t r u c tah an a sc l u s t e ri no r d e rt oe r a d i c a t ea l ls p o fa n di m p r o v et h ea v a i l a b i l i t y b ym e a s u r i n gt h r e ek i n d so fh a r d w a r es t r u c t u r e sa n dc o n n e c t i o nm e t h o d s ,t h eh a n a sc l u s t e ra d o p t sa na s y m m e t r i ch a r d w a r es t r u c t u r e ,a n dak i n do fd e d i c a t e dl a nf o r i n n e rc o n n e c t i o n i na d d i t i o n ,t h es o f t w a r eo fh an a sc l u s t e rc o n s i s t so ft i n g ep a r t s , i n c l u d i n gu s e ri n t e r f a c em o d u l e ,h e a r t b e a tm o d u l ea n dd a t as y n c h r o n i z a t i o nm o d u l e ,o f w h i c ht h el a s tt w om o d u l e sa r ek e ye l e m e n t s t h eh e a r t b e a tm o d u l ei su s e dt os e n da h e a r t b e a ts i g n a lf r o mm a s t e rt os l a v ea n dr e p l a c ef a i l i n gm a s t e rw i t hs l a v e t h ed a t a s y n c h r o n i z a t i o nm o d u l ei su s e dt ok e e pd a t as y n c h r o n i z e db e t w e e nm a s t e ra n ds l a v ei n o r d e rt h a tu s e r sc a nb ec o n t i n u o u s l ys e r v e da f t e rf a l l o v e r b e c a u s eo ft h ed i s t i n c t i v e f e a t u r e so fh an a sc l u s t e r , i t sd a t a s y n c h r o n i z a t i o nm o d u l ei s d i v i d e di n t ov o l u m e s y n c h r o n i z a t i o n m o d u l ea n df i l e s y n c h r o n i z a t i o n m o d u l e ,w h i c h a r e i m p l e m e n t e d r e s p e c t i v e l y a st h er e s u l to fat e s tr e v e a l s ,c o n s t r u c t i n gt h eh an a sc l u s t e rc a l li m p r o v et h e a v a i l a b i l i t yo f n a ss y s t e me f f e c t i v e l y k e yw o r d s :a v a i l a b i l i t y ,s p o f ,h a n a s c l u s t e r ,f a i l o v e r ,h e a r t b e a t i l 华中科技大学硕士学位论文 1 绪论 1 1 课题背景 计算机给世界经济的发展和科技的进步带来新的巨大动力,人们已有可能从世界 各地迅速获取有效的信息资源。网络技术的发展,加上五彩斑斓的多媒体的应用,使 得运行在不同系统平台上的数据资料成几何级数激增。1 1 3 c 预测,今后几年世界范围 内磁盘存储系统的容量将以7 9 6 的速度递增,到2 0 0 3 年整体存储容量会接近2 0 万 t b 。g i l d e r 在2 0 0 0 年1 月技术报告中指出,各种存储设备的容量需求会超过每年6 0 , 而计算机性能的每一步发展却只提高3 3 :同时,存储设备的发展速度也三倍落后于 网络带宽的发展。传统的以服务器为中心的存储网络架构s a s ,面对源源不断扩大的 数据流,已不胜其任。人们希望可以找一种薪的数据存储模式,独立出存储设备,同 时具有良好的扩展性、可用性,以满足今后数据存储的要求。数据存储市场的发展, 使以往以服务器为中心的数据存储模式逐渐向以数据为中心的数据存储模式转化。 n a s i 幢3 1 和s a n e 3 , 4 , 5 1 即是这种新型数据存储模式的具体体现。 n a s ,全称为n e t w o r ka t t a c h e ds t o r a g e ,朗附网存储。它被定义为一种特殊 的专用数据存储服务器。这种专用数据存储服务器不同于传统的通用服务器,它去掉 了原有通用服务器不适用的功能,专注于提供存储服务,大大降低了存储设备的成本。 在这种新的存储结构中,存储设备在功能上完全独立于网络上的主服务器,客户机和 存储设备之间数据访问已不再需要文件服务器的干预,允许客户机和存储设备之间直 接的数据访问,把网络主服务器从繁重的i o 负载中解脱出来。同时可在不影响用户 现有的网络结构、不用关闭当前网络的情况下安装或转移、拆除n a s 设备,有较好 的操作优势。另外,它具有较好的协议独立性,支持u n i x 、n e t w a r e 、w 证d o w s9 x 、 n t ,o s 2 、m a co s 等平台的数据访问,数据共享容易实现。此外,客户端无需安 装专用的软件,只要利用支持j a v a 的浏览器就可对n a s 服务器实行方便快捷的远程 管理,提高了工作效率。又由于n a s 服务器全部采用通用软硬件构成,价格低廉也 是其特别突出的优点,毕竟成本决定产品市场及灵活性。图1 1 表示了n a s 服务器在 网络中的应用。 华中科技大学硕士学位论文 图1 1n a s 服务器在网络中的应用 但是,n a s 设备也有一些无法回避的缺陷。最典型的莫过于可用性问题。尽管现 有n a s 设备采用了许多技术来提高可用性,但是由于n a s 是基于文件共享的,用于 存放文件的存储设备必须通过n a s 控制服务器才能被访问,而处理器、存储器等依 然是“牵一发而动金身”的单点故障,使得n a s 设备无法适用于一些对可用性要求 较高的场合。另外,n a s 设备中的数据保护和容灾能力不强,灾难恢复很困难,需要 有一套专门的解决方案。 s a n ,全称为s t o r a g ea r e an e t w o r k ,即存储区域网,是另一种以数据为中心 的网络存储结构。它是一种利用光纤通道【6 】( f i b r ec h a n n e l ) 等存储协议连接起来的 可以在存储资源和服务器之间建立直接的数据连接的高速计算机网络。这个网络可以 把各种不同平台的服务器、工作站、客户机以及不同的存储设备如磁盘阵列、磁带、 光盘塔等方便地连接在一起,改变了传统的附属于特定服务器的存储设备为某一个服 务器专用的存储模式。这使得存储设备从特定的服务器解脱出来,成为自由的存储设 备,使得这些存储设备对于网络上任何一台服务器都是可见的,从而为网络上所有的 服务器和工作站所共享。同时新的存储设备可任意添加到现存的系统中而不用添加一 台新的服务器;在需要为系统中添加新的服务器时也不需要专门为它配置相应的存储 设备,极大地提高了系统的可扩展性。而且由于存储设备不为某一服务器专有,当一 台服务器出现故障时,其它任何一台服务器都能接管其功能,这是传统的存储模式不 可能做到的。此外f i b r ec h a n n e l 采用很多技术防止系统由于某一故障而导致崩溃,并 能方便地进行自动重构和自动修复,因此,系统具有很高的可用性。通常s a n 的接 口采用光纤通道f i b r ec h a n n e l ,这使得数据传输率较高【7 】,其数据访问具有较高的性 能。正因如此,s a n 可以很方便地在后台进行数据的备份、迁移和恢复,不再需要 l a n 、w a n 和网络服务器来完成,减轻了l a n 、w a n 的网络负载和服务器的工作 负载。图1 2 描述了s a n 的基本应用。 华中科技大学硕士学位论文 图1 2s a n 的基本应用 同样,s a n 技术也不是完美无瑕。由于存储设备是专为s a n 设计,而又采用光 纤通道接口,其成本不是一般企业所能承受。随着网络环的加深,方案的规模和复杂 程度也将增加。再则,s a n 考虑的是集中存储而不是共享存储,所以s a n 环境中的 数据共享比较困难,需要客户端的操作系统对其它操作系统的数据格式有较好的支 持。另外,s a n 的安装比较复杂,通常需要定制安装,这也增加了负担。表1 1 比较 了n a s 和s a n 的关键特性。 表1 1 n a s 和s a n 的比较 s a nn a s 协议 f i b r ec h l r l e it c p ,m f i b r ec h a r m e lt o s c s i 数据集中的实现 好一般 数据共享的实现 一般好 系统成本高低 系统复杂度高低 系统配置复杂 简单 可用性高一般 应该说n a s 和s a n 是各擅胜场,分别适用于不同的场合。通常情况下,s a n 主要针对资金雄厚的大型企业,如银行、保险、矿山、港口等,而对为数众多的财 力有限的中小企业,n a s 无疑是它们的首选。图1 3 反映了n a s 和s a n 的市场发 展情况。 华中科技大学硕士学位论文 图1 3n a s 和s a n 的市场情况 由上图可以看出,n a s 产品以其自身的优势得到了市场的认可f 引,但这并不意味 着广大用户不需要更高性能的产品。据权威调查机构c c i d 2 0 0 2 年9 月的调查显示, 有5 4 3 的用户在选购存储产品时首先考虑的是可用性( a v a i l a b i l i t y ) ,高可用的存储 可以保证用户在不宕机的情况下进行管理、维护,数据达到7 x 2 4 小时连续可用。而 现有的n a s 产品无法满足对高可用性的要求,因此,n a s 产品要想巩固已有的用户 群体并进一步扩大市场份额,提高其可用性势在必行。 1 2 国内外研究情况 随着存储市场的不断扩大,n a s 产品以其诸多优点及良好的发展前景吸引了越来 越多的目光,同时对其可用性的要求也是越来越急迫。为此,目前几大n a s 产品主 力制造商如i b m 、n e t w o r ka p p l i a n c e 、e m c 、d e l l 、v e r i t a s 等已经开始进行这方 面的研究,并计划在今后几代产品中付诸实掩,而n a s 设备制造巨头c o m p a q 公司 在被l i p 公司合并之前就已经宣称要在其高端的n a s 产品t a s k s m a r t n 系列上配备高 可用( h i g h a v a i l a b i l i t y f l ph a ) 部件,用于提高可用性。而合并后的新h p 公司在2 0 0 2 年9 月举行的i - i pw o r l d2 0 0 2 上就提高可用性的问题召开了一系列会议,并特别 就提高n a s 的可用性问题进行了阐述。据了解,我国的台湾省也有一些公司在进行 这方面的研究,并取得一些成效。 中国大陆网络存储技术的研究起步较早,且一直保持着旺盛的发展势头:尤其是 近年来各行业对存储产品需求的增大,使得一大批具有雄厚实力的公司如联想集团、 4 华中科技大学硕士学位论文 浪潮集团等纷纷投入巨资进行网络存储产品的研究与开发,并取得了骄人的业绩,其 产品在某些方面已经达到甚至超过了世界先进水平。华中科技大学外存储系统实验室 是国内存储研究领域中具有相当实力的一支生力军。本实验室早在上世纪九十年代就 已经开始了对存储技术的研究。目前,正以“2 l l ”工程建设为契机,以网络存储的 研究为重点,构建了国内第一个网络存储系统异构平台,建成了具有国际先进水平的 研究环境,包括s a n 试验床、千兆局域网和异构服务器平台【9 】,多媒体类设备、集群 并行计算和存储试验室等,并积极开展国际国内的交流与合作。现已与大恒公司、中 科院计算所等国内知名厂商及研究所建立了密切的联系,同时和美国知名的存储厂商 共同成功开发了性能优良、价格适中的n a s 产品。随着我国现代化步伐的加快和综 合国力的增强,将会有更多的国内公司和研究机构投身到网络存储的研究领域。人们 有理由相信,在不远的将来,国内的网络存储技术研究一定能挺立世界存储技术革命 的潮头。 1 3 本文的结构安排 本课题来源于作者参加的华中科技大学外存储国家专业实验室与美国某公司合 作开发的n a s 服务器项目中所做的一部分工作。单台n a s 服务器在2 0 0 2 年1 月已 经实现。本课题是在已经实现的单机n a s 服务器基础上,通过对已有可用性理论的 深入研究,并借鉴了集群的设计思想,提出了一种构建h a n a s 集群的方案,提高了 n a s 产品的可用性。 本文后续内容的结构安排如下: 第二章介绍了可用性的基本理论,并指出了提高可用性的关键。同时结合n a s 设备的软硬件结构,分析了提高可用性的几项技术。 第三章重点探讨了将集群的思想引入到n a s 产品中,通过对现有的几种高可用 集群结构的比较,结合n a s 产品特点,提出了构建非对称的h an a s 集群的方案并 描述了h a n a s 集群的软硬件结构。最后分析了h a n a s 集群的可用性。 第四章深入研究了构建h a n a s 集群中的关键技术心跳( h e a r t b e a t ) 模块的 设计与实现,阐述了h a n a s 集群中独具特色的数据同步模块一卷同步和文件同步 模块的设计与实现。 第五章对h an a s 集群的故障接管( f a i l o v c r ) 进行了测试,用数据说明了采用 华中科技大学硕士学位论文 h an a s 集群确实能提高可用性。 第六章是全文总结,阐明了尚需进一步研究的问题和方向。 6 华中科技大学硕士学位论文 2 可用性的理论基础 本章介绍了可用性的定义,并指出了提高可用性的关键是消除系统单点故障。依 据n a s 服务器的软硬件结构,阐述了现有的广泛用于提高n a s 服务器可用性的相关 技术。 2 1 可用性的定义 随着计算机系统广泛应用于各个领域,包括生产和通讯部门、交通部门、金融业 界、企业管理和政府部门,任何计算机系统的错误、故障和失效所造成的停机和数据 丢失,均可给人们的生产生活带来巨大的损失,因此企业对客户的服务,企业的核心 竞争力等等诸多方面都有赖于i t 系统的高可用性。表2 1 生动地描述了停机所造成的 损失。因此,如何提高计算机系统的可用性,便成为各个领域计算机从业者无法回避 的一个问题,尤其是面向行业用户的n a s 产品,更是首当其冲地面临这个问题。 表2 1 停机所造成的损失( 数据来源:d a t a q u e s t , p e r s p e c t i v e ,s e p t 3 0 ,1 9 9 6 ) 应用领域每小时停机损失 ( 美圆) 金融:a t m 交易 1 2 k 1 7 k 运输:包装系统 2 4 k - 3 2 k 娱乐:售票系统 5 6 k 一8 2 k 交通:航线预定 6 7 k 1 1 2 k 通信:i n t e m e t 服务提供 6 0 k 1 2 0 k 零售:家庭购买 8 7 k 1 4 0 k 电视:付费节目 6 7 k 2 3 3 k 银行:信用卡授权 2 2 m 一3 1 m 证券:经纪人业务 5 6 m - 6 4 5 m i k = 1 0 0 0 ,i m = i ,0 0 0 ,0 0 0 那么,到底什么是可用性,又如何衡量可用性的高低呢? 有三个概念需要区分: 可靠性,可用性,可维护性,即通常所说的r a s 。 如图2 1 所示,一个计算机系统在其发生故障前能正常运行一段时间,接下来故 7 华中科技大学硕士学位论文 障系统被修复,然后系统恢复正常工作,系统不断重复着这个运行修复周期。 o k 故障( 发生错误) o k l 垩苎垩堡l 垩垄竺里 l ijl 一直到失败的平均时间( m t t f ) + 卜修理所用的平均时间( m t t r ) 一 图2 1 一个计算机系统的运行修复周期 系统的可靠性、可用性、可维护性定义【l o 】如下: 系统的可靠。 生( r c l i a b i l i t y ) 可表示为直到发生故障的平均时间( m t t f :m e a nt i m et o f a i l u r e ) ,即系统或系统的某个部件发生故障前正常运行的平均时间。可维护性 ( s e r v i c e a b i l i t y ) 表示为直到修复的平均时间( m t t r :m e a nt i m et or e p a i r ) ,即用于修 复系统和在修复后将它恢复到工作状态所用的平均时间。系统的可用性( a v a i l a b i l i t y ) , 可定义为系统可以为用户所使用时间的百分比,即正常运行时间的百分比: 可用性( a v a i l a b i l i t y ) ; 坚卫星 式( 2 1 ) m t t f + m t t r 计算机产业界通常用如下表所示的“9 ”的个数来划分计算机系统可用性的类型。 以华中科技大学外存储国家实验室与美国公司合作开发的n a s 服务器n a s s t o r 为例, 根据出厂的指标m t t f = 5 0 0 0 小时,m t i r = 2 小时,所以这台n a s 服务器的可用性: a n m = 丽5 0 0 0 = 9 9 9 觎 这样,根据表2 2 可知这台n a s 服务器每年开机运行的时间占9 9 9 6 ,停机时 间占o 0 4 ,大约是2 1 0 分钟,其可用性应属第3 级和第4 级之间。 表2 2 计算机系统可用性等级列表 可用性停机时间可用性等级 ( 分钟年) 9 0 5 0 0 0 01 9 9 5 0 0 02 9 9 9 5 0 03 9 9 9 9 5 04 9 9 9 9 9 55 9 9 9 9 9 9 o 56 9 9 9 9 9 9 9 o 0 57 3 华中科技大学硕士学位论文 从可用性的定义得知,提高系统可用性有两种基本方法:增加m t t f 或减少 m t t r 。增加m t t f 要求增加系统的可靠性,因此长期以来计算机工业界千方百计设 法改进设备的制造工艺以提高可靠性;然而再迸一步提高m t t f 非常难且得不偿失。 另一种提高系统可用性的方法是减少m t t r 。采用冗余部件去掉系统中的单点故障是 减少m t t r 的一项重要手段。 单点故障( s i n g l e p o i n t o f f a i l u r e ,s p o f ) 指的是某些硬件或软件部件,它们的故 障会导致整个系统的停止服务【1 0 j 。通常情况下,一个没有备份或冗余,单独运行的部 件都是单点故障。提高系统可用性必须找到并尽可能多地消除单点故障。因此对于 n a s 系统而言,务必认真分析其体系结构,找出其中可能成为单点故障的部件,然后 各个击破,采用相应技术使之无法成为单点故障从而提高可用性。 2 2 n a s 系统的软硬件结构 如图2 2 所示,n a s 系统的硬件结构由n a s 控制器和存储子系统两部分构成: 图2 2n a s 系统的硬件结构 其中n a s 控制器由处理器( c p u ) 、内存、网卡、i o 控制卡及系统总线组成,而存 储子系统则是由硬盘等存储设备组成。由上图可以看出,c p u 、内存、i o 控制卡、 系统总线、网卡、硬盘以及电源等部件均成为了系统的单点故障。图2 3 描述了n a s 系统的软件结构,可以发现操作系统和应用程序也是影响可用性的重要因素,它们的 失效同样会导致n a s 系统无法提供服务,因此也成为了整个n a s 系统的单点故障。 9 华中科技大学硕士学位论文 w e 。管理模块 l一络噩务模块 摄作系统层 图2 3n a s 系统的软件结构 为了便于分析。通常将c p u 、内存、f o 控制卡、电源等组件的集合称为s p u ( s y s t e m p r o c e s su m t 系统处理单元) 。综合n a s 系统的软硬件结构,n a s 系统的单点故障主 要是硬盘、网卡、s p u 、系统总线和软件系统。 2 3 现有的提高可用性的技术 在了解了n a s 系统存在的单点故障后,如何消除它们,成为提高可用性的关键。 对于不同的n a s 部件,理应区别对待。对于n a s 系统中硬盘和网卡,采用冗余部件 是消除其单点故障的重要办法。r a i d 技术和b o n d i n g 技术是两种现有的分别针对硬 盘和网卡单点故障的常用技术。 2 3 1r a i d 技术 r a i d 【1 1 , 1 2 1 是r e d 皿d a n ta r r a yi n e x d e 璐i v ed i s k s 的缩写,中文称为廉价冗余磁盘 阵列,一般简称为磁盘阵列,是由美国加州大学伯克利分校的p a r e m o n 、 g i b s o n 和 k 弛:在1 9 8 7 年提出的。r a i d 的设计思想是通过多个磁盘驱动器的协同工作来组成 磁盘阵列,以提高数据存取的可靠性和性能其中系统冗余、数据容错和提高存取 性能是它的核心。r a i d 包含多个磁盘,在操作系统下作为一个独立的大型存储设备 出现,按照控制方式的不同,r a d 磁盘阵列分为硬阵列( h a r d w a r a i d ) 和软阵列 ( m f i w a r er a i d ) 【1 3 1 。硬阵列是由独立操作的硬件芯片提供整个磁盘阵列的控制和计 华中科技大学硕士学位论文 算,c p u 占用率低但价格相对昂贵。软阵列是通过软件程序控制整个磁盘阵列,由于 其几乎免费,近年来发展得很快,其性能已接近硬阵列。r a i d 一般是由s c s i 硬盘 构成,但是近年来i d e 硬盘发展很快,性能已接近s c s i 硬盘,而成本更加低廉,因 此采用i d e 硬盘组成的软r a i d 已成为n a s 服务器的新宠。 r a i d 技术是种工业标准,各厂商对r a i d 级别的定义也不尽相同。目前对 r a i d 级别的定义获得业界广泛认同的有4 种:r a j d o 、r a j d l 、r a i d o + 1 和 r a i d 5 1 引。 r a i d 0 是所有r a i d 规格中效率最高但唯一不具有容错性能的阵列模式。r a i d 0 可以把多个硬盘连接在一起形成一个容量更大的存储设备,除了可以提供更多的磁盘 空间外,r a i d 0 的磁盘读取速率的性能和吞吐量在这些级别中是最高的,而实现成本 反而是最低的。r a i d 0 采用并行读写的工作方式,如图2 4 所示【i5 1 ,在写数据时,数 据以设定的交叉存储区域1 16 】( 即带区集,s t r i p i n g ) 大小为单位,被均匀分割成等量的 数据块,分别放在几个硬盘中:而当系统向设备发出读指令时,目标数据则被同时从 多个硬盘中取出,经控制器组合成完整的文件。n 个硬盘的并行操作使得同一时间内 磁盘读写的速度提升了n 倍,但同时正因为它将数据分成区块存储在不同的硬盘上, 一旦某一硬盘出现故障,该硬盘数据无法恢复时,所有数据都将被破坏,而且硬盘的 总数量越多,数据安全性越低。 d i s k0d i s k ld i s k2 r ,1 _ 1 o | d o 1 3 1 ;d 2 卜叫卜叫r 1 1 d 61 9 7 i ;d 8 r 1r _ 1 1 2 fd 1 2 d 1 3 jd 1 4 i 3 d 1 8d 1 9 :d 2 0 l 图2 4 采用并行读写的高速r a i d 0 模式 r a i d l 的设计目标与r a i d 0 完全不同,因为r a i d 0 在追求离性能的同时降低 了安全性,而r a i d l 将技术重点放在数据的安全性保护上,通过对数据进行实时的 冗余来完成,在r a i d l 系统中至少有一个主硬盘和一个做实时冗余的镜像硬盘,所 以r a i d l 也被称为镜像阵列( m i r r o r i n g ) 。如图2 5 所示 1 5 l ,在有六个硬盘组成的系 统中,三个为主盘,三个为镜像盘。当系统发出硬盘写指令时,数据会同时存入主硬 5 1l【1_叫ji_,=_i 一瞢一 一圉 j 1|il叫1l_ =鎏一一一眦一嘲一 一目 华中科技大学硕士学位论文 盘和镜像硬盘中,始终保持镜像硬盘与主硬盘的完全镜像。此时即使主硬盘发生故障, 系统将自动转向镜像盘进行读写操作,我们只需要将损坏的硬盘换掉,并进行同步镜 像即可恢复。在r a i d l 模式下,几乎可以说数据是绝对完全可靠的,因为系统甚至 可以在一半数量的硬盘出现问题时仍保持正常工作,当然这是以5 0 的空间利用率为 代价的。 图2 5 镜像的r a i d l 模式 r a j d 0 + 1 就是把r a i d 0 和r a m l 两种方式结合起来,且综合二者的优点的阵列 方式。实现r a i d 0 + 1 的方法是把两组r a i d 0 的磁盘阵列互为镜像,形成一个r a i d l 阵列。如图2 6 所示。因此每次写入数据时磁盘阵列控制器会将数据同时写入两组 r a i d 0 中,这样既实现了数据的并行读写,又因为采用了镜像技术,使得数据的可靠 性有了根本保证。但是,因为应用起来成本太高,所以主要用作对容量要求不高而对 可用性极为敏感的数据库系统。 图2 6 分块和镜像的r a i d 0 + 1 模式 r a i d 5 t ”1 采用校验码的方法,将原始数据与其对应的校验值重新组合,然后将其 均匀分散、顺序存储在各个硬盘中。r a i d 5 通过使用一种特殊的算法来计算出任何一 个带区校验块的存放位置。如图2 7 所示i t s l 。这样在每个硬盘上既有原始数据又有校 验信息,对校验块的任何读写操作都会在所有的r a d 磁盘中进行均衡。同时,r a i d 5 支持数据的并行读写,数据传输率高,而且硬盘的空间利用率相对较高。这些优点使 1 2 华中科技大学硕士学位论文 得r a i d 5 被广泛用于各种场合。 图2 7 交义校验的r a d 5 模式 表2 3 是常见的r a i d 0 、r a i d l 、r a i d 0 + 1 和r a i d 5 的比较,可以得出各种不 同级别r a i d 的适用场合。 表2 3 各种常见r a i d 级别比较 r a i d 等级 0 1o + l5 描述数据分割并同样数据 数据同时写数据和校验信息 行写入多个写入主盘 入 两组以交替方式写入 硬盘和镜像硬r a i d 0 阵列一组盘 无冗余校验盘 优点读写速度快 数据可靠读写速度快,读写速度较快,数 性极高数据可靠性据可靠性高 极高 缺点无数据保护一半磁盘一半磁盘用写小块数据时,性 功能用于数据于数据保护,能下降,负担增加 保护,利成本太高 用率低 磁盘空间利用率 1 0 0 5 0 5 0 6 6 适用场台速度要求数据库与速度和可用少量写,随机操作 高,可用性文档服务 性极为敏感 频繁访问文件的 要求低场合环境 o l l 限 2 3 2 b o n d i n g 技术 网络是n a s 系统赖以生存的重要媒介,一旦网卡或与其相连的网线出现故障, 无论n a s 主机如何强壮都无回天之力。因此必须采用冗余部件的方式在一台n a s 服 1 3 华中科技大学硕士学位论文 务器中安装多块网卡。当一块网卡发生故障时,其余的网卡可以进行有效的故障接管 ( f a i l o v e r ) ,使得整个n a s 系统仍然可为用户所用,b o n d i n g 【1 8 j 就是这样一种技术。 b o n d i n g 技术是将多块物理上的网卡虚拟成为块逻辑网卡,使其具有相同的i p 地址,来提高主机的可用性或者是网络吞吐量。相似的技术在s u n 和c i s c o 中已经 存在,分别称为t r u n k i n g 1 9 】和e t h e r c h a n n e l 2 们。b o n d i n g 技术起源于b e o w u l ff 2 1 1 系统 改善网络通信能力的要求,近年来得到了迅速地发展。现在,b o n d i n g 技术除了实现 链路聚集以提高网络的吞吐率,极大提升服务器的网络性能;还能够实现f a i l o v e r 功 能以提高可用性。 b o n d i n g 技术可在o s i 七层模型中的物理层、数据链路层、网络层、传输层实现。 但由于在物理层上实现需要增加新的物理设备,在网络层上实现需要实现动态的网络 地址与m a c 地址的映射协议,在传输层上实现则需要修改已有的应用程序或使用中 间件技术,只有在数据链路层上实现可充分利用现有的链路监测机制,少量修改网卡 设备的驱动程序即可。因此,在大部分运用中b o n d i n g 技术均是在数据链路层上实现 的。 b o n d i n g 技术实现故障接管的原理是在系统中维持一个f a i l o v e r 网卡设备列表, 这个列表与b o n d i n g 网卡列表相同。在每次发送数据包前,首先判断当前网卡设备的 状态。如果正常,则继续使用该网卡发送:否则就从f a i l o v e r 网卡列表中找到下一个 工作正常的网卡设备并改用此网卡发送,同时通知管理员第一块网卡失效。这样便实 现了网卡的故障接管。b o n d i n g 技术实现负载均衡的原理与实现f a i l o v e r 相似,只不 过在多块网卡交替发送数据,在发送下一个数据包以前一定要换发包的网卡,从而实 现对网卡流量的负载均衡。 2 4 本章小结 本章首先介绍了可用性的基本理论,对容易混淆的三个概念可靠性、可用性、 可维护性一一下了定义,并以华中科技大学外存储专业实验室与美国公司合作开发的 n a s s t o r 为例,计算出了单台n a s 服务器的可用性。然后指出消除n a s 服务器的单 点故障是提高可用性的关键,并结合n a s 服务器的软硬件结构,找出了现有的存在 于n a s 服务器的单点故障。最后,概述了几种现有的用于提高n a s 服务器可用性的 技术r a d 和b o n d i n g 。 1 4 华中科技大学硕士学位论文 3 h a n a s 集群的框架结构 r a i d 技术和b o n d i n g 技术能够消除硬盘和网卡的单点故障,而对于n a s 系统而 言,s p u 、系统总线和软件系统仍然是整个系统的单点故障。对于s p u ,我们仍然可 以采用冗余的办法,在单台n a s 服务器中设置多个c p u 、内存、i o 控制卡、电源等 部件,实现专业的容错服务器;但整个n a s 服务器的结构将发生巨大变化,而且实 现成本远不是可以承受的。这与我们当初提高n a s 服务器可用性的初衷无疑是大相 径庭的。即便如此,系统总线和软件系统的单点故障依然未被消除。因此,将n a s 服务器改造成专业的容错机是得不偿失的。只有构造h a n a s 集群,才是解决所有的 单点故障同时又不会过分增加成本的最好办法。 计算机集群系统已经创建并应用了十余年。所谓集群f 1 0 】,是一种并行或分布式处 理系统,由两个或多个连接在一起的独立结点组成,每个结点可以是p c 、工作站或 s m p 服务器,所有结点一起集体工作,如同一个单一集成的计算机资源。学者们将集 群简要地定义为:种由互连的全部计算机组成的并行或分布式系统,可以作为单独、 统一的计算资源来使用。人们根据应用目的的不同,将集群分为高性能( h p ) 集群和 高可用( h a ) 集群【2 2 】。高性能集群是通过将多台机器连接起来同时处理复杂的计算 问题,如模拟星球附近的磁场预测龙卷风的出现,定位石油资源的储藏地等等。因 此高性能集群要求提供强大的计算能力。高可用性集群是将多台机器连接起来用来提 供不问断的服务,如所有的w e b 服务,银行的a t m 服务,医学和军事的监测等,因 此高可用性集群无需结点功能强大,只要能满足应用需要即可。这一点同n a s 服务 器的特征无疑是不谋而合,因为n a s 服务器主要提供文件的共享,对于磁盘i o 和 网络b o 要求较高,而对计算能力要求相对较低,因此n a s 服务器具备了h a 集群结 点的要求。而且正如上一章所述,在采用了r a i d 技术和b o n d i n g 技术后,n a s 系统 仍然还存在s p u 、系统总线和软件系统等单点故障,而h a 集群则可消除这些单点故 障并且实现成本相对低廉,性价比相当高。因此没有理由不把h a 集群的技术引入到 n a s 系统中,通过将两台或者更多的n a s 服务器连接起来构成h an a s 集群,实现 n a s 系统可用性的飞跃。 华中科技大学硕士学位论文 3 1h a n a s 集群的硬件框架 我们构建h a n a s 集群的初衷是既要提高n a s 系统的可用性,又不致于使成本 超出可承受的能力之外,因此选择合适的硬件结构无疑是相当关键的。目前,h a 集 群的硬件结构主要有三种【2 3 】:非对称式、对称式和n 结点式。非对称式的h a 集群包 括两台相同的服务器,其中一台是活动的基本系统( 即主系统) ,用户从它存取数据 和获得服务,另一台同样的服务器( 即备份系统) 监视主系统的运行,并在主系统失 效的情况下,自动接管其工作,充当主系统的角色;而原来的主系统在修复完成后重 新加入,变为备份系统。对称式的h a 集群中,两台服务器同时都是活动的,彼此都 能提供独立的服务;每台服务器在另一台失效后都可以接替它为用户提供服务。这样 一来,每台服务器既是主服务器又是备份服务器。n 结点式的h a 集群是由多台服务 器组成,其中n 1 台服务器为用户提供服务,1 台服务器充当备份系统的角色,当n 1 台提供服务的服务器中任何一台失效时,作为备份系统的服务器接管其工作。这是多 台服务器共享一台备用机,以此分担冗余的费用。 三种硬件结构各有优劣,表3 1 1 2 3 l 给出了三种结构综合比较的结果。 表3 1 三种h a 集群硬件结构的比较 非对称式对称式n 结点式 资源利用率 较低较高一般 实现难易一般较难 难 失效处理难易一般较难较难 失效时对系统影响不明显明显降低不确定 同时提供服务的服务 ln - 1 器数 可靠性高较低一般 从表3 1 可以看出,对称式的h a 集群虽然资源利用率较高,但由于两台服务 器同时提供服务,互为备份,在一台服务器失效时,将严重影响系统性能,响应时 间明显增加。非对称式的h a 集群在备份服务器上不提供服务,只在主系统失效时 接管其为用户提供的服务,并监控失效主系统恢复后重新加入,因此非对称式的h a 1 6 华中科技大学硕士学位论文 集群的资源利用率在大多数时问只有5 0 左右,但可用性相对较高。n 结点式h a 集群虽然同时提供服务的服务器数最多,但由于多台服务器同时共享一台备份服务 器,当系统中有两台以上的服务器失效时,如何处理任务接管和失效恢复以及如何 实现一台备份服务器对其它多台服务器的失效检测和数据备份,都是十分棘手的问 题。 以上是三种通用h a 集群的硬件结构的差别,选择其中的哪一种结构作为h a n a s 集群的硬件结构,除了考虑其本身的优缺点外,还必须考虑针对n a s 服务器 的特点。n a s 服务器提供给用户存取的基本单位是文件,为了提高单台n a s 服务 器的可用性,给用户共享的文件均存放在由若干磁盘的部分或全部空间所组成的不 同r a i d 级别的逻辑卷中。逻辑卷的数目可以有多个,如在华中科大外存储国家实 验室与美国公司开发的n a s 服务器n a s s t o r 中,逻辑卷最多可以有4 个。构建h a n a s 集群在功能上应是单台n a s 服

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论