(计算机软件与理论专业论文)远程卷复制系统的研究和开发.pdf_第1页
(计算机软件与理论专业论文)远程卷复制系统的研究和开发.pdf_第2页
(计算机软件与理论专业论文)远程卷复制系统的研究和开发.pdf_第3页
(计算机软件与理论专业论文)远程卷复制系统的研究和开发.pdf_第4页
(计算机软件与理论专业论文)远程卷复制系统的研究和开发.pdf_第5页
已阅读5页,还剩97页未读 继续免费阅读

(计算机软件与理论专业论文)远程卷复制系统的研究和开发.pdf.pdf 免费下载

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

文档简介

西北工业大学硕士学位论文 摘要 数据容灾近年来受到越来越广泛的关注, 这主要是由 于保护信息资源的重要性实 际_ l 远远大于保护计算机系统本身。 建立容灾系统是保证计算机系统数据完整性和可用性的一 种重要措施。 目 前的数据容灾系统大部分都是在数据复制技术的基础上构建的。 本文针对 当前的数据复制技术进行了研究和讨论, 结合l i n u x 的逻辑卷管理器, 设计了一个数据复 制系统一 逻辑卷复制器。系统利用 i p 网络进行数据的复制来确保容灾所需要的距离,通 过保持数据的写顺序来保证了 数据视图一致性和数据一致性的要求, 同时系统对请求进行 了 并行处理, 大大提高了t o 效率, 使得系统对上层应用的影响很小。 它的创新点包括l i n l x 系统卷复制模块嵌入技术、 基于逻辑卷的写请求远程复制协议、 复制卷组范围内的数据一 致性和数据视图一致性维护、 灾难恢复机制和s n a p s h o t 备份机制等几个方面。 本文对数据复制技术和逻辑卷管理器进行了 简单的讨论和研究, 然后分析和论述了 逻 辑卷复制器的整体功能和实现方法。主要的内容如下: ( 1 ) 对 l v r 系统的整体结构进行了 分析,并为其划分了功能模块, 还对数据复制过程 中保持数据一致性的方法进行了 深入的研究; i 2 ) 设计并实现了l v r 系统的 远程复制协议, 并对在通讯中 会出 现的多种问 题给出了 相关的解决方法。 ( 劝设计并实现一个状态机,详细研究了 在各种错误的情况下,l v r系统如何利用状 态机来定位自己的 状态,同时还给出了 如何从各种错误状态中 恢复到正常状态的方法 : 4 ) 为了提高系统的性能,针对l v r 系统的特点进行了多方面的优化。 关键字: 数据容灾;数据备份:数据复制;数据一致性; 逻辑卷管理器;逻辑卷复制器;功能模块 西北工业大学硕士学位论文 ab s t r a c t a s t h e d a t a i n t h e c o m p u t e r i s m o r e i m p o r t a n t t h a n t h e c o m p u t e r s y s t e m i t s e l f , d i s a s t e r - t o l e r a n t h a s b e e n p u t m o r e a t t e n t i o n i n r e c e n t y e a r s . a s t h e d a t i i r e p l i c a t i o n t e c h n o l o g y h a s t h e a d v a n t a g e o f d y n a m i c i m p l e m e n t a n d o n l i n e b a c k u p , i t w i l l t a k e t h e p l a c e o f t h e t r a d i t i o n a l d i s a s t e r - t o l e r a n t t e c h n o l o g y . b a s e d o n t h e c u r r e n t r e p l i c a t i o n t e c h n o l o g i e s a n d t h e l o g i c v o l u m e m a n a g e r ( l v m ) o n l i n u x w e h a v e d e s i g n e d a n d i m p l e m e n t e d a r e l i a b l e , e f f i c i e n t d i s a s t e r - t o l e r a n t s y s t e m 一 l o g i c v o l u m e r e p l i c a t o r ( s h o r t a s l v r ) w h i c h c a n s c o n s i s t e n t l y m i r r o r s d a t 、 o v e r a n y i p n e t w o r k f o r m a x i m u m b u s i n e s s c o n t i n u i t y . t h e i n n o v a t i o n s o f l v r s y s t e m a r e t h e t e c h n o l o g y o f e m b e d d i n g v o l u m e r e p l i c a t i o n m o d u l e i n l i n u x s y s t e m , t h e p r o t o c o l o f r e m o t e r e p l i c a t i o n b a s e d o n v o l u m e s , t h e m e t h o d o f k e e p i n g t h e d a t a c o n s i s t e n c y a n d d a t a v i e w c o n s i s t e n c y i n r e p l i c a t i o n v o l u m e g r o u p , d i s a s t e r r e c o v e r y m e c h a n i s m a n d s n a p s h o t b a c k u p m e c h a n i s m a n d s o o n . i n t h i s p a p e r , w e h a v e d i s c u s s e d a n d r e s e a r c h e d t h e d a t a r e p l i c a t i o n t e c h n o l o g y a n d l o g i c a l v o l u m e m a n a g e r . a n d t h e n w e h a v e d e s i g n e d t h e f r a m e w o r k o f l v r s y s t e m a n d t h e d e t a i l o f i m p l e m e n t a t i o n . t h e m a j o r c o n t e n t i s s u m m a r i z e d a s b e l o w : ( ) w e h a v e a n a l y z e d t h e b a s i c t h e o r y o f l v r a n d d e s i g n e d s e v e r a l f u n c t i o n a l m o d u l e s f o r i t . a n d t h e n w e h a v e f o u n t t h e w a y t o k e e p t h e d a t a c o n s i s t e n c y d u r i n g d a t a r e p l i c a t i o n ( 2 ) w e h a v e d e s i g n e d a n d i m p l e m e n t e d t h e d i s t a n t r e p l i c a t i o n p r o t o c o l o f l v r s y s t e m . a n d w e h a v e g i v e n t h e w a y t o h a n d l e m a n y p r o b l e m s d u r i n g t h e d a t a t r an s mis si on . ( 3 夕 w e h a v e m a c h i n e g u i d e s l v r s y s t e m c a n d e s i g n e d a n d l v r s y s t e m t o i m p l e m e n t e d t h e s t a t e m a c h i n e f o r l v r s y s t e m . t h e t h e c o r r e c t s t a t e a f t e r a n e r r o r . a t f i n d t h e m e t h o d t o g e t o u t o f t h e s e f a i l u r e s b y t h e t h e s a m e t l m e , s t a t e m a c h i n e . ( 4 ) a t l a s t , w e h a v e o p t i m i z e d l v r s y s t e m a c c o r d i n g t o i t s f e a t u r e k e y w o r d s : d i s a s t e r - t o l e r a n t ; d a t a b a c k u p ; d a t a r e p l i c a t i o n ; d a t a c o n s i s t e n t ; l o g i c a l v o l u m e m a n a g e r ; l o g i c a l v o l u m e r e p l i c a t o r ; f u n c t i o n a l m o d u l e i f 西北工业大学硕士学位论文 己i - - - 4 1 l a 研究背景 在当今的信息社会里, 保持企业计算机系统的高可用性面临着严峻的挑战, 恐怖事件、 自 然灾害 ( 地震、火灾、洪水、雷电、 咫风) 、 人为因素都有可能导致企业信息系统的瘫 痪, 毁灭关键业务数据。 在企业对信息的 依赖性越来越强的 今天, 数据已 经成为开展业务 不可缺少的基础, 是企业的重要财富和生命源泉。 根据美国劳工部的统计数据, 9 3 % 的有严 重数据丢失的公司在5 年之内 破产。 维斯康星大学的 统计结果也显示, 4 3 % 的美国公司在 数据灾难后关门; 而2 9 % 的公司在两年之内 破产。 这些统计数字表明, 提供可靠的数据存 储保证是至关重要的,而最有效的手段就是数据备份。对于依赖计算机系统运作的金融、 电信、 保险、民 航、 铁路和制造业而言, 系统停机的可忍受时间更短。 在 “ 9 1 1 恐怖 事件造成世贸大楼倒塌后, 名列财富5 0 0 强的金融机构摩根斯坦利公司在新泽西州灾难备 份中心立刻切换运行, 从而保障了公司全球业务的不间断运行: 有效降低了灾难对于整个 企业发展的影响,而很多没有建立数据容灾系统的企业却没有这样幸运。 容灾系统就是指利用容灾技术, 在相隔较远的异地建立对应于本地系统的一个或多个 备份系统, 互相之间可以 进行健康状态监视和功能切换, 当本地系统因意外( 如火灾、 地 震等) 停止工作时, 整个应用系统可以切换到另一处, 使得该系统可以继续正常工作。 建 立容灾系统是保证计算机系统数据完整性和可用性的一种重要措施。 而在所有的数据容灾 方案中, 数据复制系统是其重要的组成部分。 数据复制系统不等同于一般意义上的业务数 据备份与恢复, 数据备份恢复只是数据复制系统中涵盖的一个方面。 数据复制系统还包括 最大范围地容灾、 最大限度地减少数据丢失、 实时切换、 短时间 恢复等多项内 容。 可以 说, 数据复制系统正在成为保护企业关键数据的一种有效手段。 数据复制系统除了能有效防止企业、 部门由于重要数据丢失所造成的不可弥补的损失 以 外, 还能使企业从繁琐的数据备份和恢复工作中解放出 来, 大幅度提高工作效率。目 前 国内 大部分企业对于重要数据都采用手工备份的方式, 这种备份需要维护人员手工、 定期 进行, 其工作繁琐, 并且容易因为误操作产生问 题。 使用了 数据复制系统后, 只需要进行 简单的配置, 就可以实现动态、自 动复制, 达到安全备份的目 的。 在意外发生时, 可以 利 用数据复制系统的恢复功能进行自 动恢复或者把应用程序迁移到从服务器上运行。 由于国外企业对于数据存储的安全性和可靠性的重视, 目 前国外己 有了一些远程容灾 系 统软 件, 此 类 系 统 包括e m c s y m m e t r i x s r d f , h p x p c o n t in u o u s a c c e s s 和i b m s p e e r - t o - p e e r r e m o t e c o p y ( p p r c ) , v e r i t a s v o l u m e r e p l i c a t o r 和n e t a p p s s n a p m i r r o r 等, 然 而大多数系统都是在一些昂贵的硬件设备的基础上实现的, 而且其地理距离也不可能达到 西北工业大学硕士学位论文 己i - - - 4 1 l a 研究背景 在当今的信息社会里, 保持企业计算机系统的高可用性面临着严峻的挑战, 恐怖事件、 自 然灾害 ( 地震、火灾、洪水、雷电、 咫风) 、 人为因素都有可能导致企业信息系统的瘫 痪, 毁灭关键业务数据。 在企业对信息的 依赖性越来越强的 今天, 数据已 经成为开展业务 不可缺少的基础, 是企业的重要财富和生命源泉。 根据美国劳工部的统计数据, 9 3 % 的有严 重数据丢失的公司在5 年之内 破产。 维斯康星大学的 统计结果也显示, 4 3 % 的美国公司在 数据灾难后关门; 而2 9 % 的公司在两年之内 破产。 这些统计数字表明, 提供可靠的数据存 储保证是至关重要的,而最有效的手段就是数据备份。对于依赖计算机系统运作的金融、 电信、 保险、民 航、 铁路和制造业而言, 系统停机的可忍受时间更短。 在 “ 9 1 1 恐怖 事件造成世贸大楼倒塌后, 名列财富5 0 0 强的金融机构摩根斯坦利公司在新泽西州灾难备 份中心立刻切换运行, 从而保障了公司全球业务的不间断运行: 有效降低了灾难对于整个 企业发展的影响,而很多没有建立数据容灾系统的企业却没有这样幸运。 容灾系统就是指利用容灾技术, 在相隔较远的异地建立对应于本地系统的一个或多个 备份系统, 互相之间可以 进行健康状态监视和功能切换, 当本地系统因意外( 如火灾、 地 震等) 停止工作时, 整个应用系统可以切换到另一处, 使得该系统可以继续正常工作。 建 立容灾系统是保证计算机系统数据完整性和可用性的一种重要措施。 而在所有的数据容灾 方案中, 数据复制系统是其重要的组成部分。 数据复制系统不等同于一般意义上的业务数 据备份与恢复, 数据备份恢复只是数据复制系统中涵盖的一个方面。 数据复制系统还包括 最大范围地容灾、 最大限度地减少数据丢失、 实时切换、 短时间 恢复等多项内 容。 可以 说, 数据复制系统正在成为保护企业关键数据的一种有效手段。 数据复制系统除了能有效防止企业、 部门由于重要数据丢失所造成的不可弥补的损失 以 外, 还能使企业从繁琐的数据备份和恢复工作中解放出 来, 大幅度提高工作效率。目 前 国内 大部分企业对于重要数据都采用手工备份的方式, 这种备份需要维护人员手工、 定期 进行, 其工作繁琐, 并且容易因为误操作产生问 题。 使用了 数据复制系统后, 只需要进行 简单的配置, 就可以实现动态、自 动复制, 达到安全备份的目 的。 在意外发生时, 可以 利 用数据复制系统的恢复功能进行自 动恢复或者把应用程序迁移到从服务器上运行。 由于国外企业对于数据存储的安全性和可靠性的重视, 目 前国外己 有了一些远程容灾 系 统软 件, 此 类 系 统 包括e m c s y m m e t r i x s r d f , h p x p c o n t in u o u s a c c e s s 和i b m s p e e r - t o - p e e r r e m o t e c o p y ( p p r c ) , v e r i t a s v o l u m e r e p l i c a t o r 和n e t a p p s s n a p m i r r o r 等, 然 而大多数系统都是在一些昂贵的硬件设备的基础上实现的, 而且其地理距离也不可能达到 西北工业大学硕士学位论文 i r : i ,: i一 二t网的 广度。 而国内 的 许多 企 业对于 数据没 有给予应有的 重视, 也还没有 相 应的 系统j 己有的其他平台( 例如惠普的h p - u x 或者s u n 的s o l a r i s ) 上的远程卷复制系统建立 费用普遍较高, 建立费用包括主机购买费用、 操作系统购买费用和卷管理系统购买费用等。 例如v e r i t a s 的卷管理系统和远程卷复制系统一般就需要几十万元以上。 另外, 已有的其 他平台远程卷复制系统不支持以跨卷组的复制卷为单位进行复制。 由于许多己经在运行的 大型应用程序可能使用了多个卷组的多个不同的卷, 为了进行远程复制不得不停止应用程 序并重新进行配置,这种限制是许多用户不愿意接受的。 而基于l i n u x 的远程卷复制系统作为一种综合利用操作系统技术、 存储管理技术和网 络技术的系统。 在国外, 只有美国的v e r i t a s 公司的l i n u x 平台远程卷复制系统正在研制 之中。我们要设计和实现的逻辑卷复制系统 ( l o g i c a l v o l u m e r e p l i c a t o r 。 简称l v r )不 需要专门的网络,也不需要购买其他设备,用户在两台以 上l i n u x 服务器和丁 c p 汀尸 网 络 的基础上,即可轻松建立数据容灾系统。 所做的工作 从2 0 0 3 年起,作者所在项目 组开始着手研究与开发l i n u x 平台远程卷复制系统。该 项目 还获得了2 0 0 3 年国家科学技术部科技型中小企业创新基金的支持。该项目 在l i n u x 系统的逻辑卷管理系统中嵌入远程数据复制模块,实现了对本地数据的动态、远程复制 和灾难的有效处理,在不间断上层应用的基础上为用户提供服务,确保系统的高可靠性 和高可用性。 这个项目 给了作者很好的实践机会, 使作者对数据复制技术和灾难恢复技术有了更深 的认识,并对系统地进行项目 研发积累了很多宝贵的经验。在项目中,作者主要承担了 以下工作: 户 l v r 系统整体模型的设计与实现 户 l v r 系统中 通讯模块的设计与实现 l v r 系统中 错误处理模块的设计与实现 l v r 系统的性能 优化 在该项目 的研发过程中, 作者参与了系统的前期调研、 基本设计 b d ) 、 功能设计( f d ) , 详细设计( d d ) 、 编码( c d ) 、 单元测试( u t ) 、 功能测试( f t ) 、 系统测试( s t ) 的全部过程, 承 担了大部分核心技术的研究和实现。 西北工业大学硕士学位论文 i r : i ,: i一 二t网的 广度。 而国内 的 许多 企 业对于 数据没 有给予应有的 重视, 也还没有 相 应的 系统j 己有的其他平台( 例如惠普的h p - u x 或者s u n 的s o l a r i s ) 上的远程卷复制系统建立 费用普遍较高, 建立费用包括主机购买费用、 操作系统购买费用和卷管理系统购买费用等。 例如v e r i t a s 的卷管理系统和远程卷复制系统一般就需要几十万元以上。 另外, 已有的其 他平台远程卷复制系统不支持以跨卷组的复制卷为单位进行复制。 由于许多己经在运行的 大型应用程序可能使用了多个卷组的多个不同的卷, 为了进行远程复制不得不停止应用程 序并重新进行配置,这种限制是许多用户不愿意接受的。 而基于l i n u x 的远程卷复制系统作为一种综合利用操作系统技术、 存储管理技术和网 络技术的系统。 在国外, 只有美国的v e r i t a s 公司的l i n u x 平台远程卷复制系统正在研制 之中。我们要设计和实现的逻辑卷复制系统 ( l o g i c a l v o l u m e r e p l i c a t o r 。 简称l v r )不 需要专门的网络,也不需要购买其他设备,用户在两台以 上l i n u x 服务器和丁 c p 汀尸 网 络 的基础上,即可轻松建立数据容灾系统。 所做的工作 从2 0 0 3 年起,作者所在项目 组开始着手研究与开发l i n u x 平台远程卷复制系统。该 项目 还获得了2 0 0 3 年国家科学技术部科技型中小企业创新基金的支持。该项目 在l i n u x 系统的逻辑卷管理系统中嵌入远程数据复制模块,实现了对本地数据的动态、远程复制 和灾难的有效处理,在不间断上层应用的基础上为用户提供服务,确保系统的高可靠性 和高可用性。 这个项目 给了作者很好的实践机会, 使作者对数据复制技术和灾难恢复技术有了更深 的认识,并对系统地进行项目 研发积累了很多宝贵的经验。在项目中,作者主要承担了 以下工作: 户 l v r 系统整体模型的设计与实现 户 l v r 系统中 通讯模块的设计与实现 l v r 系统中 错误处理模块的设计与实现 l v r 系统的性能 优化 在该项目 的研发过程中, 作者参与了系统的前期调研、 基本设计 b d ) 、 功能设计( f d ) , 详细设计( d d ) 、 编码( c d ) 、 单元测试( u t ) 、 功能测试( f t ) 、 系统测试( s t ) 的全部过程, 承 担了大部分核心技术的研究和实现。 西北工业大学硕士学位论文 本文的组织 . 第一章 相关技术综述 本章介绍了 远程卷复制系统的相关技术, 有数据复制技术的基本概论及其研究发展, 并对l i n u x 平台下逻辑卷管理器的体系结构进行剖析, 主要说明了其存储虚拟化的实现方 法, 对请求 一处 理、 设备管理、 快 照技 术的 实现等方面作了 一些 研究和讨论。 . 第二章 系统的整体设计 本章详细描述了l v r 系统的整体结构, 并对其模块划分的实现进行了说明, 并详细阐 述了 系统的数据复制协议, 最后还对数据复制过程中如何保持数据一致性进行了 深入的 研 究和探讨。 . 第三章 通讯模块的设计与实 现 本章详细描述了l v r系统的线程通讯和网络通讯模块的设计, ,并对在通讯中会出 现 的各种问 题给出了相关的解决方法。 . 第四章 状态机的设计与实现 本章描述了l v r 系统中的状态机的设计和实现, 对状态机的必要性进行了讨论, 并详 细研究了在各种错误的情况下, l v r 系统如何利用状态机来定位自己的状态, 同时还给出 了如何从各种错误状态中恢复到正常状态的方法。 令 第五章 l v r 系统的性能优化 本章主要描述了几个在系统开发过程中进行了 优化的部分, 对于优化得到的好处和缺 点进行了对比,并针对缺点提出了相应的解决方法。 令 第六章 结束语 本章主要对目前l v r系统的现状进行了简要的介绍,并对其未来的发展方向 进行了 展望。 西北工业大学硕士学位论文 第一章 相关技术综述 1 . 1数据复制技术 1 . 1 . 1 基本原理 数据复制就是将数据从一个源设备复制到一个或多个目 标设备的技术, 目 标设备可以 是本地设备或者是远程设备。 这里的设备是一个比 较宽泛的概念, 可以是块设备, 也可以 是文件系统或其它对象等。 数据复制有两个方面的含义: . 数据的传播:通过将数据传播到多个设备,这样不同的地方都可以拥有该数据, 并可以利用该数据进行进一步的工作。 . 数据的 统一: 虽然在多个设备上都拥有该数据, 但是其它设备上的数据都必须与 源设备保持一致。 数据传播的途径有很多种, 可以 通过主机数据线、 微波、 光纤通道或以太网络等媒介 来进行。 目 前比较多的是通过光纤通道和以太网络来进行数据的传输。 数据传播的方式也 有很多种, 常用的是通过主从式来进行传播, 主从式就是指有源设备作为主端,目 标设备 作为从端都来与主端进行连接并获取数据, 这种方式当目 标设备交多时, 主端性能会有一 定的影响。 当然还有p 2 p 的数据传播方式, 多个目 标设备之间可以交换得到的数据, 像类 似b 1 一样,数据可以 得到很快的大规模传播, 这种方式有效的减小了主端的负担,但是 如果要复制的数据是不断的产生的,而不是固定的数据,则传播的效率反而很低。 数据统一重要的意义就是目 标设备上的数据可以 直接被上层应用使用, 而不需要进行 其它额外的纠正, 就好像是源设备上的数据在某个时刻的一个快照一样。 它的重点在于目 标设备上的数据要与源设备上的数据保持数据的一致性。 为了 对这个问题有比较清楚的认 识, 我们需要对数据一致性的 进行定义。 首先用o d 和t d 分别代表源设备和目 标设备, 用 时间 戳r 0 ( t ) 和r ( t ) 分别代表o d 和t d 在时刻t 的数据映像,即 在时刻t , o d 上最近一次 更新的 发 生时间为r 0 ( t ) , t d 上的 数 据映 像可能比o d 上的旧 , 我 们把t d 上最 后一次数 据 更新在o d 上 对应的 发生时间 为r ( t ) ( r ( t ) r 0 ( t ) ) , 或者说t d 在时 刻t 代表o d 在时 刻 r i ( t ) 的状态。 西北工业大学硕士学位论文 第一章 相关技术综述 1 . 1数据复制技术 1 . 1 . 1 基本原理 数据复制就是将数据从一个源设备复制到一个或多个目 标设备的技术, 目 标设备可以 是本地设备或者是远程设备。 这里的设备是一个比 较宽泛的概念, 可以是块设备, 也可以 是文件系统或其它对象等。 数据复制有两个方面的含义: . 数据的传播:通过将数据传播到多个设备,这样不同的地方都可以拥有该数据, 并可以利用该数据进行进一步的工作。 . 数据的 统一: 虽然在多个设备上都拥有该数据, 但是其它设备上的数据都必须与 源设备保持一致。 数据传播的途径有很多种, 可以 通过主机数据线、 微波、 光纤通道或以太网络等媒介 来进行。 目 前比较多的是通过光纤通道和以太网络来进行数据的传输。 数据传播的方式也 有很多种, 常用的是通过主从式来进行传播, 主从式就是指有源设备作为主端,目 标设备 作为从端都来与主端进行连接并获取数据, 这种方式当目 标设备交多时, 主端性能会有一 定的影响。 当然还有p 2 p 的数据传播方式, 多个目 标设备之间可以交换得到的数据, 像类 似b 1 一样,数据可以 得到很快的大规模传播, 这种方式有效的减小了主端的负担,但是 如果要复制的数据是不断的产生的,而不是固定的数据,则传播的效率反而很低。 数据统一重要的意义就是目 标设备上的数据可以 直接被上层应用使用, 而不需要进行 其它额外的纠正, 就好像是源设备上的数据在某个时刻的一个快照一样。 它的重点在于目 标设备上的数据要与源设备上的数据保持数据的一致性。 为了 对这个问题有比较清楚的认 识, 我们需要对数据一致性的 进行定义。 首先用o d 和t d 分别代表源设备和目 标设备, 用 时间 戳r 0 ( t ) 和r ( t ) 分别代表o d 和t d 在时刻t 的数据映像,即 在时刻t , o d 上最近一次 更新的 发 生时间为r 0 ( t ) , t d 上的 数 据映 像可能比o d 上的旧 , 我 们把t d 上最 后一次数 据 更新在o d 上 对应的 发生时间 为r ( t ) ( r ( t ) r 0 ( t ) ) , 或者说t d 在时 刻t 代表o d 在时 刻 r i ( t ) 的状态。 西北工业大学硕士学位论文 定义 1如果在时 刻t , 存在t m a k e r e q u e s t f n ( q ,r w ,h h ) ) : 调用设备的请求处理函数 从上面的函数我们可以很清楚的看出,这是一个循环,循环的次数与 q - m a k e r e q u e s t f n ( q ,r w ,b h ) 这个函数的返回值有关,在l v m 内相应的设备请求处理 函数就是i v mm a k e r e q u e s t f n ( q ,r w ,b h ) 。当系统将调用l v m 设备的请求处理函数时, 其实就是调用了i v m _ m a k e r e q u e s t f n 函数,i v m _ m a k e _ r e q u e s t f n 函数将请求缓冲中的 逻辑的地址及设备号改写成实际的物理设备的地址和设备号,然后再返回给操作系统,只 要将返回值设置为l ,操作系统会根据新的设备号和地址将请求再提交给对应的实际设各 的驱动来完成读写操作。因而l v m 对读写操作只是简单的做了个地址映射。 ( 2 ) 对控制请求的处理 l v 提供了字符设备的f o c t l 和块设备的i o c t i 两种控制方式。 字符设备型的i o c t l 主要完成下面的工作( 1 v m _ c h a r i o c t l ) : 夺对p e 和l v m 的加解锁 夺对l v m 的各类特征的查询 夺对v g ,l v 的创建,移除,扩展,缩减,获取信息,改变状态等操作 夺对p v 的改变状态,获取信息,清缓冲等操作 块设备型的i o c t l 主要完成下面的工作( t v m b l k i o c t l ) : 夺对各种块设备的信息的得到,如扇区大小,设备大小,r e a da h e a d 大小,几何信 息( 虚拟的) 等等 夺设置块设备的r e a da h e a d 大小,清除块设备缓冲 对l v 的各种信息的设置 1 2 2 目前的发展 逻辑卷管理器是一个已经非常成熟的软件,在各个操作系统平台上几乎都存在着实 现。目前主要的发展都是在逻辑卷管理器的基础上增加其功能或是进行其它的相关开发。 在i v 中就针对实际的需要提供了s n a p s h o t 技术的实现。下面对s n a p s h o t 技术作一下简 单介绍。 s n a p s h o t 技术 一1 1 西北工业大学硕士学位论文 i v v l 可以按块设备的方式来管理多个l v ,而不同的l v 可以分属不同的v g ,即l v m 对 l v 进行分组的管理。在同一个v g 之内,按照l v 的类型可划分为三种:( 1 ) 普通的l v : ( 2 ) 需要进行s n a p s h o t 的l v ,称为源l v ;( 3 ) 用于存放源l v 的备份信息的s n a d s h o tl v 。 源l 。v 一般存放有重要数据,为保证数据的安全性,可根据源l v 大小为其创建一定数目的 s m p s h o tl v ,这些s n a p s h o tl v 构成一个链状结构,各个s n a p s h o tl v 中存放有源l v 不同时刻的s n a p s h o t 即备份信息,且每个s n a p s h o tl v 是只读的,保证了备份数据的不 可修改性。 c b 1 n一创 建 和 显 示 l m 原 始 设 备:_一 一 i 1r : u . e i -.- 一从内 核 卸 载 1, r 系 统 , 但 是 不 卸 载 l v 1?一 ; ( z ) 关于r v g 的操作 关于r v g 的命令用来对r v g 进行操作, 并且直接与l v m 中的l v 操作相配合。命令功 能包括: . 利用l v 创建和删除r v g 今 根据需要加载和卸载r v g 的 应用 . 通过增减l v 来配置r v g 的容量 今 更改r v g 的配置以 达到工作要求 . 在r u g 故障时进行恢复 . 监测r v g 的状态 具体命令包括: r v钾 浏 建 r s(i 一 _一 :- -一 r o k t c 而 ve一 ; _蒯 除 r v g- 一 一 一 _- i- g i cu s c n d _ g l v _ e r r j s cn d d l v e r r) ( 1 0 )d s c n t dn r n a i cns t 渔 ,. 门卜. - 一 刁 卜 叫一一一 . -.一 g.v .wx .y , z . a s . a t .a 9 ,a 1 0 . a 1 1 见下面 v r 丫 a e al 1. f a u s e c m d o r mn n f o r a , s c n d _dl v _ e r r . s c n 比d ., e r r gxz .a 7 a$ 2 : wn , c ko r res u r n a- 1 b - 1 c 甲 户 a u , . 口s r. n r mn n t e d a 9 . d o wr m. s c o n e r r a e o r o x m a a e f o r 图 2 6 异步工作模式的状态转换图 45 西北工业大学硕士学位论文 一|曰一一一 一份 psg _tdocmuse- -( vemow cnsogm made (15) 洲 一 g v ,w ,% ,y .z ,a b a 7 , a 10 a 1 1 q f d 1c (y .n e .a i i p a a ie -m w n n in 11 i s c n d _ d l v _ e h ,y c p:u _ l a = _ :9 r g义乙 a 了 a 魂 2 。 。 1wg ko r : 命 . u m e a m d 8 .- k 甘 p a a s em 口口 r c o m l a i l a 9 : o1-f 6( o v e r i l d e wo 开m o d e l o r 图 2 7 软同 步工作模式的 状态转换图 在l v r 系统中, 我们根据上面的状态图来实现了 状态机。 首先我们根据所有 的状态, 用二维数组组成了一个状态表. 将上面三副图中的所有状态都记录起来, 然后我们将每种状态在每种事件下会转换成那种状态都记录在另一个二维表里 面, 在这个二维表里, 第一维是状态的序号, 第二维是事件的 序号, 而值就是这 种状态和事件下会转换成的 状态的 序号. 最后我们实现了 一个查询该二维表的函 数,这样就生成了整个系统的状态机。 西北工业大学硕士学位论文 .亩百. 4 . 3小结 在 这一 章中 , 我们 主 要 研 究了 容 灾 系 统的 状 态 转 换的 问 题, 并 讨论了 当 错 误 发生时如何 调整系 统的 状态问 题以 及恢复到正常工作的 方法。 最后我们还介绍了 l v r 系 统的 状态机的 设计 和具体的 实 现。 l v r 的 状态 机使得容 灾系统无论发生了 什么样的事件都能处于正确的状态下, 尽可能的 保证了数据的一致性, 而且为 每 个数据不一致状态提供了 转换到一致状态的方法。 状态机使得原本非常复杂的系 统的 状态转换变得十分的 清晰明了, 同时也使得系统的层次更明确, 它是一个可 靠的状态机。 西北工业大学硕士学位论文 第五章 系统性能的优化 5 . , 主端. 0的优化 5 . 1 . 1 常规的方法 在介绍主端的1 0 策略之前,先让我们看一下数据视图一致性的概念。 定义 2应用程序针对同一数据区域的多次读、写过程中数据都应该是一致 的, 每次读到的数据应该是最新的数据, 则称该应用程序保持了数据视图一致性。 通过定义可以看到数据视图一致性的保持是至关重要的, 否则有可能会引起 上 层应用的 数据混乱。 因此在主端工 0 策略的设计中, 需要首先考虑就是保持数据 视图一致性。 在l v r 系统的设计和开发过程中, 我们考虑了 许多中主端1 0 策略。 第一种是 如图 2 8 的方法, 写日 志和写数据盘完全按照顺序的方式来进行,只有当写日 志 和写数据盘都成功后才返回上层应用请求成功。 很明显这种方式是完全能 够保证 主端数据视图的一致性的, 同时它保持了数据一致性。 然而它对上层1 0 1胜能的影 响是巨大的, 尤其当有大量写请求时会使后续的请求的返回有很大的延迟。 图中 虚线表示请求通知上层完成的时间。 请求 通知上层请求 完成的时间 鑫1. -一尸 一 请求3写l o s i 写数据盘 请求2 请求1 l 砂8 -i lo g =d cut困 - - - - - - - 一 m m 一 二下 一卜 时间 图 2 8第一种1 0 策略 西北工业大学硕士学位论文 第五章 系统性能的优化 5 . , 主端. 0的优化 5 . 1 . 1 常规的方法 在介绍主端的1 0 策略之前,先让我们看一下数据视图一致性的概念。 定义 2应用程序针对同一数据区域的多次读、写过程中数据都应该是一致 的, 每次读到的数据应该是最新的数据, 则称该应用程序保持了数据视图一致性。 通过定义可以看到数据视图一致性的保持是至关重要的, 否则有可能会引起 上 层应用的 数据混乱。 因此在主端工 0 策略的设计中, 需要首先考虑就是保持数据 视图一致性。 在l v r 系统的设计和开发过程中, 我们考虑了 许多中主端1 0 策略。 第一种是 如图 2 8 的方法, 写日 志和写数据盘完全按照顺序的方式来进行,只有当写日 志 和写数据盘都成功后才返回上层应用请求成功。 很明显这种方式是完全能 够保证 主端数据视图的一致性的, 同时它保持了数据一致性。 然而它对上层1 0 1胜能的影 响是巨大的, 尤其当有大量写请求时会使后续的请求的返回有很大的延迟。 图中 虚线表示请求通知上层完成的时间。 请求 通知上层请求 完成的时间 鑫1. -一尸 一 请求3写l o s i 写数据盘 请求2 请求1 l 砂8 -i lo g =d cut困 - - - - - - - 一 m m 一 二下 一卜 时间 图 2 8第一种1 0 策略 西北工业大学硕士学位论文 请求 通知 t 层请求 完成的时间 请求3 一 1一 l 1o g i写 邺、 请求2 写 、 一 邻 据 歼 请求1写l o g ii 写数据盘 时间 图 2 9第二种 1 0 策略 另一种方法如图 2 9 , 它认为数据写到日 志上后就可以直接向上层返回成功。 由 于它写日 志时保持了 顺序, 这样它明显能 保证了 数据一致性的问题。 但是它有 一个很大的缺陷就是它无法保证主端的数据视图一致性。 当一个请求写到日 志上后, 此时由于直接向 上层应用返回了成功, 一方面由 于数据没有实际的写到数据盘上, 现在如果直接去读取该块的数据时显然就不是 最新的数据了, 在操作系统中为了 提高读的效率, 提供了 缓冲机制, 这样可以 很 大程度的避免了数据视图不一致的情况产生, 但是由于有该数据块的缓冲被系统 交换出去的可能性, 所以 也无法完全解决这个问 题。 另一方面如果此时有新的写 请求将该块的数据作了修改, 这样写到数据盘的数据就太新了, 也导致了 数据视 图的不一致。 5 . 1 .2 改进的方法

温馨提示

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

评论

0/150

提交评论