




已阅读5页,还剩65页未读, 继续免费阅读
(计算机软件与理论专业论文)基于lvm和nbd的远程复制系统设计与性能优化.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 远程镜像又叫远程复制,是容灾备份的核心技术,同时也是保持远程数据 同步和实现灾难恢复的基础。它利用物理位置上分离的存储设备所具备的远程 数据连接功能,在远程维护一套数据镜像,一旦灾难发生时,分布在异地存储 器上的数据备份并不会受到波及。远程镜像按请求镜像的主机是否需要远程镜 像站点的确认信息,又可分为同步远程镜像和异步远程镜像。 本文根据实际需求和l i n u x 操作系统特性设计并开发了一套基于l i n u x 逻辑 卷管理器 1 】( l o g i c a lv o l u m em a n a g e r ) 和网络块设备【2 】( n e t w o r kb l o c kd e v i c e ) 的远程复制系统。 我们将远程复制机制嵌入到l i n u x 系统的l v m 组件中,利用l v m 优越的 磁盘空间管理性能,屏蔽了因物理存储设备的差异而导致的系统设计的复杂性 和实现的难度。该远程复制系统基本工作原理是:生产中心在l v m 层截获用户 的写操作请求,通过l v m 层的逻辑映射将请求发送到本地设备的i o 操作队列, 即本地设备写操作完成;同时将写操作数据副本和i o 请求按照本地设备( 即生 产中心) 的写操作顺序记录到远程复制i o 请求队列中。n b d 从远程复制请求 队列中提取写操作请求,同样按照本地数据的写操作顺序,通过n b d 协议将写 请求及相应的数据副本发送到容灾中心,完成生产中心向容灾中心数据的更新。 更重要的是,运行于实际的系统并不总是和理想的设计相吻合。测试中发 现,在实际运行过程中,远程复制系统由于读写压力大会出现一些在设计过程 中不曾想到或者忽略的问题,这些问题对于一个要求稳定运行的实际系统至关 重要。本文将对在系统测试过程中发现的问题详细讨论,并给出相应的性能优 化方案。其中包括整个系统的内存分配策略、由于线程调度引起的资源分配不 均匀问题、非地址对齐的小写对整个复制系统的影响以及异步复制系统缓冲区 满等待策略和采用日志策略的区别和取舍。通过详细的测试方案,我们对整个 系统进行了高速局域网和广域网上多方位的大压力测试。发现系统运行稳定, 效能良好。 , 关键词:远程复制,l v m ,n b d ,性能优化 a b s t r a c t a b s t r a c t r e m o t em i r r o ri sa l s oc a l l e dr e m o t er e p l i c a t i o n , i ti st h ec e n t r a lt e c h n o l g yf o r d a t ad i s a s t e rt o l e r a n c eb a c k u p i ti sa l s ot h eb a s eo fm a i n t a i n i n gr e m o t ed a t a c o n s i s t a n s ya n dd i s a s t e rr e c o v e r y r e m o t ed a t ac o n n e c t i o nf u n c t i o nw h i c hi so w n e d b yt h es e p a r a t es t o r a g es y s t e mi nd i f f e r e n tp l a c e si su s e dt om a i n t a i nad a t ai m a g e w h e nd i s a s t e ro c c u r r e s ,t h ed a t ad i s t r i b u t e di nd i f f e r e n tp l a c e sw i l lb en o ta f f e c t e d r e m o t er e p l i c a t i o ns y s t e mi sd i v i d e di n t os y c h r o n o u sr e m o t er e p l i c a t i o na n d a s y c h r o n o u sr e m p t er e p l i c a t i o na c c o r d i n gt ow h e t h e rt h er e p l yf r o mr e m o t es t a t i o ni s n e e d e db yt h er e q u e s ts e r v e r ar e m o t er e p l i c a t i o ns y s t e mb a s e do nl v m ( l o 百c a lv o l u m em a n a g e r ) a n d n b d ( n e t w o r kb l o c kd e v i c e ) i sd e s i g n e da n dd e v e l o p e db yt h i sp a p e ri nt e r m so ft h e u s e rr e q i r e m e n ta n dl i n u xo sc h a r a c t e r i s t i c w ee m b e dt h er e m o t er e p l i c a t i o nm e c h a n i s mi n t ot h el v mm o d u l eo fl i n u xo s , u s et h es u p e r i o rd i s km a n a g e m e n tc a p a b i l i t yo fl v mt os h e i l dt h ed e s i g nc o m p l e x i t y a n dt h ed i f f i c u l t i e sc a u s e db yt h ed i s c r e p a n c yi np h y s i c a ls t o r a g ed e v i c e t h eb a s i c o p e r a t i o np r i n c i p l ei s :t h ep r o d u c t i o nc e n t e ri n t e r c e p t st h eu p d a t er e q u e s t si nl v m , s e n dt h e mt ot h ei oo p e r a t i o nq u e u et h r o u g ht h el o g i c a lm a p p i n gi nl v m ,s ot h e u p d a t ef o rd e m e s t i ci sd o n e m e a n w h i l e ,t h er e p l i c a t i o n sa n dr e q u e s t sa r es e n tt ot h e r e m o t er e p l i c a t i o nr e q u e s tq u e u ei np r e v i o u so r d e r t h er e q u e s t ss h o u l db es e n tt ot h e d i s a s t e rt o l e r a n c ec e n t e rb yn b d p r o t o c a la n dt h eu p d a t e sw i l lb ec o m p l e t e df r o m p r o d u c t i o nc e n t e rt od i s a s t e rt o l e r a n c ec e n t e r w h a ti sm o r ei m p o r t a n tt h a tt h ei d e a l i z e ds y s t e mm i g h tn o tm a t h c ht h er e a l e n v i r o n m e n ta n du s e rr e q u i r e m e n t f r o mt h et e s tw ec a ns e e ,s o m ep r o b l e m st h a ta r e n o tc o n s i d e r e do rn e g l e c t e dd u r i n gd e s i g na p p e a r e db e c a u s eo ft h eh u g ep r e s s u r e b u t t h e s ep r o b l e m sa r es i g n i f i c a n tt oar e a ls y s t e mn e e d ss t a b l er u n n i n g a l lt h ep r o b l e m s w i l lb ed e t a i l e dd i s c u s s e di nt h i sp a p e r , s o m eo p t i m a z a f i o nm e t h o d sa r ea l s op r o p o s e d i n c l u d i n gm e m o r ya l l o a t i o ns t r a t e g y , n o tb a l a n c e dr e s o u r c ea l l o c a t i o nc a u s e db yt h e t h r e a ds c h e d u l e ,i n f l u n c ef r o mt h eu n t r u n c a t e dr e q u e s t sa n dt r a d eo f f b e t w e e nl o g i i a b s t r a c t b a s e ds y t e n la n dt h ef u l l w a i t i n gs t r a g e g yf o rt h ef u l lb u f f e r a f t e rs t r i c tt e s to nt h e l a na n dw a n ,w ef i n dt h a tt h er e m o t ed a t ar e p l i c a t i o nr a i l sw e l l k e y w o r d s :r e m o t er e p l i c a t i o n ,n b d ,l v m ,p e r f o r m a n c eo p t i m i z a t i o n i i i 图目录 图目录 图2 1 定时复制示意图5 图3 1l v m 组织结构图1 o 图3 2l v m 内部结构图1 2 图3 3l v m 内核通信流程1 4 图3 4l v m 快照示意图15 图4 1n b d 示意图18 图5 1 远程复制工作原理图2 5 图5 2 数据不一致示意图3 0 图5 3 一致性保证示意图3 7 图5 4 特殊情况示意图3 9 图6 1 不同请求大小时l v m 写速度和远程复制速度对比4 6 图6 2 远程卷随机写性能4 6 图6 3w a n e m 工作原理图4 7 图6 4 各种网络上远程复制性能。4 8 图6 5 网络延迟对远程复制性能的影响4 9 图6 6 丢包率对远程复制性能的影响5 0 图6 7 缓冲区限制对远程复制性能的影响5 1 图6 8 坏包率对远程复制性能的影响5 2 图6 9 冗余率对远程复制性能的影响5 3 图6 1 0 不同位图粒度下修复线程性能5 6 图6 1 1 地址对齐对随机写时远程复制的影响5 8 v i i 南开大学学位论文版权使用授权书 本人完全了解南开大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 兰兰竺= 羔! 妻蔓! 望生i z l - 啄,平3 月 经指导教师同意,本学位论文属于保密,在年解密后适用本授权书。 指导教师签名:学位论文作者签名: 解密时年月日 间: 各密级的最长保密年限及书写格式规定如下: 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 学位论文作者签名:力嘛 。百年f 月7 日 第一章绪论 第一章绪论 第一节远程复制应用背景 在当今的信息社会里,保持企业计算机系统的高可用性面临着严峻的挑战, 恐怖事件、自然灾害、人为因素都有可能导致企业信息系统的瘫痪,毁灭关键 业务数据。在企业对信息的依赖性越来越强的今天,数据已经成为开展业务不 可缺少的基础,是企业的重要财富和生命源泉。 根据美国劳工部的统计数据,9 3 的有严重数据丢失的公司在5 年之内破 产。美国威斯康星大学的统计结果也显示,4 3 的美国公司在数据灾难后关门, 而2 9 的公司在两年之内破产。这些统计数字表明,提供可靠的数据存储保证 是至关重要的,而最有效的手段就是数据备份。对于依赖计算机系统运作的金 融、电信、保险、民航、铁路和制造业而言,系统停机的可忍受时间更短。在 “9 1 1 恐怖事件造成世贸大楼倒塌后,名列财富5 0 0 强的金融机构摩根斯坦 利公司在新泽西州灾难备份中心立刻切换运行,从而保障了公司全球业务的不 间断运行,有效降低了灾难对于整个企业发展的影响,而很多没有建立数据容 灾系统的企业却没有这样幸运。 在所有的数据容灾方案中,数据复制系统是其重要的组成部分。数据复制 系统不等同于一般意义上的业务数据备份与恢复,数据备份恢复只是数据复制 系统中涵盖的一个方面。数据复制系统还包括最大范围地容灾、最大限度地减 少数据丢失、实时切换、短时间恢复等多项内容。可以说,数据复制系统正在 成为保护企业关键数据的一种有效手段。 数据复制系统除了能有效防止企业、部门由于重要数据丢失所造成的不可 弥补的损失以外,还能使企业从繁琐的数据备份和恢复工作中解放出来,大幅 度提高工作效率。目前国内大部分企业对于重要数据都采用手工备份的方式, 这种备份需要维护人员手工、定期进行,其工作繁琐,并且容易因为操作失误 产生问题。使用了数据复制系统后,只要进行简单的配置,就可以实现动态、 自动复制,达到安全备份的目的。在意外发生时,可以利用数据恢复系统的恢 复功能进行自动恢复或者把应用程序迁移到从服务器上运行。 由于国外企业对于数据存储的安全性和可靠性的重视,目前国外已有了一 第一章绪论 些远程容灾系统软件,然而大多数系统都是在一些昂贵的硬件设备的基础上实 现的,而且其地理距离也不可能达到i n t e m e t 网的广度。而国内的许多企业对于 数据没有给予应有的重视,也还没有相应的系统。而且现在己有的许多系统都 存在着以下的问题: 基于磁盘阵列的远程复制系统通常需要购买高端磁盘阵列并且需要建立专 门的f c 网络,仅购买两个支持远程复制高端磁盘至少需要1 0 0 多万元,因此投 资巨大,只有少数企业才有能力建立这种容灾系统。另外,由于目前不同磁盘 阵列厂商生产的产品互不兼容,基于磁盘阵列的远程复制一般只能在同一厂家 的同一类型的磁盘阵列间进行,这使得其扩展性较差。 基于文件系统或者应用程序的远程复制软件只能复制特定文件系统的文件 或者应用程序的数据,而不能对任意组织格式的数据进行复制,通用性较差, 如果用户有多种数据需要进行远程复制,则需要购买多个复制系统,变相增加 了用户的投资额。另外,由于该类系统一般不是采用块设备操作,i o 操作的效 率较低,因此对应用程序的性能影响较大。 已有的其他平台( 例如惠普的h p - u x 3 】或者s u n 的s o l a r i s t 4 1 ) 上的远程卷 复制系统建立费用普遍较高,建立费用包括主机购买费用、操作系统购买费用 和卷管理系统购买费用等。例如的卷管理系统和远程卷复制系统一般就需要三 十万元以上。另外,已有的其他平台远程卷复制系统不支持以跨卷组的复制卷 组为单位进行复制。由于许多己经在运行的大型应用程序可能使用了多个卷组 的多个不同的卷,为了进行远程复制不得不停止应用程序并重新进行配置,这 种限制是许多用户不愿意接受的。 而基于l i n u x 的远程卷复制系统作为一种综合利用操作系统技术、存储管理 技术和网络技术的系统。在国外,只有美国的v e r i t a 1 5 】公司的l i n u x 平台远程 卷复制产品正在研制当中。本系统不需要专门的网络,也不需要购买其他设备, 用户在两台以上l i n u x 服务器和t c p i p 网络的基础上,即可轻松建立数据容灾 系统。 第二节本论文的工作与结构 本文主要描述南开大学并行与分布式实验室与天津英业达公司合作开发的 基于l v m 和n b d 的远程复制系统,主要完成工作如下: 2 第一苹绪论 1 、了解当前远程复制系统的现状和主要技术。 2 、对逻辑卷管理器( i :、伥噍) 进行深入分析并了解l v m 的架构。 3 、对网络块设备( n b d ) 进行深入分析并了解其整体架构。 4 、设计并实现基于l v m 和n b d 的远程复制系统。 5 、对远程复制系统进行测试,并在测试过程中提出各种性能优化方案。 各章节组织如下: 第一章介绍数据复制技术的应用背景和本文的组织结构。 第二章介绍数据复制技术的基本原理,指出数据复制技术的必要性和现在 主要复制技术的优点和缺点。 第三章介绍逻辑卷管理器( i v m ) 的组织结构和功能,并介绍l v m 的相关 用法。 第四章介绍网络块设备( n b d ) 的组织结构、原理和功能。 第五章介绍基于l v m 和n b d 的远程复制系统的详细设计。 第六章介绍远程复制系统的测试性能和多项优化措施。 第七章对本文进行了总结并对今后的工作进行了展望。 最后列出了本文所参考的文献,以便于对该问题相关知识的进一步查阅。 3 第二章数据复制技术 第二章数据复制技术 第一节基本原理 数据复制【2 0 】就是将数据从一个源设备复制到一个或多个目标设备的技术, 目标设备可以是本地设备或者是远程设备。这里的设备是一个比较宽泛的概念, 可以是块设备,也可以是文件系统或其它对象等。 数据复制有两个方面的含义: 数据的传播:通过将数据传播到多个设备,这样不同的地方都可以拥有该 数据,并可以利用该数据进行进一步的工作。 数据的统一:虽然在多个设备上都拥有该数据,但是其它设备上的数据都 必须与源设备保持一致。、 数据传播的途径有很多种,可以通过主机数据线、微波、光纤通道或以太 网络等媒介来进行。目前比较多的是通过光纤通道和以太网络来进行数据的传 输。数据传播的方式也有很多种,常用的是通过主从式来进行传播,主从式就 是指有源设备作为主端,目标设备作为从端与主端进行连接并获取数据,这种 方式当目标设备较多时,主端性能会有一定的影响。当然还有p 2 p 的数据传播 方式,多个目标设备之间可以交换得到的数据,像类似b t 一样,数据可以得到 很快的大规模传播,这种方式有效的减小了主端的负担,但是如果要复制的数 据是不断的产生的,而不是固定的数据,则传播的效率反而很低。 数据统一重要的意义就是目标设备上的数据可以直接被上层应用使用,而 不需要进行其它额外的纠正,就好像是源设备上的数据在某个时刻的一个快照 一样。它的重点在于目标设备上的数据要与源设备上的数据保持数据的一致性。 保持数据一致性的方法有许多,但是最常用的也是最有效的方法是在进行 数据复制的过程中保持源设备数据的写顺序。即按照在源设备上的更新顺序, 将请求依次发送到目标设备,目标设备上的数据更新顺序要与源设备保持完全 相同。当然仅仅是保持写顺序还远远不够,当系统在运行过程中遇到一些意外 情况时,就需要一些其它的机制来维持数据一致性,这些技术包括原子操作, d m c 机制和状态维护机制等。 4 第二章数据复制技术 第二节目前的发展 由于在容灾,数据备份和数据镜像方面的需求日益增多,许多研究机构提 出了很多方案,系统厂商、数据库、存储设备和软件厂商也开发了许多系统,。 实现了数据复制技术,来帮助用户管理数据。 从数据复制的时间来看,数据复制技术可分为两大类:定时复制、实时复 制。 1 、定时复制 定时复制顾名思义就是在按照设定的复制计划来复制数据。图2 1 就是一个 典型的定时复制的例子,在图中,定时复制可以分为三个步骤:( a ) 找到要复制 的设备的列表( b ) 得到源设备数据和目标设备数据之间的差异( c ) 将数据的 差异拷贝到目标设备上。 定时复制虽然提供了一定程度上的数据保护,但是它还是有很多不足之处。 它没有为企业在最大可能的程度上对数据进行保护,不能满足商业上对数据持 续地保护的要求。如果在两次数据复制时间之间发生了灾难,则在第一次数据 复制后的所有更新都会丢失,这会给企业和政府机构带来无法估计的损失。 总的来说定时复制只适用于用户对恢复时间和容忍数据丢失要求不高的情 况。 图2 1 定时复制示意图 2 、实时复制 在实时复制技术中,数据的复制发生在数据发生改变的时候,无论数据什 么时候发生了改变,更新都会传播到目标设备上去。实时复制可以通过纯软件 来实现,也可以通过硬件和软件相结合的方法来实现。由于数据的丢失仅仅限 5 第二章数据复制技术 于当请求提交后还没来得及写到磁盘上的数据,实时复制能提供给数据更好的 保护。实时数据复制可以通过同步和异步方式来进行数据的传播【1 8 , 1 9 】。 当采用同步数据复制方式时,源设备和目标设备之间数据互为镜像,保持 完全一致。这种方式实时性强,当灾难发生时目标设备数据与源设备数据完全 相同,保证高度的完整性和一致性。源设备所在主机的v o 操作一直等待,直到 数据被传送到目标设备并安全地存储完成后,才回复主机v o 完成。在一些实现 方法中,目标设备数据必须真正写到目标磁盘上后,源设备所在主机的v o 操作 才认为更新已完成:在另外一些实现方法中,数据被存储在缓存中,不同的实 现方法导致对应用系统的响应时间明显不同。采用同步数据复制会对主机工作 效率有一些影响。从传输距离上说,同步复制对网络延迟有严格的要求,数据 传输距离较短,源设备和目标设备的距离一般最多只能是几十公里。 在使用异步数据复制方式时,目标设备的数据和源设备的数据相比存在一 些差异。异步数据复制是将本地生产数据通过后台同步的方式复制到异地。这 种方式可能有分钟级的短时间数据丢失,很难达到零数据丢失。异步复制的原 理是对源设备的写操作完成后,不必等待目标设备的写完成,主机立即可处理 下一个i o 。因此,对本地主机性能影响很小。 对于许多对i o 响应时间敏感的应用系统来说,异步远程数据镜像技术不失 为一种实用技术,若此类应用采用同步技术,远程数据存储的响应时间可能对 用户来说会变得无法容忍。从传输距离上说,异步数据复制的传输距离较长, 能够达到几千公里。 采用异步远程数据备份需要考虑在响应时间得到改进的同时,备份数据中 心与主数据中心间数据状态的一致性问题,采用异步方式复制数据,很难确定 哪些更新己在备份中心执行,哪些还没有执行,虽然可恢复的文件系统和数据 库系统通常可以在失败后恢复数据的一致性,但这些功能将增加恢复的时间, 且不能保证恢复所有的数据。所以异步方式的数据恢复功能只适用于允许部分 数据丢失的应用场合,同时能够容忍文件系统和数据库恢复工具恢复数据所需 要的时间。 从数据复制实现的层次的角度来看,主要有基于磁盘阵列的远程复制系统, 基于文件系统或者应用程序的远程复制系统和基于块设备的远程复制系统。 1 、基于磁盘阵列的远程复制系统 基于磁盘阵列的数据复制系统可复制特定磁盘阵列上任意数据,通用性较 6 第二章数据复制技术 强,而且复制速度非常快,但是通常需要购买高端磁盘阵列并且需要建立专门 的c f 网络【5 】,仅购买两个支持远程复制高端磁盘至少需要1 0 0 多万元,因此投 资巨大,只有少数企业才有能力建立这种容灾系统。另外,由于目前不同磁盘 阵列厂商生产的系统互不兼容,基于磁盘阵列的远程复制一般只能在同一厂家 的同一类型的磁盘阵列间进行,这使得其扩展性较差。 2 、基于文件系统或者应用程序的远程复制系统 基于文件系统或者应用程序的数据复制系统能够理解上层语意,这样它就 可以针对应用做出相应的优化,通常系统需要复制的数据量比较小。但是它有 个很大的缺点在于通用性较差,只能复制特定文件系统的文件或者应用程序的 数据,而不能对任意组织格式的数据进行复制,如果用户有多种数据需要进行 远程复制,则需要购买多个复制系统。 3 、基于块设备的远程复制系统 基于块设备的数据复制系统有非常好的通用性,可以用于各种类型用户数 据的复制,对于上层应用是透明的。系统中的块设备可以是一个实际的设备, 也可以是由其它驱动提供的虚拟设备。但是它无法理解上层的数据语意,无法 对数据进行优化,复制的数据量可能比较大。 7 第三章逻辑卷管理器简介 第三章逻辑卷管理器简介 l v m 是逻辑盘卷管理( l o 西c a lv o l u m em a n a g e r ) 的简称,它是l i n u x 环境 下对磁盘分区进行管理的一种机制,l v m 是建立在硬盘和分区之上的一个逻辑 层,来提高磁盘分区管理的灵活性。通过l v m 系统管理员可以轻松管理磁盘分 区,如:将若干个磁盘分区连接为一个整块的卷组( v o l u m eg r o u p ) ,形成一个 存储池。管理员可以在卷组上随意创建逻辑卷组( l o g i c a lv o l u m e s ) ,并进一步 在逻辑卷组上创建文件系统。管理员通过l v m 可以方便的调整存储卷组的大小, 并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途 进行定义:“d e v e l o p m e n t ”和“s a l e s ”,而不是使用物理磁盘名“s d a ”和“s d b ”。而且 当系统添加了新的磁盘,通过l v m 管理员就不必将磁盘的文件移动到新的磁盘 上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可【l 2 。 逻辑卷管理器本质上是一个虚拟设备驱动 1 4 1 ,是在内核中块设备和主机系 统中实际物理设备之间添加的一个新的抽象层次。它可以将几块磁盘( 物理卷, p h y s i c a lv o l u m e ) 组合起来形成一个存储池或者卷组。l v m 可以每次从卷组中 划分出不同大小的逻辑卷创建新的逻辑设备。底层的原始的磁盘不再由内核直 接控制,而由l v m 层来控制。相对于上层应用来说卷组替代了磁盘块成为数据 存储的基本单元。l v m 管理着所有物理卷的物理盘区,维护着逻辑盘区和物理 盘区之间的映射。l v m 逻辑设备向上层应用提供了和物理磁盘相同的功能,如 文件系统的创建和数据的访问等。但l v m 逻辑设备不受物理约束的限制,逻辑 卷不必是连续的空间,它可以跨越许多物理卷,并且可以在任何时候任意的调 整大小。相比物理磁盘来说,更易于磁盘空间的管理。 正因为l v m 逻辑卷从用户态上层应用来看就相当于一个普通的快设备,对 其读写操作和磁盘等普通的块设备的读写操作相同。另一方面,从物理设备底 层来看,l v m 独立于并且管理着底层的物理设备,从物理设备上层屏蔽了不同 物理设备之间的各种差异。因而在l v m 层上考虑数据的远程复制问题,可以不 需要单独考虑每一种具体的物理设备,在很大程度上简化远程复制因物理设备 之间的差异而产生的难度。 8 第三章逻辑卷管理器简介 第一节l v m 基本术语 物理存储介质( t h ep h y s i c a lm e d i a ) 这里指系统的存储设备:硬盘,如:d e v l a d a l 、d e v s d a 等等,是存储系统 最低层的存储单元。 物理卷( p h y s i c a lv o l u m e ) 物理卷就是指硬盘分区或逻辑上与磁盘分区具有同样功能的设备( 如 r a d ) ,是l v m 的基本存储逻辑块,但和基本的物理存储介质( 如分区、磁盘 等) 比较,却包含有与l v m 相关的管理参数。 卷组( v o l u m eg r o u p ) l v m 卷组类似于非l v m 系统中的物理硬盘,其由物理卷组成。可以在卷 组上创建一个或多个“l v m 分区 ( 逻辑卷) ,l v m 卷组由一个或多个物理卷组 成。 逻辑卷( l o g i c a lv o l u m e ) l v m 的逻辑卷类似于非l v m 系统中的硬盘分区,在逻辑卷之上可以建立 文件系统( l v , 女n h o m e 或者u s r 等) 。 p e ( p h y s i c a le x t e n t ) 每一个物理卷被划分为称为p e ( p h y s i c a le x t e n t s ) 的基本单元,具有唯一 编号的p e 是可以被l v m 寻址的最小单元。p e 的大小是可配置的,默认为4 m b 。 l e ( l o g i c a le x t e n t ) 逻辑卷也被划分为被称为l e ( l o g i c a le x t e n t s ) 的可被寻址的基本单位。在 同一个卷组中,l e 的大小和p e 是相同的,并且一一对应。 具体如图3 1 所示: 9 第三章逻辑卷管理器简介 p h y s i c a ld i s k0 p h y s i c a ldiskphysicai d i s k2 p h y s i c s l 痼毫k0p h y s i c a ld h l k1p h y s i c a ld i s k2 l o g m a j e x t e n t 图3 1l v m 组织结构图 第二节l 的内部组织 其实每个p v 都被分成了相同大小的p e ,在每个v g 中,所有的p v 的p e 的大小都是一样的。在每个p v 中,所有的p e 都有自己的唯一编号。一个p e 是l v m 在物理存储上的寻址的最小单位。 在用户创建l v 时,l y m 将自动从存储池中找到一些p e 分配给l v ,对应 的每个l v 被分成了一些l e ,l e 与该v g 的每个p e 的大小是一致的。每个l e 都被映射到某个p v 上的某个确定的p e 。每个l v 上的所有的l e 也有自己的唯 一编号,这样用户不需要考虑具体的物理位置,只需给出逻辑的位置l v m 就会 通过映射得到物理的位置来进行真正的 o 操作。 l v m 是独立于物理存储设备的,对于文件系统或者数据库来说,数据存放 的具体物理位置是透明的,即l v m 把卷和物理存储设备隔离开来。l v m 主要 1 0 第三章逻辑卷管理器简介 有以下优点: 1 动态数据迁移 l v m 支持数据的动态转移,比如用户对存储在某个l v 上的h o m e 目录在读 写时,数据完全有可能存储在另一个物理设备上。 2 动态扩展 对一个正在使用的l v ,用户可以动态的扩展l v 的大小,不需要停止任何 应用,就能获得充足的额外空间。 3 提高访问性能 l v m 支持s t r i p p i n g 等功能,可以把卷分布到多个物理磁盘上,通过并行访 问提高性能。 4 支持s n a p s h o t 功能 利用l v m 的s n a p s h o t 功能,可以进行数据的热备份,即可以获得卷在某一 个时刻一致的数据备份而无需停止使用该卷的应用程序。 5 磁盘位置无关性 由于磁盘的i d 与系统启动时识别磁盘的顺序有关,如果有新的磁盘加入或 者有磁盘被卸下,则可能改变其他磁盘的i d 。而磁盘的设备名称由磁盘i d 决定, 所以设备名称会随着磁盘d 改变,在这种情况下已有的应用程序需要重新配置。 而l v m 是把配置信息直接写在磁盘上,并且与磁盘i d 无关,所以无论磁盘i d 如何改变,逻辑卷的配置及名称都不会改变,l v m 及上一层应用程序都能够正 常工作。 第三节l v m 的主要组成部分介绍 3 3 1 内核模块 l v m 的核心部分是内核模块。它需要提供对用户的基本的读写请求的处理, 同时还需要让用户能够方便的控制它,因而必须有相应的控制请求的处理。l v m 的核心结构如图3 2 所示: 第三章逻辑卷管理器简介 图3 2l v m 内部结构图 3 3 1 1 对读写请求的处理 在介绍l v m 的对读写请求的处理之前,先介绍一下l i n u x 对块设备的i o 请求的处理流程。在l i n u x 中所有的i o 请求最后都是要调用 g e n e r i c _ m a k e r e q u e s t o 请求来进行提交,在该函数中进行提交的核心是下面的代 码: d of q = b l k _ g e t _ q u e u e ( b h - b r d e v ) ; i f ( ! q ) b u f f e r 1 0 一e r r o r ( b h ) ; b r e a k ; ) ) w h i l e ( q - m a k e r e q u e s t _ f n ( q ,刑,b h ) ) ; 上面的函数是一个循环,循环的次数与q - m a k e r e q u e s t _ f n ( q ,r w ;b h ) 这个函 数的返回值有关,在l v m 内相应的设备请求处理函数就是 1 2 第三章逻辑卷管理器简介 l v mm a k e _ r e q u e s t _ f n ( q ,r v v ;b h ) 。当系统将调用l v m 设备的请求处理函数时, 其实就是调用了l v mm a k er e q u e s t函数,函数将请求缓f n l v mm a k er e q u e s t 冲中的逻辑地址及设备号改写成实际的物理设备的地址和设备_ 号_ f n ,然后再返回 给操作系统,只要将返回值设置成1 ,操作系统会根据新的设备号和地址将请求 再提交给对应的实际设备的驱动来完成读写操作。因而l v m 对读写操作只是简 单的做了个地址映射。 3 3 1 2 与用户态程序通信 l v m 提供了字符设备的i o c t l 和块设备的i o c t l 两种控制方式。字符设备的 i o c t l 主要完成下面的工作( 1 v mc h a ri o c t l ) : 对p e 和l v m 的加锁和解锁 对l v m 的各类特征查询 对v g ,l v 的创建,移除,扩展,缩减,获取信息,改变状态等操作 对p v 的改变状态,获取信息,清除缓冲等操作 块设备的i o c t l 主要完成下面的工作( 1 v mb l ki o c t l ) : 对各种块设备的信息的得到,入扇区大小,设备大小等等 设置块设备的r e a d a h e a d 大小,清除块设备缓冲 对l v 的各种信息的设置 3 3 2 用户态程序 l v m 在内核中提供了对用户态程序的支持,所以用户态程序可以轻松地和 内核模块通信。l v m 的功能很多,每项功能都涉及相关的用户态程序,这是一 个庞大的命令集合。 每个l v m 命令基本的实现流程都很类似。首先,将用户态的参数解析出来 存放到相应的数据结构中。然后,对目前整个系统的运行情况做相应的检查, 如果现在不允许做相应的操作,将返回错误。如果目前情况允许做现在的操作, 通过i o c t l 接口将用户态的参数传入内核。内核接收到相应的参数后,在内核中 创建或者修改相应的数据结构,然后返回用户态。用户态对内核的返回值进行 判断,进行相应的元数据修改后整个命令结束。如图3 3 所示。 第三章逻辑卷管理器简介 3 3 3 快照功能 图3 3l v m 内核通信流程 快照技术 6 刀】是l i n u xl v m 系统中的重要概念,它提供了逻辑卷在快照创建 时刻的数据存储状态。利用快照,用户可以实现有效的数据分析和备份。l v m s n a p s h o t 的核心技术是写前拷贝( c o p y - o n w r i t e ) 【l7 1 ,在快照卷被创建时,它 只记录与源卷的地址映射关系而并不存储任何实际数据。当源卷上有新的写请 求时,系统将源卷中将要被改写的数据拷贝首先到快照卷中,并利用快照元数 据记录c o w 数据在源卷中的位置。利用这一技术,l v m 可以在很短时间内创 建某一逻辑卷的快照,并且快照并不占用很多存储空间。然而,现有的l v m s n a p s h o t 在可靠性和性能上存在着一些问题,影响了其使用的灵活性。 首先,传统的l i n u xl v m 快照采用叫做e x c e p t i o nt a b l e 的h a s h 表来记录快 照卷c o w 数据与源卷地址空间的映射情况,e x c e p t i o nt a b l e 的大小与快照写前 拷贝数据块的数量呈正比且全部存在于内核内存地址空间,这样,在大容量快 照卷的情况下,其潜在内存消耗量是巨大的;其次,同一逻辑卷可能存在多个 1 4 第三章逻辑卷管理器简介 时间点的快照,这样每个对源卷的写请求将会造成对每个快照卷的c o w 过程, 严重影响了源卷的写效率。最后,管理员从节省存储空间的角度考虑,创建的 快照卷往往小于源卷,随着源卷c o w 数据的增多,往往造成快照空间溢出而使 快照卷失效的情况,影响了快照系统的可靠性。 传统的l i n u xl v m 提供了灵活的虚拟存储架构,l v m 快照采用虚拟视图联 机工作。如前所述,其设计的核心是写前拷贝( c o p y - o n w r i t e ) 技术。在快照 创建后,只有在源卷某块数据第一次被改写时,才将原来的数据拷贝到快照卷 的c o w 数据区,将映射关系记录在快照卷元数据区并在内存中将这一关系加入 h a s h 表。举例来说,设源卷在7 :0 0 创建,创建时有4 个数据块a 、b 、c 、d , 然后在8 :0 0 创建一个快照卷s 1 ,8 :1 5 时对数据块a 存在写请求将其改写为a , 此时首先将a 的内容拷贝到快照卷s 1 然后执行改写。9 :0 0 创建一个快照卷s 2 , 9 :1 5 数据块b 被改写为b 之前将b 拷贝到了s 1 和s 2 ,1 0 :0 0 创建一个快照卷 s 3 ,1 0 :o o 一1 0 :1 5 数据块c 被写为c ,执行同样的c o w 过程,那么在1 0 :1 5 之后各个卷的状态如图3 4 所示。途中用虚线表明了三个时间点的c o w 过程。 一一 拷缎a 。 拷斑b 。 拷臻c 8 :1 5孽:1 5l o :1 5 姨照穆s 2 後熙鬈9 3 图3 4l v m 快照示意图 针对l i n u xl v m 快照的不足,南开大学并行与分布式技术实验室设计并实 现了一种增强的l v m 快照系统_ e s n a p 【7 ,2 2 , 2 1 】,有效地解决了上述问题。首先, 针对s n a p s h o t 过度消耗内存资源的问题,提出了一种新的快照元数据布局方案, 该方案将快照元数据全部记录于外存元数据空间,而将其中一部分放入内存空 间,采用动态的换入换出机制,有效地节约了内存。为了提高多快照源卷的写 效率,e s n a p 采用了依赖快照技术,将同一源卷的不同时间点的快照组织成一个 链表,每次需要c o w 的数据只记录在最新时间点上创建的快照卷上,有效地提 1 5 第三章逻辑卷管理器简介 高了写效率,同时也节约了存储空间。针对快照空间溢出的问题,e s n a p 设计了 快照自动监测并扩容的机制,当检测到快照空间使用比率超过一个设定阈值时, 系统会主动触发一个扩容过程,防止了溢出的发生。 我们后面将要介绍的远程复制系统就是基于改进的l v m l 和n b d 的。 第四节l v m 的一般操作过程 l v m 的主要功能如下【8 】: 1 、在磁盘分区上建立物理卷 # f d i s k d e v h d b # p v d i s p l a y d e v h d b l 在已经建立好的分区或硬盘上建立物理卷 # p v c r e a t e d e v h d b l 2 、使用物理卷建立卷组 # v g c r e a t em y v g d e v h d b l 建立卷组,日后可以根据需要添加新的物理卷到 已有卷组中 3 、在卷组中建立逻辑卷 # l v c r e a t e l1 0 m 一1 1m y l v lm y v g 从已有卷组建立逻辑卷,通常只分配 部分空间给该逻辑卷 4 、在逻辑卷上建立文件系统 # m k f 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅游民宿退房协议范本及清洁维护标准
- 理发店员工招聘与职业规划辅导劳务合作合同
- 跨学科研究生委托培养与技术转移转化合同范本
- 产业园区物业合同终止及产业创新服务协议
- 建筑工程合同审计与财务管理要点解析
- 企业核心技术人员竞业禁止补偿标准合同范本
- 离婚后共同财产分割与同居期间居住权益协议范本
- 签订国际贸易合同时的汇率风险管理与法律应对
- 离婚财产分割补充协议涉及遗产继承权与分割调整
- 通信工程施工合同签订所需的技术标准及通信保障协议
- 中医基础理论经络培训课件
- 亚麻籽油在营养保健领域的应用考核试卷
- 《雷军的管理哲学》课件
- 尿液标本临床微生物实验室检验操作指南
- 电影《白日梦想家》课件
- 正常人体结构课程标准
- 员工上下班交通安全培训课件
- GB/T 15843.2-2024网络安全技术实体鉴别第2部分:采用鉴别式加密的机制
- 初中语文八年级上册13 唐诗五首 《钱塘湖春行》活动式公开课一等奖创新教学设计
- 职业技能大赛-电工职业技能竞赛理论题库(附参考答案)
- 基坑工程质量保证措施
评论
0/150
提交评论