(物理电子学专业论文)基于ip的海量存储技术研究与实现.pdf_第1页
(物理电子学专业论文)基于ip的海量存储技术研究与实现.pdf_第2页
(物理电子学专业论文)基于ip的海量存储技术研究与实现.pdf_第3页
(物理电子学专业论文)基于ip的海量存储技术研究与实现.pdf_第4页
(物理电子学专业论文)基于ip的海量存储技术研究与实现.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

(物理电子学专业论文)基于ip的海量存储技术研究与实现.pdf.pdf 免费下载

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

文档简介

浙江大学硕士学位论文 摘要 f i i ii l l lii ii iflli r l jrjjii i i f y 2 0 4 7 7 3 9 随着因特网的迅猛发展,各企业和政府部门面临着数据量不断扩张的压力, 传统的存储技术已经难以满足数字化时代海量信息存储以及数据的容错性和安 全性的需求,同时出于存储成本方而的考虑,基于i p 的网络存储技术受到很大 的欢迎。 附网存储n a s ( n e t w o r ka t t a c h e ds t o r a g e ) 基于现有的t c p i p 网络构建,具有 较高的性能价格比和广泛的支持平台。传统的s a n ( s t o r a g ea r e an e t w o r k ) 系统用 昂贵的光纤通道来连接服务器和存储设备以形成专用高速存储子网,而i p s a n 的发展技术中i s c s i ( i n t e m e ts c s i ) 完全摆脱了光纤通道,基于t c p i p 协议,在 n a s 与s a n 之间架设了一座桥梁。 本文对n a s 和i s c s i 技术进行研究与实现,开发了一个具有实际应用价值 和市场价值的n a s 系统,并在其上应用i s c s i 技术,实现n a s 与s a n 的融合。 所作的主要工作如下: 1 根据n a s 系统的硬件结构和软件组成提出了一套完整具体的n a s 解 决方案,系统装载在一张1 2 8 m b 的d o m ( d i s ko nm o d u l e ) 电子硬盘上, 具有精简、稳定、高效的特点。 2 为了保证网络连接的可靠性,优化数据传输,在n a s 设备上实现网卡 冗余和链路聚集功能。 3 对硬件r a i d 控制卡驱动程序进行分析优化与应用编程,开发一个基 于w e b 的存储管理软件,实现日志管理、数据备份与镜像等特色功能。 一 4 在n a s 设备上用软件的方式实现i s c s i 应用,融合了s a n 的部分功 能,具有灵活的扩展能力。 5 对系统性能进行测试,通过比较n f s 、c i f s 与i s c s i 协议的性能数据, 验证i s c s i 具有更好的传输能力。 关键词:n a si s c s ib o n d i n gr a i dn f ss a m b aw e b 管理 浙江大学硕士学位论文 a b s t r a c t 纡曲t h er a p i dd e v e l o p m e n to fi n t e m e t , e n t e r p r i s e sa n dg o v e r n m e n td e p a r t m e r i t sa r eu n d e rt h ep r e s s u r eo fd r a m a t i cd a t ai n c r e a s e m e n t t r a d i t i o n a ls t o r a g e t e c h n o l o g yc a nn o tm e e tt h en e f x t so fm a s sd a t as t o r a g e ,f a u l tt o l e r a n c ea n d a d v a n c e ds e c u r i t yi nt h i sd i g i t a la g e m e a n w h i l e ,i nc o n s i d e r a t i o no fs t o r a g ec o s t , n e t w o r ks t o r a g et e c h n o l o g i e so v e ri pa r eg e n e r a l l yw e l c o m e d n a s ( n e t w o r ka t t a c h e ds t o r a g e ) i sb a s e do ne x i s t i n gt c p pn e t w o r k sa n d h a s e x t e n s i v es u p p o r t i n gp l a t f o r m s s a n ( s t o r a g ea r e an e t w o r k ) w a su s e dt oc o n n e c t s t o r a g ea p p l i a n c e sa n ds e r v e r sw i t hf i b r ec h a n n e lt of o r mas p e c i a l i z e dh i g h s p e e d s u b n e t w o r k i s c s i ( i n t e r n e ts c s i ) ,o n et e c h n o l o g yo fi p s a n ,t o t a l l yd i s e n g a g e s f r o mf i b r ec h a n n e la n di sc o m p l y i n gt ot c p i pp r o t o c o l s w h oc o n s t r u c t sab r i d g e b e t w e e nn a sa n ds a n i nt h i sp a p e r , r e s e a r c h m e n ta n di m p l e m e n t a t i o no ft h et w ot e c h n o l o g e s n a s a n di s c s i ,a r ep r e s e n t e d w ed e v e l o p p e dan a ss y s t e mw h i c hh a v ep r a c t i c a la n d m a r k e tv a l u e t h e na p p l i e di s c s io ni tt or e a l i z et h ei n t e g r a t i o no fn a sa n ds a n 1 1 1 em a i nw o r ko ft h i sp a p e rc a nb es u m m a r i z e da sf o l l o w s : 1 p u tf o r w a r da ne n t i r ep r a c t i c a ls c h e m eo fn a s s y s t e mb a s e d o ni t sh a r d w a r e s t r u c t u r ea n ds o f t w a r em o d e lw i t ht h ef i l es y s t e mr e s i d i n gi nac o m p a c t d o m ( d i s ko nm o d u l e ) w h o s ec a p a c i t yi s12 8 m b 2 r e a l i z ec h a n n e lb o n d i n go fn e t w o r kc a r d st og u a r a n t e et h er o b u s t n e s so f n e t w o r kc o n n e c t i o na n do p t i m i z ed a t at r a n s f e r r i n gp e r f o r m a n c e 3 d e v e l o pt h ed e v i c ed r i v e ro fas p e c i a lr a i dh a r d w a r ec o n t r o l l e ru s e di no u r s y s t e m , a n dd e s i g n aw e b b a s e dm a n a g e m e n ts o f t w a r ew i t hs e v e r a l f u n c t i o n a lm o d u l e si n c l u d i n gl o gm a n a g e m e n t , d a t ab a c k u pm a n a g 面a e n te t c 4 r e a l i z ei s c s it e c h n o l o g yb ys o f t w a r em e t h o da n de x t e n dt h en a ss y s t e mt o ar u d i m e n t a r ys a n 5 i m p l e m e n tas y s t e mt e s tt oc o m p a r et h ep e r f o r m a n c e so fi s c s i ,c i f sa n d n f sa n dt ov e r i f yh i g h e rd a t at r a n s f e r i n gs p e e do fi s c s i k e y w o r d s :n a s i s c s i b o n d i n g r a i dn f ss a m b aw e b - b a s e d m a n a g e m e n t n 一 浙江大学硕士学位论文 第一章绪论 1 1 基于i p 的网络存储研究背景 随着因特网的迅猛发展,各企业和政府部门面临着数据量不断扩张的压力, 传统的存储技术已经难以满足数字化时代海量信息存储以及数据的容错性和安 全性的需求。因此,网络存储技术应运而生。这种新型的存储系统结构采用高速 网络把存储设备连接起来,通过系统软件进行存储资源合理的调度和分配,使系 统的整体性能达到优化,来满足众多单个用户的需求【l 】。 网络存储设备及系统主要分为附网存储设备n a s ( n e t w o r ka t t a c h e ds t o r a g e ) 和存储区域网s a n ( s t o r a g ea r e an e t w o r k ) 。其中n a s 基于现有的t c p i p 网络构 建,具有较高的性价比和广泛的支持平台;而s a n 一般是基于光纤通道构建的 网络,系统具有非常优异的性能。 n a s 是一种专用的数据存储设备,通常直接接入基于t c p i p 的局域网或广 域网中,采用内嵌的精简操作系统及管理软件,通过多种文件共享协议( 如n f s 、 c i f s 、f t p 等) 向网络用户提供跨平台的文件级海量数据共享的功能,将负载从 应用或企业服务器上卸载下来。 s a n 是随着光纤通道( f c ) 技术而出现的存储区域网络系统,通过不同的连接 设备( 光纤集线器、光纤交换机、光纤路由器等) 将各种存储设备和服务器连接起 来形成高速专用存储子网。与n a s 基于文件的访问方式不同,s a n 采用基于“块” 的数据传输方式。s a n 是一个网络的概念,它使服务器和存储设备间的连接方式 发生了根本性的变革【l 】。 传统的s a n 解决方案用光纤通道技术的串行s c s i 协议来传输高速数据流。 由于通过光纤通道实现的网络存储系统成本过高,大部分中小型企业无法承受, 因此寻求基于i p 的存储系统具有很大的现实意义。 n a s 从一出现起就采用基于t c p i p 的网络架构,近几年来基于i p 的存储区域 网络( i p s a n ) 也得到很大发展,它的思路就是用i p 网络取代f c 网络来连接存储设 备和主机,以解决f c s a n 在成本、标准性、可扩展方面的问题。目前i p s a n 在 实现方式上分为f c i p 、i f c p 、i s c s i 一:大类【2 】。 f c i p ( f i b r ec h a n n e lo v e ri p ) 是一种在i p 网络上传输f c 数据帧的隧道技术。 它将f c 的命令和数据封装成t c p i p 数据包传输,到达远端s a n 后,由专用设 备解包,还原出f c 帧,t c p i p 在传输过程中仅充当管道作用。f c i p 一般用于 将各个孤立的f c s a n 连接起来形成一个巨大的s a n 环境,以方便实现远程镜 像、系统容灾等功能。 浙江大学硕士学位论文 i f c p ( i n t a - n e tf i b r ec h a n n e lp r o t o c 0 1 ) 是一种网关到网关的协议,它将f c 设备 通过i f c p 网关接入i p 网络。互连的f c s a n 各自维护自己的地址空间,在i f c p 网关中完成f c 地址到i p 地址,f c 会话到t c p 会话的映射。它利用i p 交换和 路由的技术,将昂贵的光纤通道交换机替换成廉价的以太网交换机,极大地扩展 了f c 网络的通信距离。 f c i p 和i f c p 都是f c 和t c p i p 相结合的技术,它们虽突破了f c s a n 的 1 0 k m 的距离极限,降低了s a n 拥有成本,但是没有完全地摆脱光纤通道,在 互连的f c s a n 子网中仍有昂贵的光纤通道设备存在,且互连的实现需要专门的 设备支持,如f c i p 网桥、i f c p 网关或交换机,这无疑又增加了数据存储的成本。 i s c s i ( i n t e m e ts c s i ) 完全抛弃了光纤通道,是一个更彻底的i p 存储网络方案 ( 3 1 。它工作在t c p 上层,将s c s i 数据包封装,形成i s c s i 协议数据单元p d u ( p r o t o c o l d a t au n i t ) ,通过t c p i p 网络在启动器( i n i t i a t o r ) 并l 目标器( t a r g e t ) 之间传输。i s c s i 的基础是现有的以太网和i n t e m e t ,不需要太多的投资,就可以方便、快捷地对 信息和数据进行交互式传输及管理。基于i s c s i 构建i p s a n 可以形成一套足以与 传统光纤通道技术相抗衡的廉价s a n 技术体裂。 s a n 和n a s 有着各自的优点和消费群体,同时它们也都有自己的不足之处, 将两种技术取长补短,融为一体是当今存储技术发展的一个方向。传统的s a n 技术使用的传输媒介光纤通道是s a n 与n a s 融合的一道沟壑,i p s a n 技术的发 展使得它们间的融合成为现实。其中一种方式就是将n a s 和s a n 整合到一个系统 中,使得单一系统同时具有两者的优点【4 】:能够通过i p 网络以标准的n f s 、c i f s 协议在异构的环境下实现文件级的访问与共享,构建、维护、管理简单方便;在 服务器和存储设备间采用高速的“块”级的传输方式,数据访问具有更高的性能。 本文的目标是开发一个具有实际应用价值和市场价值的n a s 系统,在其上 应用i s c s i 技术,实现n a s 与s a n 的融合,使系统兼具两者的功能。 1 2n a s 体系结构 n a s 设备可以说是一种专用的“瘦”文件服务器,它除了拥有巨大的存储容 量外,还具有的显著特点就是内嵌操作系统以及专门针对文件系统进行重新设计 和优化以提供高效率的文件服纠1 1 。下面我们将从硬件结构和软件组成两个方面 来阐述n a s 的技术体系。 1 2 1n a s 的硬件结构 n a s 拘硬件结构由核心控制部分和存储子系统构成,如图1 1 所裂1 1 。 一2 一 浙江大学硕士学位论文 图1 1n a s 的硬件结构 核心控制部分主要包括处理器、内存、网络适配器和磁盘接口。整个核心控 制部分通常采用己广泛应用的i n t e l x 8 6 服务器体系结构,这样兼具高性能和低成 本的优点。 磁盘接口可以分为直接接口和间接接口。直接接口一般选用i d e ( i n t e g r a t e d d r i v ee l e c t r o n i c s ,集成电子驱动器) 、s c s i ( s m a l lc o m p u t e rs y s t e mi n t e r f a c e ,小型 计算机系统接口) 或光纤通道,磁盘直接连于这些接口,而没有经过磁盘阵列控 制卡。这种架构的系统对存储资源的管理调度多依靠操作系统和管理软件,完全 采用软r a i d 的实现方式。间接接口也即包含了磁盘阵列控制卡,磁盘连于控制 卡延伸出的接口。通常控制卡自带c p u 及m e m o 巧,能够独立于主机对r a i d 存 储子系统进行控制,减少对主机c p u 运算时间的占用,提高数据并行传输速度。 1 2 2n a s 的软件组成 n a s 系统的软件设计基本要求是较高的稳定性和i o 吞吐率,并能满足文件 共享、数据备份、磁盘管理、安全配置等要求,其结构如图1 2 所示。该结构主 要划分为五个模块:操作系统、卷管理器、文件系统、网络文件共享和w e b 管理 【1 】 o 操作系统选用具有多线程、多任务的高稳定性内核,多是3 2 位或6 4 位开放 源码的内核,并针对文件服务器和数据管理进行了裁减,针对特定硬件环境进行 了优化。核心操作系统包含需要格式的文件系统支持,网络设备和存储设备的驱 动,以及基本网络协议栈( 如t c p i p 、s p x i p x 、a p p l et a m ) 和网络文件共享协议。 l i n u x 、f r e e b s d 等免费的开放源码的操作系统具有稳定、高效的优秀特性,遵 守g p l 或b s d 的版权协议,为大多数n a s 设备所采用,并基于它们进行开发。 一3 一 浙江大学硕士学位论文 卷管理器主要对磁盘和分区进行管理,包括磁盘的监测与异常处理、逻辑卷 的配置管理,支持多种r a i d 类型和磁盘的热插拔、热替换。把这个模块单独划 分出来,一是鉴于它在整个存储系统中的重要地位,二是为了两种实现方式形式 上的统一。对应硬件结构的磁盘接口,这个模块也有两种实现方式。一种基于内 核实现软r a i d ,卷管理器以伪设备的形式存在,处于文件子系统和磁盘驱动之 间。另一种对应于硬件的间接磁盘接口,卷管理器也即r a i d 控制卡驱动和管理 接口。它作为一个独立的设备,通过驱动和管理程序,可以对连接其上的磁盘创 建、修复、删除r a i d 逻辑卷,监测磁盘状态和阵列状态,支持热插拔、热备用。 文件系统提供持久性存储和管理数据的手段,为系统加载内核和卷管理模块 后正常稳定运行的基础,它必须支持多用户,具备日志文件系统功能,以使系统 在崩溃或掉电重启后能迅速恢复文件系统的一般性和完整性,提高n a s 设备的 可靠性。 l c m i r r 瓣t p 络, n 文f s 件, 共c i 享f s , w e b 管理软件 设备配置、监税与 i文件系统 控制 l ( 磁盘管理,1 l t d ) i 挺作系统 l 4 脶她件( 处珲器,网络接n ,戳是阵列等j 图1 2n a s 的软件组成 网络文件共享一般支持以下一些文件传输和共享协议:f t p 和h t t p 协议、 u n i x 系统的n f s 、w i n d o w s 系统的c i f s 、n o v e l l 系统的n c p ( n o v e l lc o r ep r o t o c 0 1 ) 、 a p p l e 系统的a f p ( a p p l e t a l kf i l ep r o t o c 0 1 ) 等,因此n a s 设备支持跨平台的文件共 享和用户访问,客户端一般不需另外安装其它的软件。n a s 设备可以对不同类 型的客户进行访问权限、用户认证、系统日志的配置和管理。 w e b 管理是n a s 系统比较有特色的一个模块,由于n a s 设备一般安装了支 持h t 口协议的内核和服务器软件,通过编写网页和c g l ( c o m m o ng a t e w a y i n t e r f a c e ) i g _ l 数就可以为系统管理员提供一种非常便捷、友好的管理方式,实现网 一4 一 浙江大学硕士学位论文 络配置、用户与组管理、卷以及文件共享管理等功能。w e b 管理不要求管理人员 具备很高的专业知识,拓展了它的应用范围。 1 3i s c s i 协议概述 i s c s i 是s c s io v e ri p 的标准协议【3 】,它通过t c p i p 协议栈连接启动器( i n i t i a t o r ) 和目标器( t a r g e t ) ,通过t c p 连接传送控制信息、s c s i 命令、参数和数据。它最早 是由c i s c o 和i b m 共同发起的,并且迅速得到了i p 存储技术拥护者的大力支持。 i s c s i 技术最重要的贡献在于它对传统技术的继承和发扬【l 】,具体来说就是:s c s i 技术是磁盘、磁带等设备广泛采用的存储标准,从诞生以来一直保持着良好的发 展势头;t c p i p 协议是网络方面最通用、最成熟的协议,i p 网络的基础建设非常 完善。这两点为i s c s i 的充分扩展打下了坚实的基础。 1 3 1i s c s l 的基本原理 i s c s i 基于s c s i 总线协议,s c s i ( s m a l lc o m p u t e rs y s t e mh n e f f a c e ,小型计算 机系统接口) 是一种较为特殊的接1 2 1 总线,广泛应用于小型机的高速数据传输。 它最早研制于1 9 7 9 年【l 】,具备与多种类型的外设进行通信的功能。s c s i 协议是 一种请求回复的应用模式协议【5 1 ,采用a s p i ( 高级s c s i 编程接口) 的标准软件接1 2 使s c s i 设备和计算机内部的h b a ( h o s tb u sa d a p t e r s ) 进行通信。s c s i 接口具有应 用范围广、带宽大、c p u 占用率低等优点,在存储设备上的应用具有独到的优势。 i s c s i 协议就是将原本在本机上运行的s c s i 总线协议扩展到了i p 网络,它继 承了s c s i 接口在存储设备上应用的高效和稳定性,同时又实现t i p 网络的远程存 储管理,即可以在i p 网络上完成对s c s i 存储设备的远程访问。图1 3 所示分别是 s c s i 和i s c s i 的应用模型【6 】。对于s c s i ,用户的读写要求被文件系统解析成s c s i 命令,并通过h b a 完成对s c s i 存储设备的访问。而对于i s c s i ,远程客户的读写 请求经文件系统解析为s c s i 命令后,由i s c s ii n i t i a t o r 封装成i p 数据报,经网络到 达远程的i s c s it a r g e t ,i s c s it a r g e t 对数据报解封,取出s c s i 命令,通过h b a 访问 s c s i 设备后将结果返回给i n i t i a t o r 。整个过程对于用户来说完全是透明的,用户 在客户端看到的远程的s c s i 设备跟本地磁盘没有什么区别。 s c s i 是一个客户端服务器体系结构,客户端通过发起s c s i 命令对服务器提 出请求,服务器接受此请求并作出相应的设备操作。在同一台主机上,客户端就 是用户程序,服务器就是s c s i 层驱动。每个s c s i 命令会有一个可选的数据阶段 和一个必需的回复阶段【5 】。在数据阶段,数据可以从客户端传输到服务器( 如写 操作) 或从服务器到客户端( 如读操作) 或双向传输。在回复阶段,客户端回复此 一5 一 浙江大学硕士学位论文 区u s e r 圃a p p l i c a t i o n 区u s e r 姻a p p l i c a t i o n iiil - _ _ _ 。- 。o 。一_ - _ l _ _ _ _ _ _ _ _ _ _ _ _ - - _ - _ _ j 臣由臣自 s c s i 应用模型 线 图1 3s c s i 与i s c s i 的应用比较 操作的最后状态,包括可能的出错信息。命令参数包含在称为命令描述块( c d b , c o m m a n d d e s c r i p t o rb l o c k ) 的数据结构中。 i s c s i 协议就是将上述的s c s i 协议扩展到t c m p 协议之上。原本硬件设备间 直接传输的s c s i 命令现在被映射到t c p 协议之上传输,实现了s c s i 远程控制。 i s c s i 同样使用请求回复模式,客户端和服务器实际上成为了网络上的节点, i n i t i a t o r 和t a r g e t 之间通过协议数据单元( p d u ,p r o t o c o ld a t au n i t ) j 嗵信 7 】。 i s c s i 架构于t c p 之上,除了t c p i p 协议栈外,可以抽象为两层, s c s i 层 s c s i 层根据应用建立( 或接收) s o s lc d b ,并交付( 或从其接 收) i s c s l 层,完成命令参数的设置等。 一 i s c s i 层i s c s i 层对c d b 建立( 或接收) i s c s ip d u ,交付( 或从其接收) 给t c p 层。这一层是i s c s i 的核心层,完成s c s i 协议在t c p h p 协议上 的映射。 封装好的p d u 包括了一个i s c s i 头部信息和携带的数据,数据的长度由头部 相应的字段描述【_ 7 1 。一个p d u 可以由一个或多个t c p 数据报携带发送。经网络传 输的完整数据报的格式如图1 4 所示: ih “d 阿l 踟_ him - 蛔ih 撕l i 图1 4i s c s i 协议的数据报 l n i t i a t o r 和t a r g e t 完成通信之前需要建- o i s c s i 会话,一个i s c s i 会话包括登录 阶段( 1 0 9 i np h a s e ) 和工作阶段( f u l lf e a t u r ep h a s e ) 。在登录阶段,双方需要通过认证 完成i s c s i 连接,并且可以协商采用的安全机制( 如加密) 。i n i t i a t o r 的登录p d u 包 含了启动会话i d ( i s i d ) ,而t a r g e t 贝l j 生成目标器会话i d ( t s ) 进行应掣7 1 ,登录成 一6 一 浙江大学硕士学位论文 功后则进入工作阶段,否则登录失败,双方断开t c p 连接。 在工作阶段,i s c s i 启动器根据应用程序对文件系统( 即相当于远程t a r g e t 在 本机挂载的文件系统) 的读写请求,将其转换为s c s ic d b ,底层的i s c s i 驱动将 c d b 封装成p d u 传送到指定的t a r g e t 。在t a r g e t 端,对收到的p d u 解封,得到 c d b ,为执行此c d b 分配必要的系统资源,然后将其交给s c s i 驱动层完成对 s c s i 设备的操作。执行的结果仍然打包成i s c s ip d u ,返回给i n i t i a t o r 。 1 3 2i s c s i 的安全机制 在早期的f c s a n 或d a s 系统中,不需要特殊的安全措施,因为存储系统在 物理上和其他网络是隔离的,不存在潜在的网络攻击。对于i s c s i 所在的i p 网络, 存储系统很可能和其他网路共享同一个通用网络。所以可能存在着安全隐患,在 某些场合如在与外部相连的网络内传输涉密数据的情况下需要对数据加密。 i s c s i 的安全机制涉及到的实体有i n i t i a t o r 、t a r g e t 和i p 通信的各个端点。因此安全 机制主要从这几个方面考虑,i s c s i 允许下面几个不同的安全等级【3 】: 1 、无安全措施 2 、i n i t i a t o r 和t a r g e t 之间的认证 认证是在i s c s i 连接级别上实现的安全机制( 通过i s c s i 登录p d u 的交换实 现) 。当i n i t i a t o r 登录时,t a r g e t 可以对i n i t i a t o r 实行认证而且i n i t i a t o r 同时也可以 对t a r g e t 认证,通过i s c s i 登录p d u 的交换进行握手协商,如果协商成功,则 i s c s i 设备之间的p d u 交换将按照适当的安全要求实现。通常,安全方法有 c h a p ( c h a l l e n g eh a n d s h a k ea u t h e n t i c a t i o np r o t o c 0 1 ) 、s r p ( s e c u r er e m o t ep a s s w o r d ) 等。 3 、数据分组加密 i s c s i 运行在i p 层之上,所以可以使用现有的t c p i p 协议族的安全机制, i p s e c 可以用来对所有的i s c s i 传输流加密。这种方法是十分可靠的,而且加密 和解密对用户来说是完全透明的。当然,加密和解密过程在一定程度上对性能有 所影响。 认证机制保证了登录时i n i t i a t o r 和t a r g e t 之间的互信,而i p s e c 为其提供了一条 可靠的端点f n - i p 通信通道【3 】。 1 4 主要工作及章节安排 我们的工作是开发一个性能高效稳定的n a s 产品,并在该产品上扩展i s c s i 应用。根据第1 2 1 节所述的n a s 硬件结构,我们采用了i n t e l x 8 6 服务器体系的 主板,为了提高数据传输和处理能力,系统使用两块千兆网卡来提供网卡冗余和 链路聚集的硬件基础。在1 2 1 节中描述了两种磁盘接口,我们采用间接接口的 一7 一 浙江大学硕士学位论文 方式,安装了h i g h p o i n t 公司生产的r o c k e tr a i d2 2 4 0 控制卡来管理存储子系统。 n a s 设备是一个“瘦”文件服务器,内嵌精简的操作系统和管理软件,它的文 件系统装载在一张容量为1 2 8 m b 的连接在i d e 口的d o m ( d i s ko i lm o d u l e ) 电子 硬盘t ,整体外观见图1 5 。 图1 5n a s 设备整体外观 根据1 2 2 节n a s 的软件组成,我们首先需要对操作系统进行裁减、移植。 在开发的过程中,在硬盘上安装了f e d o r ac o r e4 宿主系统,目标是在d o m 盘上 实现n a s 系统。虽然对文件系统的安排工作没有单独列出,但是它是贯穿渗透 在各章节中的。对应需要的工作,本文结构安排如下: 第一章绪论; 第二章介绍网络设备驱动程序和c h a n n e lb o n d i n g ( 链路聚集) 技术的原理以 及在本系统的实现方法; 第三章概述r a i d 技术,介绍系统采用的r a i d 控制卡的驱动程序和基于 它的驱动优化与应用管理编程: 第四章介绍网络文件共享的两个主要协议n f s 和c i f s s m b 以及它们在 n a s 中的实现方法; 第五章详述基于w e b 的存储管理软件设计和各功能模块实现; 第六章说明i s c s i 在系统中的实现方式,展示系统性能测试结果和分析报 告。 一8 一 浙江大学硕士学位论文 第二章网络接口配置与优化 基于i p 的存储系统通过网络向客户提供数据共享服务。通常的1 0 0 m b s 的 以太网架构难以满足高速数据传输的高带宽和低延迟的要求,随着1 g b s 的以太 网的广泛应用,基于i p 的网络存储系统可以与同样带宽的光纤通道相媲美。网 络存储设备多采用千兆以太网适配器、多个网卡链路聚集等技术来充分利用系统 总线带宽,提高数据吞吐率。 2 1i n t e l 千兆网卡驱动程序 设备驱动程序在l l n u x 内核中处于特殊的地位,它是介于用户软件层和硬件 设备之间的桥梁,完成对设备的抽象,使某个设备响应一个特定的标准编程接口, 同时隐藏了设备的具体操作细节。在l m _ u x 中,设备也被当作文件来对待,称为 设备文件节点,通过主设备号和次设备号来区分,其中主设备号描述控制此设备 的驱动程序,次设备号用于区分同一个驱动程序控制下的不同设备。 l l n u x 操作系统的设备可分为字符设备( c h a rd e v i c e ) 、块设备( b l o c kd e v i c e ) 和 网络设备( n e t w o r kd e v i c e ) - - 种【8 】。字符设备是指能够像字节流一样被访问的设备, 像鼠标,键盘,串口等都属于字符设备。块设备一次可以传递任意大小字节的数 据,并且块设备必须能够支持随机存取,典型的块设备有硬盘、软盘、c d r o m 等。 网络设备在l i n u x 里做专门的处理。它不同于一般的字符设备和块设备通过 r e a d 、w r i t e 等调用与内核通信,内核和网络驱动程序之问的通信是通过一套和数 据包( s kb u f f ) 传输相关的函数进行的,网络设备驱动完成数据的收发,而内核支 持对发送和接收的缓存,提供流量控制机制和对多协议的支持。在网络驱动层之 上,l i n u x 的网络系统主要是基于b s du n i x 的s o c k e t 末) l $ 1 j 实现的,用户程序从不 和网络驱动直接打交道,事实上,s o c k e t 可以被看作一个特殊的设备,用户程序 就是通过s o c k e t 的读写等操作来实现对网络设备的应用的【8 】。另外,网络设备也 没有采用设备文件节点的方式,而是仅仅用“e t h n ( n 如0 、1 、2 ) 的命名方 式来区分不同设备。 我们的n a s 系统使用的网络设备是i n t e l ( r ) p r o 1 0 0 0 系列的集成网卡,驱 动版本是e 1 0 0 0 一7 2 7 。这个驱动支持在它之上的本地v l a n s 、c h a n n e lb o n d i n g 和s n m p ( s i m p l en e t w o r km a n a g e m e n tp r o t o c 0 1 ) 。目前该驱动版本只支持作为一个 模块被加载,i n t e l 还没有提供关于它的内核源码补丁。 驱动程序的安装步骤一般是m a k e ,m a k ei n s t a l l 。m a k e 程序通过读取m a k e f i l e 文件执行操作。m a k e f i l e 中分成许多个t a r g e t ,每个t a r g e t 对应着组系统命令。 一9 一 浙江大学硕士学位论文 当执行“m a k et a r g e t ”这样格式的命令时,m a k e 读取m a k e f i l e 中该t a r g e t 下的命 令并执行。为了把驱动程序模块加载到l i n u x 2 6 1 1 内核中,以移植到d o m 盘 上,而不是安装在正在运行的宿主系统中,我们修改了m a k e f i l e 文件,下面所 列即是部分的修改: 将b u i l d _ k e r n e l = $ ( s h e l lu n a l t l e - r ) 改为b u i l d k e r n e l := 2 6 1 1 将 i f e q ( ,$ ( k s i 配) ) $ ( e r r o rl i n u xk e r n e ls o u r c en o tf o u n d ) e l s e i 矗( l i b m o d u l e s $ ( s h e l lu n a m e - 0 s o u r c e , $ ( k s i 汇) ) k o b j := l i b m o d u l e s $ ( s h e l lu n a m e r ) b u i l d e l s e k o b j := $ ( k s r c ) e n d i f e n d i f 改为 i f e q ( ,$ ( k s r c ) ) $ ( e r r o rl i n u xk e r n e ls o u r c en o tf o u n d ) e l s e i f ;。q ( ,$ ( k o b j ) ) k o b j := $ ( k s r c ) e n d i f e n d i f 修改后执行命令m a k e 、m a k ei n s t a l l ,目标文件e 1 0 0 0 k o 就出现在了我们期 望的路径下。为了使网卡工作起来,在e t c m o d p r o b e c o n f 文件中增加下面两行: a l i a se t h oe l0 0 0 a l i a se t h le l0 0 0 e 1 0 0 0 7 2 7 驱动程序里最主要的结构体e 1 0 0 0a d a p t e r q b 包含 l i n u x 系统 描述网络设备的关键数据结构n e td e v i c e ,作为它的成员使用。n e td e v i c e 是一个 比较复杂的结构体,位于网络驱动程序层的最核心地位【9 】,它封装了一个网络设 备的所有信息和操作函数。 这里我们需要介绍一下n e td e v i c e 的一些字段: u n s i g n e dl o n gr m c m _ c n d ; u n s i g n e dl o n gr m c m _ s t a r t , u n s i g n e dl o n gm e m _ e n d ; 一1 0 一 浙江大学硕士学位论文 u n s i g n e dl o n gm e r n _ s t a r t ; 这几个无符号长整型变量保存了网络设备使用的缓存的起始地址和结束地 址。一般设备拥有不同的发送和接收内存,m e m 字段用于发送缓存,r m e m 用于 接收缓存。 该驱动的设备初始化函数是i n te 1 0 0 0 _ u p ( s t r u c te 1 0 0 0 _ a d a p t e r 宰a d a p t e r ) ,当 向内核注册设备时,此函数会被调用以完成初始设置。 千兆网卡的设备方法主要包含: s t r u c tn e t d e v i c e s t a t s 幸e 10 0 0 _ g e t _ s t a t s ( s t r u c tn e t _ d e v i c e 宰n e t d e v ) 该方法用于获得网络接口的统计信息。 i n te 10 0 0 _ o p e n ( s t r u c tn e t _ d e v i c e 木n e t d e v ) 打开网络设备。网络设备的打开、关闭等操作都有i f c o n t i g 这个工具软件控 制。当i f c o n f i g 激活网络设备时调用此方法,网络设备被打开,然后o p e n 注册 所有相关的系统资源( 如d m a 、中断等) 。 h a te 10 0 0 _ c l o s e ( s t r u c tn e t d e v i c e 宰n e t d e v ) 关闭网络设备,完成与o p e n 相反的功能。 i n te 10 0 0 _ x m i t _ f i a m e ( s t r u c ts k _ b u f f 宰s k b ,s t r u c tn e t d e v i c e 木n e t d e v ) 该方法用于初始化数据包的发送。完整的数据包包含在s kb u f r 中,传递给 * s k b 。 i n tel0 0 0 _ i o c t l ( s t r u c tn e t _ d e v i c e 母n e t d e v , s t r u c ti f r e q 幸i f r , i n tc m d ) 对网络设备执行i o c d 系统调用时执行的方法,用于网络设备的某些设置或 控制功能。 v o i de l 0 0 0 一s e t m u l t i ( s t r u c tn e td e v i c e 宰n e t d e v ) 当设备的组播列表改变以及设备标志改变时,将调用该方法。 需要指出的是,n e td e v i c e 并没有一个接收数据的方法,内核无论从吞吐率 还是从计算需求来讲都不能用轮询的方法来接收数据。网络设备是用中断的方式 通知驱动程序有数据到来的,所以中断服务函数中必须分配一个缓冲区来接收数 据。 2 2n a s 的网卡链路聚集实现 n a s 设备通过网卡与网络相连接,通过网络向客户提供服务。在网络通信 中,容易产生服务器与网络断开、检测失效等错误,因此需要提高n a s 设备与 网络连接的可靠性。 网络传输环节存在两个失效点:一个是网卡n i c 失效;一个是网络电缆断 开。因此考虑到采用网卡冗余和传输链路的冗余来增加容错的能力。网卡的冗余 主要是硬件上的实现,而链路冗余则多是依靠软件的方式。链路绑定( c h a n n e l 一11 浙江大学硕士学位论文 b o n d i n g ) 就是一种链路冗余的技术。为了更有效地利用服务器上的多个网络接 e l ,b o n d i

温馨提示

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

评论

0/150

提交评论