已阅读5页,还剩64页未读, 继续免费阅读
(计算机系统结构专业论文)数字有机体系统安全子系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要摘要l i n u x 是多用户、多任务的操作系统,它不仅继承了u n i x 系统功能强大、性能稳定的特点,还在许多方面超过了u n i x ,比如简单高效的进程调度,支持内核线程、虚拟文件系统、模块机制,强大的网络支持等。近些年,由于l i n u x 的高性能、低价格,它在很多领域得到了广泛的应用。很多个人和企业都转向了l i n u x操作系统,并且在公开源码的基础上的开发和研究也越来越多。当前随着大规模网络应用的不断出现,特别是大规模的存储需求,分布式系统和虚拟存储系统t 1 0 也随之诞生,以l i n u x 为开发平台的分布式系统也成为当今主流。目前较为流行的大型分布式系统,都以l i n u x 或者类似的u n i x 变种作为开发平台。数字有机体系统【l 】就是一个基于l i n u x 平台的虚拟存储系统。其核心思想是通过聚集网络上的各种存储资源t u j 2 1 ,形成虚拟的单一空间,向业务系统提供统一的映像,并提供数据的高可用性保证,从而满足大规模网络应用的需要。在传统的p 2 p 分布式存储中数据对于所有用户都是公开的,但随着共享资源和用户数量的增多,就会存在安全问题。在某些特定系统中一些高敏感资源只能对某些用户开放,这就需要设立访问控制权限机制。本文分析了当前l i n u x 已有的安全策略,通过结合数字有机体系统和数字有机体虚拟文件系统的特点,描述了数字有机体系统资源访问安全子系统的设计与实现。由于数字有机体系统本生对文件元数据的管理的高效性,使得作为文件附加属性的访问控制信息不管在访问和修改都有很高的效率。而且d o s f s 良好的兼容性,也使得对于本地用户对文件访问控制属性的设置十分简便,和操作单机系统没有区别。当然还有方便系统安全管理员的界面系统和安全角色概念的引入,使管理员对整个数字有机体系统的文件访问控制信息管理的工作量大大减低。关键词:安全,分布式,访问控制链表,数字有机体系统a b s t r a c ta b s t r a c tl i n u xi sao p e r a t i o ns y s t e mo fm u l t i - u s e ra n dm u l t i t a s k s i tn o to n l yi n h e r i t e dt h ep o w e r f u l ,s t a b l ep e r f o r m a n c ec h a r a c t e r i s t i c so fu n i xs y s t e m , i ss t i l lm o r et h a nal o to fa s p e c t so f u n i x s u c ha ss i m p l ea n de f f i c i e n tp r o c e s so fs c h e d u l i n g , s u p p o r tf o rk e r n e lt h r e a d s ,v i r t u a lf i l es y s t e m , t h em o d u l em e c h a n i s m ,a n das t r o n gn e t w o r ko fs u p p o r t i nr e c e n ty e a r s ,b e c a m eo fl i n u x ,h i g h - p e r f o r m a n c e ,l o wp r i c e , w h i c hh a sb e e nw i d e l yu s e di nm a n ya r e a s al o to fi n d i v i d u a l sa n db u s i n e s s e sh a v et u r n e dt ol i n u xo p e r a t i n gs y s t e m , a n dd e v e l o p m e n ta n db a s i cr e s e a r c ho ni t so p e ns o u “xb e c o m em o r ea n dm o r e w i t ht h ec u r r e n to n g o i n gl a r g e - s c a l en e t w o r ka p p l i c a t i o n s ,e s p e c i a l l yl a r g e - s c a l es t o r a g er e q u i r e m e n t s ,d i s t r i b u t e ds y s t e m sa n dv i r t u a ls t o r a g es y s t e mc 0 m ei n t ot h ew o r l d l i n u xp l a t f o r mf o rt h ed e v e l o p m e n to fd i s t r i b u t e ds y s t e m sh a sb e c o m et o d a y sm a i n s t r e a m a tp r e s e n t , t h em o s tp o p u l a rl a r g e - s c a l ed i s t r i b u t e ds y s t e m sa r eb a s e do nl i n u xo ru n i xv a r i a n ta sad e v e l o p m e n tp l a t f o r m d i g i t a lo r g a n z a t i o ns y s t e m 1 1i sal i n u x - b a s e dp l a t f o r mf o rv i r t u a ls t o r a g es y s t e m s i t sc o r ei d e ai sg a t h e r e do nav a r i e t yo f n e t w o r ks t o r a g er e s o u l c 髂t of o r mas i n g l ev i r t u a ls p a c et op r o v i d eau n i f i e di m a g et ot h ea p p l i c a t i o ns o f t w a r e a n di te r l s u r et h el l i g l la v a i l a b i l i t yd a t at om e e tt h en e e d so fl a r g e s c a l en e t w o r ka p p l i c a t i o n s i nat r a d i t i o n a lp 2 pd i s t r i b u t e ds t o r a g eo fd a t af o ra l lu s e r sa r eo p e n , b u tw i t ht h ei n c r e a s eo fs h a r i n gr e s o u r c e sa n du s e rs c a l e s ,t h e r ew i l le x i s ts o m es e c u r i t yp r o b l e m i i ls o m es p e c i f i cs y s t e m ,h i 曲l ys e n s i t i v er e s o b r c e sc a no n l yb eo p e nt oc e r t a i nu s e r s ,s ot h e r em u s ts e ta c c e s sc o n t r o lm e c h a n i s m t h i sa r t i c l eh a sa n a l y z e dt h ec u r r e n tl i n u xs e c u r i t ys t r a t e g y ,t h r o u g hac o m b i n a t i o no fd i g i t a lo r g a n z a t i o ns y s t e ma n dd i g i t a lo r g a n z a t i o ns y s t e mf sc h a r a c t e r i s t i c s ,d e s c r i b e dh o wt od e s i g na n di m p l e m e n t a t i o nd i g i t a lo r g a n z a t i o ns y s t e ma c c e s ss e c u r i t ys u b s y s t e m b e c a u s ed i g i t a lo r g a n z a t i o ns y s t e mh a v eah i 曲f i l em e t a - d a t am a n a g e m e n te f f i c i e n c y , t h ea c c e s sa n dm o d i f ya c c e s sc o n t r o li n f o r m a t i o nw h i c hi st h ea d d i t i o n a lp r o p e r t yo ff i l em e t a d a t aa l s oh a v eav e r yh i 曲e f f i d e n c y a n dt h ed i g i t a lo r g a n z a t i o ns y s t e mf s sg o o dc o m p a t i b i l i t y ,a l l o w sl o c a lu s e rt os e tt h ef i l ea c c e s sc o n t r o lp r o p e r t yv e r ye a s y a n dt h i ss e c u r i t ys u b s y s t e mh a v eav e r yc o n v e n i e n ti n t e r f a c ea n db a s e dr o l ea c c e s sm e c h a n i s m ,s ot h a tg r e a t l yr e d u c et h ew o r k l o a do ft h ea d m i n i s t r a t o r k e yw o r d s :s e c u r i t y ,d i s t r i b u t e ds y s t e m , a c c e s sc o n t r o ll i s t , d i g i t a lo r g a n z a t i o ns y s t e mi 独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。冲占月z 日关于论文使用授权的说明本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。( 保密的学位论文在解密后应遵守此规定)第一章引言1 1 概述第一章引言随着分布式存储的应用要求越来越高,特别是企业应用对存储资源的统一管理和分配有了更高的要求。分布式系统中的资源访问控制,节点负载均衡,资源存储的配额管理,用户管理等等都成为目前的热点研究领域。其中资源访问控制又是重中之重。在大型的分布式系统中,存储的资源庞大,用户众多,一些高敏感资源如何得到保护,如何管理大量的用户,是分布式访问控制的主要研究问题。做到对指定资源只能由指定的用户群访问,保证高敏感资源的保密性。而对于一般资源又可以方便普通用户访问。电子科技大学8 0 1 0 研究室经过五年的研究,实现了大规模的网络存储系统一数字有机体系统,为网络公众用户和企业用户提供存储服务。该项目已经初步建成并于去年6 月在四川省检察院及其下属市级检察院应用。数字有机体系统采用了存储虚拟化的技术,屏蔽了具体存储设备的物理细节,为用户提供统一集中的存储管理,细粒度的访问控制机制,和统一的用户管理机制。1 2 数字有机体系统数字有机体系统是一个分布式虚拟存储系统。而与传统的p 2 p 系统不同,它不仅仅提供对资源的查找和访问,而且还提供对资源的修改和对资源的管理,全面地解决存储系统的各种问题。并提供各种和p o s i x 兼容的接口满足业务逻辑对存储系统的各种要求。数字有机体系统的核心思想是通过一定技术,在原有分布式系统的基础上,提出了站的概念,每一个站都是一个分布式并行系统,然后把所有的站又聚集起来,形成数字有机体系统。系统中的所有资源形成一个虚拟的单一空间,让存储的实现对用户透明,不存在中央节点,完善的容错机制和副本管理机制,保证数据的高可用性,实现对资源的告诉访问。并且提供统一的用户管理和资源访问控制机制。具体地说,数字有机体系统的核心思想是:1 ) 充分利用网络上的各种存储资源数字有机体系统在分布式并行操作系统的基础上进行研发的。分命式并行系电子科技大学硕士学位论文统操作系统将小范围内的计算机组成一个整体,而数字有机体面对的是大规模网络上的巨大数量计算机;数字有机体也具有分布式并行系统的基本特征。在实现过程中,将原有的分布式并行系统作为数字有机的基本组成单元,大量的分布式并行系统组合起来进一步成为数字有机体系统。在数字有机体中这个基本组成单元被称为“站。站内部,站与站之间的计算机完全对等,不存在层次结构之分。这样一来提高了系统的可扩展性,而且这也在数字有机体的资源发现机制的基础。2 ) 形成虚拟的单一存储空间和统一的映像数字有机体系统为了给业务逻辑提供更好的支持,把所有资源统一的管理起来,形成一个单一的存储空间。使得资源的存储对于用户是完全透明的。因为在用户看来,所有的资源就像存储在一个单一的存储设备上一样,具有统一的路径名,在使用该系统时,用户无须考虑资源具体存储的位置和方法,使得使用起来更加贴近原有的单机系统。另外对于系统的管理也十分方便,管理员通过认证机制后,在任何一个节点登陆都可以方便对整个系统进行管理,大大减少了管理的工作量。3 ) 数据高可用性保证因为系统是由多个节点和站组成的,不管是对资源数据或者是资源的源数据在系统中都实现了冗余存放,并且有一套完整的恢复系统。任何一个站或者是节点崩溃都不会影响到整个系统的正常服务。当某一个节点或站崩溃后,再重新启动,恢复系统会恢复先前正在执行的操作,并且同步当前最新的数据,保证了数据的一致性。而且冗余存放的数据还可以提高数据的访问效率,当有用户访问资源时,总是可以让离用户最“近一的节点为其提供服务。4 ) 资源访问的安全性在数字有机体系统中存储的资源,都有一个明细的访问控制链表,对于有权限的用户才能访问,并且管理方便灵活,既可以通过图形界面进行操作,也可以通过s h e l l 命令进行管理。满足了企业级用户对于资源安全性的要求。1 3 论文组织本文主要论述了数字有机体系统中访问控制子机制的设计与实现。为了向读者说明问题首先需要对数字有机体系统本身加以说明,包括主要的设计思想、构架、模块划分和实现的功能。2第一章引言本文的结构安排如下:第二章介绍了当今流行的访问控制机制,并对他们进行了简单的比较。第三章介绍数字有机体系统的设计思想、构架和一些主要的功能模块,使读者对数字有机体整体有一个比较深入地了解。第四章数字有机体访问控制机制的设计与实现。第五章测试与分析。第六章结论与后续研究建议。电子科技大学硕士学位论文第二章现有访问控制机制的介绍2 1 安全机制概述在介绍数字有机体的安全机制之前,先对已有的访问控制机制做一个简单的介绍。访问控制技术随着应用对数据的安全性而诞生,系统中存在众多用户和资源,访问控制机制就是要表示出用户、资源以及用户如何去访问这些资源。所以我们一般用主体的概念来概括所有的用户以及用户进程。而用客体的概念来表示系统中的资源,一般这些资源代表数据、信息、网络服务、进程、网络设备等等。而访问控制机制的概念就是制定一个规则,来确定主体以何种方式何种能力访问客体资源。虽然系统中的资源和用户众多,但他们始终是有限的,我们可以通过给它们加以标示来区分不同的用户和资源。而用户对资源的访问我们也可以通过存取矩阵的方式来一一说明其中的关系。其具体机制可以用一个三元组来表示( s ,0 ,a )系统状态,其中s :主体集合( s u b j e c ts e t ) ;0 :客体集合( o b j e c ts c t ) ;a :属性集合( a t t r i b u t i o ns 鳓;a =a o m口l ma 辨s ls 2:s 。【d ld 2 0 。】对于任意一个s 。s ,0 ,0 ,那么相应存在一个a 。a ,而口甜= 尸( s ,0 ,) 。a 。决定墨对d ;可以执行什么样的操作,其中p 是权限判定函数,这种关系可用上面的矩阵描述。矩阵的第i 行s 表示了主体s ,对所有客体的操作权限;矩阵的第j列d ,表示了客体0 ,允许主体可进行的操作权限。所以可见,访问控制机制的关键存在于两个方面,一是如何标示出系统中的主体对象和客体对象。二是如何利用这些标示来制定一套详细的规则。这就是通常所说的安全模型。随着对访问控制机制的不断研究,现在已经出现了很多安全4第二章现有访问控制机制的介绍模型,比如比如有限状态机模型、存取矩阵模型、b l p 模型【2 1 、b i b a 模型、信息流模型、中国墙模策略、角色模型等。下面我们将对一些主要的安全策略和模型做简单的介绍。2 2 常见访问控制技术的介绍2 2 1 自主型访问控制d a cu n i x 或者l i n u x 通常使用的一种基于位保护的自主型访问控制机制。在这种单机操作系统中,用用户i d 、用户组d 来标示了主体,而访问矩阵附加在客体资源上。每个文件都有一个m o d e 值,这是一个1 6 位的整型。m o d e 值的后9 位就代表了访问控制矩阵。如图2 1 所示:代表文件类型代表权限矩阵厂卜厂l 1 10 0 000111 11010 0翌窖曩妻对应其吝堡霍喜爸莆芦爱嘉窘宝晶爰螽的权组的刚仪限图2 - 1 文件m o d e 值的说明图比如图2 1 所示,这个文件的m o d e 最后9 位的值代表了对于该文件的拥有者有读写和执行权限,而对于该文件拥有者所在的用户组的用户拥有读写权限,对于不是上述所说的其他用户只拥有读的权限。使用s h e l l 命令l s 1 可以显示该文件的访问矩阵。图2 1 中的文件的访问矩阵显示为r w x r w - r - 。但这种访问控制机制有很大的弊端,首先访问控制的粒度不够细,比如不能针对某一个文件设置特定的访问权限。还有就是不能防止木马等恶意程序的攻击。电子科技大学硕士学位论文为了补充基于位保护的访问控制机制。后来发展了一种新的访问控制机制a c l ( 访问控制链表) ,它同样用d 的方式来标示用户和用户组。而不同的是,它在客体上附加的访问矩阵更加具体和细致,真正做到了细粒度的访问控制。该访问控制矩阵不是简单的存储在m o d e 值里,而是以文件附加属性的方式作为文件的元数据。而且也兼容基于位的保护控制机制。a c l 顾名思义是一个以链表的方式来存储的,链表中的每一个链代表了一种访问控制策略,包括了文件属主u s e ro b j ,文件属主所在的用户组g r o u po b j ,对应单个用户的u s e r ,对应单个用户组g r o u p 和其它用户o t h e r 。因为文件属主只有一个,所以在该链表中u s e ro b j 和g r o u po b j 也只有一个,而u s e r 和g r o u p 可以有多个。这样就完全实现了访问控制细粒度,可以针对某一个用户进行权限设置。图2 - 2 a c l 示意图如图2 2 所示,访问控制链表以链表的方式存储,并且可以动态增长。图中所示的文件代表,对于该文件的属主有读写执行的权限,而对于文件属主所在的用户组有读写的权限,而对于用户s h o u t 有读的权限,对于用户组t e s t g r o u p l 有读写权限,而对于其它用户什么权限都没有。a c l 软件包提供一套丰富的s h e l l 命令来管理和设置文件的a c l 属性,使用也十分方便。但a c l 访问控制机制也有自己的缺点。首先它一般针对文件,对于系统的保护缺乏完整性。因为不能对用户进程这类资源做保护。其次a c l 由于提供了细粒度的访问控制,链表长度可以动态增长,导致了存储量的增加。最后它同样不能防止恶意程序对系统的危害。2 2 2 强制型访问控制m a c强制型访问控制m a c 最早应用于军事。并且采用强制的等级区分。系统内所6第二章现有访问控制机制的介绍有的主体和客体用一个二元组来标示,拥有自己的等级和内别集合。当主体的等级高于或等于客体,并且主体的内别集合包含客体,才能对客体进行读操作,这是m a c 的简单安全性原则。而当主体的等级低于或等于客体的等级,并且主体的类别包含客体的类别集合时,能够对客体进行写操作,这是m a c 的一特性。其规则如图2 3 所示。图2 - 3 多级系统安全规则强制访问控制虽然保证了信息的安全性,信息不容易泄露,而且加强了对进程的保护,加强了恶意程序的防御。但应用范围只限于那些有很强等级观念的行业,应用范围很窄,而且授权的管理也很困难。2 2 3 基于角色的访问控制r b a c针对传统的访问控制的总总缺点和大规模的网络应用,出现了基于角色的访问控制。其最大的特色在于建立了角色的概念。角色可以说是系统主体标示的一个个子集。把权限从主体标示中剥落开来,和角色联系在一起。因为用户是可以随时可以变化的,而角色一般是不变的。比如在一个行业内,经理这一角色始终存在,而至于是哪个用户担任经理我们可以不用考虑。而对于一个指定的角色而言它可以执行的操作,也就是安全控制访问策略也是不变的。这样的设计不仅大大简化了,管理的流程,也减少了工作量。而且一个用户可以动态的在几个自己拥有的角色间转换。图2 _ 4 表示了用户,角色和客体之间的关系。除了角色,基于r b a c 的访问控制还加入了很多其它特性。对于客体的分类也十分详细。对于文件、目录、套接字这类资源为他们设计了t y p e 类型标示。而为进程则专门设计了d o m a i n 域类型表示。这些都保存在资源的安全上下文中。不7电子科技大学硕士学位论文仅对文件、目录、套接字这样的资源做了保护,而且对进程这样的资源也做了保护,很好的防止恶意程序的破坏和越权操作等情况。对于文件这一类资源安全上下文同样以文件扩展属性的方式保存。图2 4 角色的桥梁作用除此引入系统安全管理员的概念统一管理整个系统的安全策略。这防止了r o o t用户权限过大的问题。安全策略由安全管理员编写,其策略文件修改十分方便。比如有一个无特权的用户s h o u t ,其安全上下文为c o n t e x t = s h o u t :ur :ut 。在其安全上下文中可见他的身份是s h o u t ,角色是ur ,类型是ut 。如果用户s h o u t 执行了鼬命令切换成r o o t 用户后,再查看自己的安全上下文,任然不会改变。这里在判定权限的时候,首先还是通过操作系统原有的权限检查,通过检查了,再进行基于角色的访问控制检查,若没通过任然不能执行操作。所以s h o u t 用户就算切换成r o o t 用户,最后他的权限范围任然受到控制。基于r b a c 的访问控制机制的优点是很明显的。1 其对整个系统的保护十分完整,不管是文件、目录、套接口,还是进程,都做了详细的保护措施2 引入角色概念,使用户和资源完全隔离开来,减少了管理的维护开销,并且增加了安全策略的灵活性和有效性。3 引入安全管理员的概念。限制了r o o t 用户权限过大的问题。对整个系统的安全策略做统一的管理和设置。当然相对于原有的安全策略,基于r b a c 的访问控制机制存在着技术比较复第二章现有访问控制机制的介绍杂,不容易实现。9电子科技大学硕士学位论文3 1 概述第三章数字有机体系统介绍这一章主要介绍一下数字有机体的框架结构和主要思想。数字有机体系统由本实验室已研发成功的分布式并行文件系统【1 3 1 发展而来。融合了分布式并行系统p 4 和p 2 p 存储系统【1 5 】的特点和优点。重点介绍数字有机体系统中的一些模块,这些模块是实现访问控制机制的基础。3 2 数字有机体网络拓扑结构数字有机体系统的设计是面向大规模网络应用的分布式系统。并且在现有的分布式系统中做出了自己的特点。现有分布式系统中,存在大量的节点,为了将他们组织起来,并且提供更高效的资源定位速度,数字有机体系统创新的提出了站的概念。在网络环境中有很多节点是存在于一个局域网内的,数字有机体的站就是这些在一个局域网内的各个节点组成的。他们之间以紧耦合的形式组织在一起,而站与站之间则以松耦合的形式组织在一起。单个主机称为一个节点,在站的内部,站与站之间的节点是完全对等的,不存在层次结构之分。这样的体系结构不仅提高了资源定位的速度,而且使整个系统的规模更容易扩展。下面定义这两个概念。图3 1 表示了数字有机体系统的网络拓扑结构【1 6 j数字有机体节点:是指在数字有机体系统中的一台终端,一般是一台个人电脑或者服务器,拥有自己独立的存储设备。数字有机体站:是指在数字有机体中,在一个局域网内的众多节点的一个集厶口。从硬件结构来看,数字有机体系统分为三个层次,即节点、站、数字有机体。每个节点都有自己的存储设备,它们可以是主机内的磁盘,也可以是外接的磁盘阵列。这些存储设备物理上被所在节点管理,在一个局域网内的多个节点被组织成一个站。可以认为数字有机体站是部署在一起的存储设备的联合体,它作为一个整体和部署在其他地方的数字有机体站交互。多个数字有机体站又再组织成一个统一的系统。1 0第三章数字有机体系统介绍图3 - 1 数字有机体网络拓扑结构图从软件结构来看,数字有机体系统是构建在现有l i n u x 操作系统上的软件层。它用来建立统一的文件存储空间和文件系统映像,以便业务系统可以像访问本地的文件一样,访问分散放置在整个系统内的文件。3 3 数字有机体系统结构整个数字有机体系统分为了三大块:数字有机体内核( d o s f s 本文中简称内核) 、数字有机体外核( 本文中简称外核) 和分布式并行数据库( d p s q l ) 1 7 】,数字有机体内核和外核一起作为数字有机体文件系统存在,其详细结构如图3 2所示。其中,数字有机体内核是基于l i n u x 内核开发的,遵循了l i n u x 的风格实现,以一个内核模块的方式嵌入到内核中,它建立起虚拟文件系统的概念填充v f s 层的操作集指针,但实际的操作通过内核外通信,又外核来完成;而数字有机体外核在l i n u x 应用层实现,类似一个应用层的守护进程,它主要功能是,与内核模块通信,完成内核模块的操作请求,完成资源定位,副本管理,系统恢复,站间通信等一系列功能。除此之外数字有机体外核直接使用分布式并行数据库( d p s q l )提供的数据存储功能,管理资源的元数据。由于我的研究工作主要在文件系统,电子科技大学硕士学位论文故下面着重介绍一下数字有机体内外核的设计结构,为以后的介绍做必要的阐述。3 3 1 数字有机体内核图3 - 2 数字有机体系统结构图数字有机体的内核模块,实际上是一个虚拟文件系统d o s f s ,它是以一个内核模块的形式嵌入到操作系统内核中。d o s f s 作为一个虚拟文件系统,实现了v f s的各种操作集【i8 1 ,比如i n o d e,等等。当_ o p e r a t i o n sf i l e9 p e r a t i o n sd i ro p e r a t i o n sd o s f s 通过模块插入到内核时,该文件系统被注册到内核,并且挂载m o u n t 到指定的路径下( 默认为d p f s ) ,v f s 操作集的钩子函数指向d p f s 的操作集上。当用户通过s h e l l 或者编程语言在d o s f s 文件系统中访问文件时,其发出的命令通过v f s 传给了d o s f s ,然后通过内外核通信接口将该命令发给了数字有机体外核。数字有机体外核首先根据要操作的文件描述,通过资源定位机制找到该文件的元数据,再根据元数据找到该文件的副本。而在对文件操作时,则根据该文件副本所在的文件系统( 比如e x t 2 ,e x t 3 ,n f s 等等) 进行操作从而避免了直接1 2第三章数字有机体系统介绍对磁盘,内存、磁带等硬件设备进行管理,简化了实现过程。当数字有机体外核处理完用户命令时,也通过内外核接口将操作结果原路返回给用户。简言之,d o s f s 文件系统是一个虚拟文件系统,它通过数字有机体外核和d p s q l 负责对文件元数据的管理和操作,而对真实文件副本的操作,是调用的其副本所在文件系统的操作集。3 3 2 数字有机体外核数字有机体外核主要包括6 个模块:基础模块、元数据管理模块、副本管理模块、文件系统操作集、外核接口请求处理、本机通信接口模块和系统恢复模块。为了叙述方便,在介绍各个模块功能之前,先介绍一些基本概念。3 3 2 1 基本概念1 ) 资源和资源d 、站i d资源是数字有机体中描述和管理的基本对象,资源一般是指文件、目录、服务等。每个资源都存在一个唯一的全局标识:一个以d p f s 开头的分布式路径名。( 这里的d p f s 是数字有机体挂接点) 比如资源:d p f s a e s t f i l e 。【19 】站d 是将站名经过m d 5 算法加密后得到的一个1 2 8 位的数值,每个站对应一个唯一的站d 。资源d 是将资源全局标识经过m d 5 算法加密后得到的一个1 2 8 位的数值,每个资源对应一个唯一的资源d 。2 ) 副本副本是资源的实际存在形式,因为数字有机体系统针对资源的元数据做管理,而对资源的实际存在形式一般是以文件的形式存储在其它文件系统当中。3 ) 元数据元数据是指一个具体资源的描述信息。资源的描述信息包括了资源的类型、大小、访问权限、最后一次访问的时间、资源版本号以及资源副本的放置位置,副本名字等等一些信息。我们在访问一个资源的时候,总是先获取其描述信息,再根据资源描述信息,来对资源进行访问。比如要读一个文件。首先我们会查询该文件的元数据,根据元数据的描述,找到存放该文件副本的站,再从该站读取该文件的副本。对于一个资源,首先根据资源的全局标示,对于文件来说就是该文件的全局路径名。根据这个文件名用m d 5 值算法得到个1 2 8 位的资源i d ,然后根据该资电子科技大学硕士学位论文源m 采用类p a s t r y 的d h t 方法来确定该资源的元数据应该存储到哪三个默认的站的分布式并行数据库内。对元数据的冗余存放,提高了系统的可靠性和可扩展性。这样做不存一个中央节点,在理论上实现一个庞大的系统规模。即使其中有一个站崩溃,整个系统也能够很好的进行服务。而且在恢复系统的存在下,崩溃站重新启动后可以从其它站读取资源元数据,又能很快的恢复服务。而且资源的元数据是存储在数字有机体分布式并行数据库中,一个站点内的所有节点共享一个数据库,提高了元数据的查询速度,4 ) 站内共享空间映射为了给用户提供一个统一名字空间并且共享出本机的一些存储空间。站内的节点可以将自己的要共享出的空间( 一般是一个目录包括其子目录) 以n f s 机制映射到数字有机体虚拟文件系统下。这样站内其它节点通过数字有机体虚拟文件系统就可以通过n f s 的机制直接访问到本机共享出的文件。例如,t e s t l 节点将本机的s h a r e r e s o u r c e 共享出来,而本站内的t e s t 2 节点,则将t e s t l 节点的共享空间通过n f sm o u n t 到t e s t 2 节点的d p 色a 下,则t e s t 2 节点只需通过访问d p f s 下的文件即可访问t e s t l 节点的共享空间。3 3 2 2 基础模块基础模块主要提供资源定位和网络服务,它是外核完成各项功能的基础。基础模块提供网络锁功能、资源定位功能和站间通信功能。1 ) 网络锁主要保证数字有机体资源的互斥访问。2 ) 资源定位功能,是指对资源元数据的查找,由d h t 机制和站管理两个部件组成。站管理保存和维护本站( 本节点) 已知的所有站的摘要信息和详细信息,并维护路由表、邻居站表,从而将系统中所有的站按照站i d 从小到大的顺序顺时针组织成逻辑环的形式。d h t 机制采用类p a s t r y t 2 4 】的分布式哈希算法来确定每个资源的元数据应当存储在哪三个站内。其余的站都不存储该资源的元数据。由于分布式哈希算法能够将所有资源的元数据存储位置大致均衡的分散在所有站点中,因此能够保证数据分布的均衡性。将数据保存在三个站点内的目的是提高资源元数据的可用性,显然,三个站点同时死亡的概率毕竟较小。资源的定位指系统根据资源的全局标识( 指文件的分布式路径名) ,快速的1 4第三章数字有机体系统介绍找到资源存储位置的过程。由于元数据中包括了资源的位置信息,因此,找到资源的元数据即可获得文件的存储位置。这样,资源的定位转化为快速找到资源的元数据。资源定位时则根据站管理提供的信息使用d h t 机制来实现资源i d 到资源元数据的定位过程。资源定位以站为基本的路由单位。根据上面的描述,定位模块提供如下接口:由全局资源名得到资源元信息存放的站:i n ts m _ s o u r c e _ d e s c _ _ o r i e n t ( c h a r 木s o u r c e _ n a m e ,c h a r s t a t i o n s ) ;返回值表示定位是否成功和返回的站的个数。返回负数表示定位失败,返回正整数表示找到了放置资源元信息的站。参数s o u r c en a m e 为资源的唯一标识符资源的分布式目录名。参数2 为保存站d 的数组。数组的每个元素指向一个1 2 8 位的站d ,用1 6 个字节表示。3 ) 站间通信模块提供统一的站间通信机制供各模块使用,为站之间的协调处理提供了支持。站间通信模块提供了两种通信原语:s e n dt o 和s e n dr e c v 。s e n dt 0向指定的节点发送消息后不等待节点的确认消息;s e n dr e “向指定节点发送一个消息并等待对方返回一个响应消息。3 3 2 3 元数据管理模块该模块主要实现对元数据的管理。包括了对元数据的查找,增加,删除,更新和保证一致性这些功能。因为元数据主要是存储在数据库中。所以该模块是外核和数据的主要连接处,大部分的操作都经由该模块来进行对数据的操作。3 3 2 4 副本管理模块副本管理模块不仅实现对副本的管理和还包括了对资源的读写,也就是对副本的读写。副本作为资源具体存在的形式,保存在各个站点的磁盘中。为了保证资源的高可用性,对副本采取冗余存放,但每一个站对副本的总数都会有一个限制和一个最低限度。它会自动的判定某个文件的副本个数,如果过多会自动删除一些,如果过少,会增加。在默认情况下,其基本规则是,若在某个站建立了一个文件,那么该站内会创建该文件的两个副本,而会在其它两个站内各创建一个副本。若站内存有副本的节点死亡,则会选取该站的其它节点创建副本。这样死亡节点恢复后,就会造成站内副本数增加。而一个站对于某一个文件的副本数量有一个最大限制,所以当电子科技大学硕士学位论文副本数量增加到这一值后会自动删除掉多余的副本。而对于副本的一致性,在该模块中通过副本的版本号来实现。不管是新增加副本还是删除副本或者是死亡节点恢复时都会检测各副本的一致性。另外该模块还实现了一个很重要的任务就是资源读写。因为副本是资源的具体存在形式,所以对资源的读写,也就是对副本的读写。下面我们以读副本为例子来简单介绍一下整个读文件的过程。当数字有机体文件系统接收到用户命令要读取一个文件的时候,内核通过系统调用接收到要读文件的全局路径名,然后和外核通信找到该文件的元数据。然后通过元数据中的记录找到该文件副本所在的具体位置。若该文件在本站内有副本则直接通过n f s 的机制直接读取。若本站没有该文件的副本,则通过套接口将该文件副本读回。并且在本地创建该文件的缓存。这里所说的文件缓存和实际的副本有一定区别。对于文件缓存我们不检查其一致性,只通过定时器判断该缓存是否已经过期。3 3 2 5 文件系统操作集实现模块该模块是内核虚拟文件系统的一个外延,把一些功能从内核文件系统中放到应用层来处理。这样做的好处是提高了系统的扩展性,不用每次更新版本都编译内核模块。3 3 2 6 外核接口请求处理模块对于应用层的应用程序来说,当然可以使用系统调用通过内核来使用d o s 提供的各种功能。但d o s f s 所提供的系统调用的功能和数量总是有限的,而且仅限于对d o s f s 文件系统的使用。所以提供了一个外核接口库,该接口库是给其他模块和应用程序使用的连接库。这样,用户就可以通过a p i 访问系统中的资源。而外核接口请求处理模块则是收到用户从外核接口库发送的请求后,调用相关模块处理用户的请求。3 3 2 7 本机通信接口模块本机通信接口模块为数字有机体虚拟文件系统和外核( 用户层的守护进程)通信提供通信支持。外核收到内核发送的请求时,根据不同的请求调用不同的外核模块完成操作,并把结果返回给内核。1 6第三章数字有机体系统介绍3 3 2 8 系统恢复模块系统恢复负责完成的事情包括:1 站故障、站退出和站加入时,调整元数据的放置位置,以便系统能够找到元数据。2 站故障、站退出和站加入时,检查本地保存有副本的文件的副本数是否满足需要。3 节点启动时,检查本地保存有元数据的文件是否已经是被删除文件。4 节点启动时,检查本地文件副本是否是最新副本。5 定时检查本地文件副本的站内缺省副本是否正确记录。系统恢复部分的主要任务是保证资源的可靠性、保证对元数据的正确访问、保证系统内信息的一致性。它作为一个独立的功能模块存在。3 3 3 分布式并行数据库( d p s q l )站点1分布式并行数据库( 量竺兰! 兰)节点节点:入,一一、f厂,竺既s :r 一。一个目录,若不:l t 瓣r昼i直腿嚎不,能则直:是贝岖回错误i匮面赢1 靛r e q _ _ s 用e s t a t ,并清|j - e i n v a li 除a c l 结构土把p o s i s a c l 结构转换;为d p f s a c l 结构。调用r e q _ _ s e t s t a r a c l ( c h a r * g r e s n a m e ,d p f s a c l ) 请求外核完成设置电子科技大学硕士学位论文图4 7 中的检查a c l 是否能用原有d a c 表示中,如果能则要根据a c l 修改文件的m o d e ,这个操作由d p f sa e l来实现。然后再调用e q u i vm o d er e qs o ts t a t设置文件的基本属性( 关于文件基本属性的操作详见4 4 4 节) ,修改m o d e 。图4 _ 7 中最后调用r e qs o ts t a ta c l ( c h a r * g r e s n a r n e ,s t r u c td p f s其中a c lda c l )g r e s n a m e 是要修改文件的全局资源名,da c l 是要设置的d p f s结构。该函数ael和外核通信,将g r e s n a m e 和da c l 封装成消息s t m c ts o tf i l ea e lr e c o r d 发送给外核,获得响应消息s t r u c ta c ks e tf i l ea c l 。如果设置成功,则用da c l 刷新本地的d i rc a c h e ,如果失败则返回错误。d p f s g e t a e l( d e n t r y 要取得的文件t y p e 代表是一个普通文件或者是一个目录文件)根据d e n t r y 取得文件的g r e s n a m e( 全局资源名)们l 一 s 馨s 兰竺s w i t c h ( t y 高厂c( t y p e )d p f s i g e t a c l ( g r e sn a m e ,t y p e ) 查找c a c h e ,若有则返回a c l t y p e d e f a u_ l t检查i n o d e 是否为一个目录,若不是则返回d p f s i g e t a e l ( g r e s n a m e ,t y p e ) 查找c a c h e ,若有则返回r c q s t a t ( g r e s n a m e ,d o s s t a t )根据伞局资源名返叫,对i 监d o s s t a t 结构a cl t y p e a c c e取出d o s s t a t q a 的i a c l 结构s w i t c h ( t y p e )a c l t y p e d e f a ul t取出d o s s t a t q 。的i a e i d e f a u l t 结构将取山限j d p f s a c i 结构转换成p o s i x a c l 结构返网图4 - 8d p f s _ g e t _ a e l 流程3 0第四章数字有机体访问控制机制的设计2 获得文件的a c l 信息。s t r u c tp o s i xa c l 木d p f s _ g e t _ a c l ( s t r u c td e n t r y d e n t r y , i n tt y p o d c n t r y 是要获取的文件d e n t r y构,t y p e 说明要获得的a c l f 门e a c c e s s类型,还是a c l _ 丁汗e d e f a u l t 类型。若成功则返回一个p o s i xa c l 结构。图4 - 8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年公共基础知识考试试题库(含答案)
- 2025年公交车身广告位投放合同协议
- 科学运动与健康生活指南
- 生物统计学拟合结果验证规则
- 大型游乐设施安全规范
- 2025年工业园区厂房物业合同协议
- 天车工职业技能鉴定考试题库及答案
- 导游考试资格试题及答案
- 2025浙江公务员b类真题及答案解析
- 鼻窦炎术后护理方案要点
- 2025芜湖市湾沚区国有资本建设投资有限公司及子公司第一批招聘12人笔试考试参考题库附答案解析
- 新疆招标从业资格证考试及答案解析
- 2025高三英语高考词汇必背3500词
- 技术项目开发团队管理规范文档
- 2025下半年北京市公安局昌平分局勤务辅警招聘24人笔试考试参考题库附答案解析
- 医学检验科SOP文件全集
- 网络安全员考试实操题库及答案解析
- 2025 年大学动物医学(动物寄生虫)下学期期末测试卷
- 雨课堂在线学堂《军事理论》作业单元考核答案
- 员工离职流程及薪资结算标准
- 中国儿童食物过敏循证指南解读 4
评论
0/150
提交评论