(计算机科学与技术专业论文)基于存储区域网络的管理软件的研究与开发.pdf_第1页
(计算机科学与技术专业论文)基于存储区域网络的管理软件的研究与开发.pdf_第2页
(计算机科学与技术专业论文)基于存储区域网络的管理软件的研究与开发.pdf_第3页
(计算机科学与技术专业论文)基于存储区域网络的管理软件的研究与开发.pdf_第4页
(计算机科学与技术专业论文)基于存储区域网络的管理软件的研究与开发.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机科学与技术专业论文)基于存储区域网络的管理软件的研究与开发.pdf.pdf 免费下载

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

文档简介

摘要 随着计算机科学技术的高速发展,h l t e r | l c t 技术已经被广大人们所使用。从 而将人们带入到了信息化的时代。与此同时人们对数据的高速处理和数据的海量 存储也产生了更高的要求。信息存储领域正在朝着高可靠性、大容量、高可用性 和低成本的方向迅速发展。如何有效的进行数据备份和数据灾难恢复成为数据存 储领域的一个重点需要解决的问题。例如当今的电子商务等业务,需要应用程序 7 ) = = 强制w = = 强制r v 二= 图6 - 3 执行咖p a j r 命令解除后的磁盘类型不同 6 1 2 数据复制功能 数据复制的前提条件是发行对象是一个e m 磁盘对不能是相互没有联系 的,且该p a i r 的状态为$ e d a f a t e 分离状态。 首先要将两个相互独立的磁盘连接成一个p a i r ,后对该p a i r 通过发行 r e d l i c a t e 命令把存储在m v 上的数据拷贝到r v 上。随着数据拷贝的进行m v 和r v 上数据的差分量将会随着数据拷贝的进行逐渐减少,当存储在m v 上数据 全部拷贝到r v 上后,此次数据复制也就结束且达到数据一致,此时m v 和r v 中的数据的差分量为零。p 八i r 此时所处的状态为t e p l i c a t e 完了状态。其发行 回国国国园固园国橱橱书橱昏睁廿昏 西北工业大学硕士学位论文第六章r e m 系统的功能设计与实现 帅p a i r 设置命令成功执 囤 图6 - 4p a i r 与蛐p a i r 命令执行的状态转换 行前后的状态变化见图6 5 。 图6 - 5r e p l 岫t e 命令发行前后的状态转换 数据恢复的前提条件与数据复制的相同,它是通过g t o r e 命令将存储在r 、, 中的数据向m v 中拷贝,恢复之前存储在r v 上的m v 中的数据。s t o r c 命令又 可分为一般r e s t o r e 和保护r c s t o r e 。一般r e s t o r e 和保护r e s t o r e 的区别是:保护r e s t o r e 将r v 中的数据拷贝到m v 中后,p a 取的状态变成s 印枨她分离状态。而一般 坨s t o r e 执行完后p a 瓜的状态是r e s t 0 完了状态,但是并没有分离,依然存在连 接关系。如图6 6 。 圈6 6 一般r t o m 和保护n s t o m 的区别 囤一日一囤 西北工业大学硕士学位论文第六章r e m 系统的功能设计与实现 虽然可以对p a i r 发行r c p l i c a t e 和r e s t o r e 命令,但是并不是所有的p a i r 都 可以进行r c l ) l i c a t e 或r e s t o r e 操作,对其操作对象还要有一定的约束,其约束条 件如下。 1 处于r e p l i c a t e 或r c s t o r e 执行中的p a i r 不能再发行r e p l i c a t e 或r e s t o r e 命 令。 2 。如果一个v o l u m e 既是m v 又是r v ,而且它作为r v 与它上位的m v 正 在执行r c l ) l i c a t e 或r c i t o r e 操作,则该v o l 啪e 作为m v 的p a i r 不能执行r e p l i c a t e 或r e 咖r e 操作。 3 如果一个v o l 啪e 既是m v 又是r v ,而且它作为m v 与它下位的r v 正 在执行d 印l i c 疵或r c 咖r c 操作,则该v o l 啪e 作为r v 的p a l r 不能执行他p l i c a t e 或r c s t o r e 操作。 6 1 3 数据拷贝 1 数据拷贝方式 ( 1 ) 同期拷贝:在向m v 中写数据的同时从m v 向r v 中的拷贝也同时执行。 也就是说在向m v 中写数据时,把数据也同时拷到r v 后刚返回应用程序说明数 据写完毕。这种拷贝模式可以保证m v 和r v 中的数据是一样的,但是缺点是应 用程序的反应时间比较长,应用程序要进行等待。 ( 2 ) 半同期数据拷贝:在向m v 中写数据的同时不把数据写到r v 上,当向 m v 上的写数据结束时就返回写完毕。从m v 到r v 的数据拷贝返回后异步执行。 该拷贝方式使应用程序的反应时间比较短,但是不能保证m v 和r v 中的数据是 一致的。可能存在当异步向r v 中拷贝时,出现软件系统或者硬件某些错误,导 致的数据不能正常拷贝,从而导致m v 和r v 中的数据不一致。这时进行数据恢 复将不能恢复最新的数据。 为了更好的进行数据拷贝,充分发挥两种拷贝方式的优点。对于半同期拷贝 会设置一个最大值,当m v 与r v 之间的差分大于该值时,系统会自动转换到同 期拷贝模式。如果小于该值,则系统会自动转换为半同期拷贝。 对于数据复制命令发行中拷贝方式的指定,可以通过利用参数s y n c ,- 鲫【n i , 指定为s y n c 则说明是同期拷贝,指定为,s e l n i 则说明是半同期拷贝。 2 数据拷贝范围类别 ( 1 ) 完全拷贝是将m v 中的所有数据全部拷贝到r v 中。优点是m v 和r v 的数据的一致性好。但是拷贝花费较多时间。 ( 2 ) 差分拷贝该拷贝类别说明只是将m v 和r v 的差分拷贝到r v 中。拷贝 数据所花的时间短。虽然时间短,但是不能具有全拷贝带来的良好的一致性。 西北工业大学硕士学位论文第六章r 脚系统的功能设计与实现 对于数据复制命令发行中拷贝范围的指定,可以通过利用参数f i l l l ,- d i m 指 定为伽则说明是完全拷贝;指定为面仃则说明是差分拷贝。 3 数据拷贝过程的控制方式 数据的拷贝有前台拷贝和后台拷贝两种,其中前台的拷贝还可以细分为前边 提到的同期拷贝和半同期数据拷贝。 数据的拷贝可以通过后台拷贝命令、挂起命令和恢复命令进行控制。其与拷 贝状态的转换关系如图6 7 ,下面一一说明。 ( 1 ) 后台拷贝命令:停止正在执行的同期拷贝和半同期数据拷贝,转向后台 拷贝模式。当写入的命令产生一定的差分时,把该差分登录到差分表中,后以非 同期模式进行拷贝。也可以将处于挂起的状态转化为后台拷贝模式。 ( 2 ) 挂起命令:命令成功发行后,将停止正在执行的同期拷贝模式、半同期 拷贝模式或后台拷贝模式,转换为挂起状态。 ( 3 ) 恢复命令:在执行同期拷贝模式或半同期拷贝模式时。如果发行了后台 拷贝则同期拷贝模式或半同期拷贝模式会被停止而转化为后台拷贝模式。如果发 行了挂起命令,则将转换为挂起状态。通过恢复命令可以转化为原来的拷贝模式。 图6 - 7 数据拷贝模式和拷贝控制命令的关系 6 1 4s e p a r a t e 机能 当执行了r 印l i c a t c 和一般托s t o r e 后,发行对象的p a i r 是处于r 印l i c a t c 完了 和r e s t o r e 完了状态。但是这时该p a 取连接的两个磁盘m v 和r v 还是处于连接 状态,这样有时并不是很安全或很好。为了使处于r c p l i c a 钯完了和s t o 把完了 状态的队取能够分离,设计了s 印觚此机能,该功能主要是将一个p a i r 中的 m v 和r v 之间原有的连接断开。从而转换为s e p a m t e 分离状态。 s 印孤a t e 功能是通过发行p a r a 钯命令来实现的,当发行对象处于r 印l i c a t e 或r e 咖r e 执行中时向该p a 瓜发行s e 口a r a t c 命令后,该p a 取继续执行数据复制 操作,等到当复制结束,即前面说的r 印l i c a t e 或r e s t o r c 完了后,该p a 取不是处 西北工业大学硕士学位论文第六章r e m 系统的功能设计与实现 于r 印l i c a t e 或r c s t o r e 完了状态,而是处于s e p 觚札e 分离状态。如果向处于r e p l i c a i c 完了或r e s t o r e 完了状态的p a 吸发行s e p a m t e 命令,成功执行后先处于p a m t e 执行中,然后会很快转换s 印盯a t e 分离状态。 因为执行保护r e s t o r e 命令的p a 吸,数据复制完成后,该队瓜会自动转换 为s e p 锄:c e 分离状态,所以不用对执行保护r e 咖命令的p a i r 发行s e p a r a t e 命令。 其执行过程如图6 8 。 图确p a n t e 命令后状态转换 6 1 5p a i r 能够具有的各种状态 p a j r 具有以下6 种状态: 1 辩p a r a t c 完了:当成功执行完p 撇t e 命令或执行完保护r e s t o r e 命令后, 对象队取所处的状态。 2 p a r a t c 执行中:并不是执行s 印础n e 后会立即处于p a r a t e 完了状态, 执行还是要一定的时间,该时间内对象p a i r 的状态即为s 印a m t e 执行中。 3 r 印l i c a t e 执行中:发行r 印l i ca _ c c 后,m v 向r v 中拷贝数据,在拷贝正在 执行的过程中对象p a j r 的状态。 4 r e p l i c a _ t c 完了:在m v 向r v 中拷贝数据结束时,对象队m 所处的状态。 5 f e 咖执行中:发行r e s t o 托命令后,r v 向m v 中拷贝数据,在拷贝正 在执行的过程中对象队服的状态。 6 r e s t o r c 完了:在r v 向m v 中拷贝数据结束时,对象p a 瓜所处的状态。 上面阐述了几个命令和p a 瓜的状态,图6 9 显示了各个状态和命令之间的 转化关系。 6 2 原子中断机能 以上阐述r e m 实现的数据复制和恢复机能都是针对一个p a 取磁盘对进行 拷贝的,但是现实中大多数的数据是存储在大型的数据库中( 例如:o r a c l e 数据库等) 。由于数据量很大,因此数据是分别存储放在多个v o l 咄中的,而且 存储在这些v o l 啪e 中的数据库中的数据进行拷贝时还要有顺序性、一致性和整 西北工业大学硕十学位论文第六章r e i l 系统的功能设计与实现 合性的要求。 r 印 l 园园l 图6 - 9操作命令与状态的转换关系 如果仍然采用上面的r e m 功能实现该情况的数据复制时,每一个p a i r 的 数据复制没有相关性,哪个先进行复制,哪个后复制不能保证,如图6 1 0 。 图6 - 1 0 磁盘的拷贝顺序无法保证 当出现了拷贝障害时,每一个m v 和r v 的分离是一个一个独立的断开,也 就不是同时断开,这样数据的完整性和一致性完全没有保证。例如:如果m v l 和r v l 组成的p a 取出现障害,则该p a j r 异常断开。但是其它的p a i r ( 如: m v 3 和r v 3 ) 可能还是在进行复制或恢复。如图6 1 l 。 图6 - l l 不相关的磁盘发生障害时一致性无法保证 西北工业大学硕士学位论文第六章r e m 系统的功能设计与实现 6 2 1 原子中断组 1 原子中断组的概念 原子中断组是将多个磁盘放在一起组成一个磁盘组。加入黜u p ( a t o i l l i c b r e a kg r o u p ) 中的磁盘必须已经是一个p a j r 关系。且a t g r o u p 中的磁盘还要 具备以下两个主要性质: ( 1 ) 当在进行数据复制时,a t g m u p 中的每一对p a 吸的复制是依次按照一 定的顺序进行的,既具有拷贝顺序性。 ( 2 ) 在遇到拷贝障害时,a t g r o u p 中的各个连接成p a 取的磁盘同时断开, 保证了发生障害时数据的一致性、整合性。 这样在数据复制和拷贝障害时保证了数据拷贝的顺序性和一致性。a t g r o u p 中由多个m v ( p v ) 组成的磁盘组叫做c o n c e n 觚阱,由多个与c o n c e n t r a t o r 中 的m v 连接的r v 组成的磁盘组称作d i s m b u t o r 。a t g r o u p 的结构图如图6 1 2 。 2 a r g r o u p 中的p a 取的条件 虽然a t g r o u p 的c o n c e n 仃a t o r 和d i s t m i u t o r 两侧都是一个磁盘组,但是并不 是所有的连接成p a 取的磁盘都能加入到其中。能够加入到a t o r o u p 中的磁盘必 须满足以下条件: ( 1 ) a t g m u p 中的m v 同时还必须是p v ,即它没有作为其它磁盘的备份磁 盘。 ( 2 ) 同一个m v 只能加入一个黜u p l 中,如图6 - 1 3 一个队取试图同时 加入第二个不同的a t g 胁u p 2 中,这种情况是不允许的,此时该p a m 不能加入 到第二个a t g r o u p 2 中。 ( 3 ) 目前对于a t g r o u p 还只是支持远程r d r 建立的p a 瓜。因此如果一对 p a 瓜不是砌) r 而是d d r 类型的,则该对p a i r 不允许加入到a t g r o u p 中。如 图6 1 4 所示。 i c o n c t l r d i 嘶b u f o r i 一 图6 - 1 2a t g m u p 的结构示意图 西北工业大学硕士学位论文第六章r 肼系统的功能设计与实现 冒三尉坦一j | 图6 - 1 3 同一个p a m 不能加到两个 t g m 叩 d d r 连接的p a m , 不能加入a t g r o u p r1 。二。二= z = + i i ;= 二二二j ;i 一一- jl 一一j ; : c c 即t r 栅d i s 啊b u 叫 : i j 图6 1 4 d d r 的p a m 不能加到a t g u p ( 4 ) 能够加入到a t g r o u p 中的p a 瓜必须是处于s c p 觚n e 分离状态,处于 咒p l i c a t e 和他s t 0 幅执行中或执行完了状态的p a i r 不能加入到a t g r o u p 中。 ( 5 ) 对于要加入到a t g r o u p 中的p a 瓜,m v 和r v 必须与之前已经加入到 a t g r o u p 中的p a 瓜的m v 和r v 在相同的磁盘阵列中。即m v 所在磁盘阵列相 同,r v 所在的磁盘阵列也相同。 3 a t g r o u p 中的p a 服删除 对于将在触u p 中的p a 瓜删除,首先必须要保证要删除的队瓜是处于 s e p a m t e 分离状态。如果是处于r 印h c a t c 或r e s t o 陀执行中或执行完了状态的p a 瓜, 不允许从a 1 b o u p 中删除,必须先对该a t g r 0 1 l p 发行s 印a m t e 命令,使其转化 为p a r :如分离状态。 6 2 2a t g m u p 的功能设计 a t o r o u p 中主要解决的是数据拷贝的一致性和顺序性的功能,在下面将逐一 介绍这两个功能: 1 顺序数据拷贝功能:该功能是为了保证数据拷贝的顺序性。即在a t g r o u p 中的p a 瓜如果进行复制等操作并不是像独立的p a j r 一样,没有任何顺序,各 个队取彼此相互独立没有任何相关性。在a 1 r o l i p 中的p a 取执行复制等操作 3 7 西北工业大学硕士学位论文 第六章r 删系统的功能设计与实现 会保持一定的顺序,依次按照写入m v 的顺序依次的执行相应的操作。这样处 于a t g r o u p 中的磁盘在进行拷贝时保证了拷贝执行的顺序性。 对于a t g f o l l p 的操作,并不是对加入到a 1 附r o u p 中的磁盘执行的操作都是 原子操作。a 1 r g u p 的状态分为原子和非原子状态。当向a 1 g r o u p 中添加p a m 时,不论之前是什么状态,a t g r o u p 的状态转换为非原子状态。如果要执行 a t g r o u p 的原子操作,首先要对没有处于原予状态的a t g r o u p 发行r c p l i c a _ i e 复 制命令并且使该命令要执行完毕达到一致后,a t g r o u p 的状态转换为原子状态。 要实现数据的原子操作,保证备份的顺序性、一致性,必须在原子状态下才可以 实现。 对于加入到瑚r g t o u p 中的p a 瓜,不能再单独对a t g r o u p 中的一个p a i r 发 行数据拷贝命令,而只可以对整个a t g f o l l p 进行操作。a t g r o u p 支持前台的同 期复制和半同期复制,前台的拷贝模式支持原子操作。a t g t 0 u p 也支持后台拷贝, 但是如果对a t g m u p 发行后台拷贝命令时,就没有原子的概念,这时的复制操 作与对单个p a m 的复制的结果一样,无法保证数据拷贝的顺序性、一致性。 2 同时障害中断功能:该功能是为了保证数据的一致性和整合性。当出现 了拷贝障害时,处于数据拷贝中的a t g r o u p 的各个蹦r 同时停止动作。这样 a t g r o u p 中的磁盘发生障害时保证了数据的一致性和整合性。 6 2 3a t g m u p 的功能实现 每一个a t g r o u p 都会有一个名称来标示是哪个脓叩。对给定触u p 的操作,是通过该名称来识别哪个a 1 g r o u p 。 当对朋阿r o u p 发行拷贝命令时,系统会自动转化为顺序拷贝模式。所谓顺 序拷贝模式就是当向m v 中写入数据,m v 向r v 中进行数据更新时,会依据数 据写入到m v 的顺序把m v 中的数据拷贝到r v 中。也就是说,先写入到m v 的数据先拷贝到r v 中,后写入m v 的数据后拷贝到r v 中。因而保证了数据拷 贝的顺序性。 对于a t g f o u p 中的磁盘的复制,也可以指定拷贝方式和拷贝的范围,其方 式与单个p a m 的相同,在此不再赘述。 如果在数据拷贝中,其中的一个队m 发生障害,就会启动原子中断机能, 促使a t g r o u p 其它的p a 取也转换到异常状态。 6 2 4 a t g m p 执行中逃脱 1 提供逃脱功能的原因 西北工业大学硕士学位论文 第六章r e m 系统的功能设计与实现 由于磁盘阵列存储空间的不断增长,目前一个a r g r o u p 由许多个p a 皿组成。 由于加入a t g r 0 1 i p 中的p p l 太多,因为有些命令是由硬件发送的,可能导致 a t g m u p 的部分命令执行时间过长从而导致命令发行超时的问题,其中主要是 埘g r o l l p 中的s 印a r a t c 等命令。 2 逃脱机能 为了解决执行命令时间过长的问题,提供了一个被称为“执行中逃脱”的命令 执行机制。 所谓“执行中逃脱”,就是当硬件接收到一个“执行中逃脱”类型的命令后,会 立刻返回一个命令正常终了的信息,然后在硬件内部继续执行对这个命令的处 理,并给命令发行对象添加一个“执行中”的执行状态。当处理完了时,再将“执 行中”的状态消除。 对于r 印l i c a t c 等其它a t g f o u p 命令,由于是由r e m 模块逐一对硬件发行该 命令,对硬件来说单个这样的命令不会影响硬件的执行时间,所以不需要执行中 逃脱。 6 3 即时同期复制机能实现的前提和要解决的问题 1 即时同期复制机能出现背景 由于在r d r 连接的队r 恢复m v 中的数据时,通过从r v 传送所有的数 据到m v 上很慢。并且现在一个单独的v 0 1 啪e 的存储空间已经增长到了2 t b 或 者更大。当一个大的磁盘或是很多磁盘一起要恢复数据时,将花费大量的时间进 行数据恢复,在这么长的时间内业务s e r v 盱将不能使用需要的数据,对于用户将 无法忍受这种情况发生。因此提出了即时同期复制机能来解决该问题。 2 磁盘互换机能 对于即时同期复制机能的设备也要支持r d r 的磁盘互换机能,因此先介绍 一下何为砌) r 的磁盘互换机能。 当主站点的磁盘阵列发生灾害后,由备份站点的磁盘阵列暂时的代替主站点 的磁盘阵列,此时原来的r v 变成了m v 。与此同时进行更换主站点的存储设备, 并且组成恢复数据用的队瓜关系,此时主站点的磁盘作为r v 。组成p a m 后进 行数据恢复,当数据恢复且m v 和r v 的数据一致后,再将原来的备份站点恢复 为备份站点,因为之前作为临时主站点使用。当恢复了原来的主站点和备份站点 的后,既主站点为m v ,备份站点为r v 。由于互换过程中要一定时间,因此可 能不是处于数据一致的状态。最后还要再进行复制,将其转化为数据的一致性状 态。其转换过程如图6 1 5 。 西北工业大学硕士学位论文第六章r 脚系统的功能设计与实现 主站点备份站点 灾 数据修复一样 图6 - 1 5 磁盘互换过程流程图 3 面向的存储设备类型 即时同期复制机能只是面向支持融) r 连接的设备上,因为在) r 远程数 据恢复时,存在数据传输带宽的限制,数据传送慢的问题。对于d d r 的连接磁 盘不存在上面提到的问题。 4 即时同期复制的应用对象 该功能的使用对象为砌) r 连接的队取或者a t g r o u p ,对于d d r 的连接不 支持。 由于该机能主要用于远距离的r d r 连接的设备,并且是在数据恢复很慢的 砒) r 连接上,所以要解决以下两种情况: ( 1 ) 因为具有数据传输速度慢,因此要在较短的时间内使其达到数据的一致 性状态。 ( 2 ) 由于数据通过网络传输,因此要减少数据量传输,同时也就减少通讯花 销。 5 实现即时同期复制机能要解决的主要问题 ( 1 ) 保护v o l 啪e 中的数据 进行数据恢复、一致性检查,确立等要花费时间。要确保在这段时间内m v 和r v 中的数据没有产生差分,即数据不一致。因此要能够对发行对象的v 0 1 u m e 进行数据保护,并且还要能够对进行保护的磁盘进行有效识别。 ( 2 ) m v 和r v 中数据的一致性的检查 对于已经指定为全拷贝的时候,没有必要进行检查了,因为全拷贝已经 保证数据的一致性。 对于数据检查可以通过检查c h e c k s n 或是指定一个或多个数据领域来检 查,因为这样会比较较少的数据,提高检查速度。 西北工业大学硕士学位论文第六章r 叫系统的功能设计与实现 如果能够明确保证数据的一致性,则一致性检查可以省略不进行。 由于进行数据检查也是要花费时间的。如果在检查完成之前有紧急事件出 现时,还要保证可以人为的强制中断。 ( 3 ) 状态识别 v o l 啪e 被保护的状态的识别。 一致性检查的进度的识别。 实施了一致性确立的p a m 状态的识别。 6 4 即时同期复制机能的设计和实现 即时同期复制机能通过结合砌) r 磁盘互换机能,可以快速的恢复磁盘上的 数据,并且做到较少的影响用户的使用。即时同期复制机能中包括更新防止和一 致性检查确立两个部分,其流程如图6 1 6 。 图6 1 6 即时同期复制的功能流程图 6 4 1 更新防止的设定和解除 1 更新防止的设定和解除 该机能为了确保m v 和r v 中数据的一致性。因为在一致性检查和确立完成 以前,是要花费一些时间进行处理的,如果在这段时间内数据更新造成m v 和 r v 的数据不一致,那么数据的一致性检查时就会出问题,造成检查不一致。因 此对执行对象的v 0 】u m e 设置保护属性。该保护属性是r e a do m y 。进行更新防止 设定后的v o l 砌e ,服务器只能够读取该v o l u i n c 上存储的数据,不能够更改或写 入数据。更新防止的设定和解除执行过程如图6 1 7 。 4 l 西北工业大学硕士学位论文第六章r 删系统的功能设计与实现 客户端服务器硬件设备 图6 _ 1 7 更新防止的设定和解除执行流程图 客户端发来更新防止设定或解除的电文后,服务器将该电文整理成硬件可以 识别的形式发送给硬件设备。执行成功后返回给服务器结果。服务器先发送通知 告诉c l i e i 的接续画面更新,后将结果返回给客户端,其中接续画面和c l i e n t 是不同的两个进程。 2 更新防止设定下的相关操作约束 关于处于更新防止情况下的v o l 啪e 相关命令的控制约束。如表6 - l 和表6 - 2 所示。 表6 - l 更新防止情况下r e p c _ t e 操作的约束 鬣嚣醐蜮瑟。嚣敦篡蘩燃熬一。:兰黼疆瀚震嚣嚣篓戮 有无 无无 有有 无有 注:操作可以;操作不可以 表6 _ 2 更新防止情况下船抽比操作的约束 嚣“m v 趸新蘸五获蒸二:戛:甄趸茹巍舔吾j:j + j 丢。孟操磊哥i 漆耳政兰叠 有无 无无 有 有 无有 西北工业大学硕士学位论文 第六章r e m 系统的功能设计与实现 6 4 2 一致性检查与确立 1 一致性检查与确立的种别 ( 1 ) 单一领域的v o l u m e 的检查与确立。 ( 2 ) 多个领域的v 0 1 u m e 的检查,全部领域确立。 ( 3 ) 多个领域的v o l 啪e 的检查,部分领域确立。 2 单一领域的v o l 砌e 一致性检查与确立 对于c l i e n t 发来的单一领域的v d 啪e 的电文,可以将它直接登录到等待表 中,其在砌z m 中电文的执行过程如图6 1 8 。 将i 也m d r d 进程接受到的检查电文发送到r e m r e p o r t 进程,后由r e m r e p o r t 将命令发送到硬件设备。如果发行成功,将接受到硬件返回的执行成功的结果, 将该信息返回到r e m d r d 进程。接受到后再发行确立的电文,执行过程和检查的 电文相仿。如图6 1 8 所示单一领域的v o l 啪e 检查与确立流程。 客户端服务器硬件设备 单领域检查,确立 该领域检查 检查执行结果返回 该领域确立 执行结果返回 确立执行结果返回 图6 - l s 单一领域的v o h m e 检查与确立流程 3 多个领域的v o l 啪e 的检查与确立 对于一个v o l 啪e 中多个领域被指定时,存在电文保存的问题。因为一个时 刻只能处理一个电文,当发送了第一个领域的检查命令后,剩余的领域的电文将 保存在等待表中,如果第一个领域的电文执行成功,就将结果返回给c l i e m ,然 后再一次的发行其他的电文,以后的电文成功执行后不再向c l i e n t 返回执行成功 信息,直到全部领域的执行都完毕。其过程如图6 1 9 所示,图6 1 9 中所示的为 两个领域的全确立情况。 在图6 1 9 中说明的是全领域确立的情况,下面说明部分领域确立的流程, 如图6 2 0 部分领域确立只是将指定的领域进行确立,没有指定的其它领域不做 西北工业大学硕士学位论文第六章r e m 系统的功能设计与实现 任何处理。 客户端服务器硬件设备 l ,2 领域检查,确立 第1 个领域的检查 执行结果返回 检查执行结果返回 第2 个领域检查 检查执行结果返回 全领域的确立 确立执行结果返回 图6 - 1 9 两个领域进行检查和全确立的流程 客户端服务器硬件设备 l ,2 领域检查确立 第1 个领域的检查 执行结果返回 检查执行结果返回 第2 个领域检查 检查执行结果返回 第1 个领域的确立 确立执行结果返回 第2 个领域的确立 确立执行结果返回 图6 - 2 0 两个领域进行检查和部分确立的流程 如图6 - 1 9 和6 2 0 所示,当第一个领域成功执行后,服务器就向客户端返回。 西北工业大学硕士学位论文第六章r e m 系统的功能设计与实现 这样处理是考虑到如果等到所有的领域成功执行后返回给用户,可能会需要很长 时间,导致用户等待许久才能确定命令成功执行。如果用户接受到返回信息后发 送其它的命令给该v o l 啪e ,服务器内部会根据该v o l 啪e 的状态来进行控制,不 会造成错误执行。如果该v o l 啪e 在执行其它领域检查或确立时,执行发生错误, 系统会以发生障害的形式通知用户。 4 一致性检查与确立相关操作的约束 在处于一致性检查或确立中的p a m ,如果要对其发行其它的命令,执行其 它的操作命令,要受到相关的操作约束。 ( 1 ) 对处于检查执行中的p a 瓜要发行u n p a i r 或强制u n p a i r 都会被拒绝。 ( 2 ) 对处于更新防止解除,更新防止中或是与该队瓜有某种关联的p j 姬t 处于检查中、一致、确立中的情况下,对该队瓜进行多领域中的某个领域的检 查和确立操作的约束见表6 3 。 表6 - 3 多领域中的一致性检查与确立操作约束 妒3 8 ”。8 ”一5 ”3 ”一8 ” 舜 = _ = = 耷襁”箕爸疆1”囊= 替一囊爸榉 palr状态 魏鼬建女# ,# 女d 删女# 点t # # # # 艚掩。纛灞鼹。纛潺翳。巍翥l i 睡。凛菰溪纛 更新防止解除 未确立 检查中 一致( 部分检查) 一致 更新防止中部分确立 , 确立 xxx 不一致 障害( 检查) , 障害( 确立) 串联上位队瓜在一致性检查确立中 串联下位队m 在一致性检查确立中 指定m v 派生的p a 瓜在一致性检查确立中 其他的服务器对同一个队瓜做了同一性操作 ( 3 ) 对处于检查中或确立中的p a 瓜,发行更新防止解除操作的约束,详见 表6 4 。 西北工业大学硕士学位论文第六章r 跚系统的功能设计与实现 表6 - 4 在检查中或确立午时进行更新防止解除的相关约束控制 l “誓磊毒孟。疆篆i 一5 :。! ” 一o 一+ “ i $ ,f 二更颓防止鳃藤i 强镱i ) :篡叠 一更新防挂解除一。一 未确立 检查中 更 一致( 部分检查) 新 一致 防 部分确立 , 止 确立 中 不一致 障害( 检查) 障害( 确立) ( 4 ) 有时一个v 0 1 啪e 正在处于一致性检查中,但是这时用户要求立刻停止 检查而将该v o l u m e 提供给用户使用,这时需要一致性检查中止来控制,如表6 5 所示。 表6 - 5 一致性检查中止的相关操作约束 缈一9 一一 ”伊喈啦# 制o 秆# o # 8 o 缈 黔哪w 十。“o 黼群辨g 烨 鍪赫缄潞妇亲藩瀚爨蠡骥然惫。鞯棼溉蒯蕊。i 瀛辫毫l 磊麟捻囊爨臻编溉。;鬟 更新防止解除 未确立 检查中 一致( 部分检查) 一致 更新防止中 部分确立 确立 不一致 障害( 检查) 障害( 确立) 6 4 3i 哑m 系统内的自p o m n g 机能 因为硬件设备的变化信息是通过状态监视模块通知给r e m 模块的,如果监 视时间设的很长,就会发生i 也m 模块不知道目前正在执行一致性检查的p a 瓜 是否已经执行完毕。如果要了解此时一致性检查确立的执行状态,就要等状态 监视模块发来状态变化通知来告诉r e m 模块。因此当监视时间大于6 0 秒时, 西北工业大学硕士学位论文第六章r 酬系统的功能设计与实现 i 也m 模块要很久刚可以得到通知,所以r e m 模块提供了自己去主动地取得对应 p a i r 的一致性检查的执行状态能力既自p 0 1 1 i l 培。自p o l l i i 】g 的时间间隔应该设置 为小于6 0 秒,且该p o l l i n g 时间有效的条件是状态监视模块的状态监视时间大于 6 0 秒。 这样处理的好处是当监视时间大于6 0 秒时,不用等状态监视模块的通知而 由i 汪m 系统模块每隔不到6 0 秒去取一回发行对象p a i r 的一致性检查的状态信 息。如果监视时间小于6 0 秒,不用r e m 自己来取得,监视模块会在6 0 秒内发 来通知,通过该通知来确定状态是否变化。 对于同时指定了多个队r 且多个领域指定的检查流程如图6 2 l 所示,每隔 一个预先设定的p o l l i i l g 时间取得一回发行对象的队吸正处于的执行状态信息。 p o l j j n g 间隔 :检查领域1 :检查领域2 :检查领域3 - 卜+ t ; ( 一致) ;( 一致)i ( 一致) t- :检查领域1 : ;- ;斗 :( 一致) i :检查领域1 : + ;( 一致) 检查领域2 一致性检查出错 广t 齐致) 蝽;sj i 检查领域2i 检查领域3 : 卜一卜_ 终秀 ( 一致) 图6 - 2 1 多个p a i r 多领域进行检查 6 4 4 即时同期复制功能中等待表的处理 一致性 检查后 确立 1 一致性检查与确立电文的种别 前边讨论过一致性检查与确立电文的种别,在这进一步细分。详见表6 6 所示。 表6 - 6 一致性检查和确立范围的指定 徽掣獬8 $ ”“辩$ 。8 一”秒鬻 漂 全帮部分 秃 i 勰赢菰飘;熟; 女0 m # 女。女菲# 女黼蒯瀚女僦j 础。瓣# 甜+ g 赫f f+ 。# 蠡女2 堍女娃。# # 谛锄蕊 全部o ( 注1 )o ( 注2 )o ( 注1 ) 部分o ( 注3 )o ( 注1 ) 注l :单一领域的检查和确立的电文直接登入等待表。 4 7 西北工业大学硕士学位论文第六章r 跏系统的功能设计与实现 注2 :砌! m 系统内部要进行电文拆分,并且要保存必要的拆分后信息。 注3 :复数领域的情况:砌! m 系统内部要对发来得电文进行拆分,并且要 保存必要的拆分后信息。单一领域的情况:检查和确立的电文不用拆分直接登入 等待表。 2 等待表的结构 图6 2 2 中简要的给出了等待表的结构,对于复数领域指定图中是按照2 个 领域来说明的,且对于确立操作分别给出了全确立和部分确立。 6 7 。 l a s tp o l l i n 叠t i m e 磁盘阵列的 s a a 结构体2 的指针 结构体3 的指针 m v 执 r v v a a 电文的指针 结构体3 的指针 m v v 从 露矿l 强一 电文的指针 结构体3 s a a 结构体2 的指针 结构体3 的指针 领域2 的检查 领域2 的检查 全部领域确立 领域1 ,2 确立 图6 - 2 2 等待表的结构 3 等待表中的结构体 ( 1 ) 检查确立管理的结构体,即图6 - 2 2 中的第一个结构体。其说明见表 表6 - 7 检查,确立管理的结构体 露獬缈哿露爨攀攀糍锹獬掣缈黔删攀鬻黔梦帑攀攀獬黔繁群秽攀攀攥獬黪擀囊 隧赫& 姑獬溉赫盛蕊删靛蕊薅;l 懋鑫蕊虢槲僦 溉# 赫激麟艇潮塑黧黼辘豢# 戮黼溉拣。毒蕊蕊毹罐黼一 l tp 。l l i n gt i m e 用于保存上回p o l l i n g 的时间 l 磁盘阵列的指针磁盘阵列的指针 ( 2 ) 磁盘阵列信息的结构体,即图6 2 2 中的结构体2 。其说明见表6 - 8 。 4 8 西北j = 业人学硕士学位论文第六章r e m 系统的功能设计与实现 表6 - 8 磁盘阵列信息的结构体 匿黔一群黑鼍黑獬”槲一? = 戮暖篡瑟:三三= = 薹:渤 s a a 磁盘阵列的s a a 结构体2 的指针 下一个结构体2 的指针 结构体3 的指针结构体3 的指针 ( 3 ) p a j r 信息的结构体,即图6 2 2 中的结构体3 。其说明见表6 - 9 。 表6 _ 9 p m 信息的结构体 瞧攀辨琊鬻帮攀獬繁秽攀雾拶嚣群弹镕掣 蠢蕊藏戮女瀚僦概瓣戳i 畿盛鏊黛溉艘# 端 m v am v 的l a r vv 从r v 的v 从 电文指针这个p a i r 的检查,确立电文指针 结构体3 的指针下一个结构体3 的指针 注:s a a 是磁盘阵列的绝对地址,每一个s r c m 系统管理的磁盘阵列都有 不同的绝对地址。姨是v o l 啪e 的绝对地址,每一个s r c m 系统管理的磁盘阵 列中的v o l 岫e 都有不同的绝对地址。 6 4 5 一致性检查腩立电文的处理 1 一致性检查,确立电文的分割 i 匝m 系统接收到一致性检查确立电文后,该电文可能含有不只一个的操作 请求,可能要发行多个检查或确立操作。因此,在r e m 系统中要对该电文进行 分割。其具体的分割方法如图6 2 3 。 图6 - 2 3 电文的分割 2 电文的移动控制 因为有些一致性检查与确立电文要拆分多个命令,所以这些命令要在等待表 中有一定顺序的移动。关于拆分后电文的移动控制详见表6 1 0 。 3 一致性检查确立等待表中电文的删除 西北工业大学硕士学位论文第六章r e m 系统的功能设计与实现 表6 _ 1 0 一致性检查确立等待表中的电文向执行表中移动的时机 飘一移动购电文内容 一致性检查确立等待表中内容的移动时机 。l 领域1 的检查电文不移动 领域2 的检查电文领域l 的检查正常结束 领域1 ,2 的确立电文 全部指定领域的检查电文正常结束 ( 1 ) 正常情况 指定的复数领域的全部操作包括检查和确立都正常结束时,将这个p a i r 在等待表中对应的结构体3 删除。 指定的这个p :a 瓜受到一致性检查确立中止的电文时,一致性检查与确 立的等待表中这个p a i r 的检查和确立电文全部删除,对应的结构体3 也删除。 ( 2 ) 异常情况 出现e n d r 错误返回时,如果是领域1 进行检查的时候,r e m 向客户端 返回e n d r 错误信息。同时一致性检查确立等待表中保存的电文删除,对应的结 构体3 删除。如果是领域1 以外的检查电文返回e r r o r 错误信息的情况,没有执 行的处于等待表中的其它电文删除,同时结构体3 也删除。 上一个检查确立电文异常终了,其包括检查异常终了,一致性确立发生 错误,逻辑盘错误异常终了时:一致性检查确立等待表中保存的电文删除,对 应的结构体3 删除。 6 4 6 即时同期复制功能中具有的状态和转化过程 1 对于p a i r 具有以下几种状态 ( 1 ) 未确立:没有进行一致性确立的队吸处于该状态。 ( 2 ) 确立中:正在进行一致性确立操作的队处于该状态。 ( 3 ) 确立:执行完一致性确立后,确立成功后p a 瓜的状态。 ( 4 ) 一致:进行过一致性确立操作,数据一致后p a 墩转化为该状态。 ( 5 ) 不一致:进行过一致性确立操作,但发现数据不一致后p a 瓜所处状态。 ( 6 ) 检查中:正在进行检查操作的队r 所处状态。 ( 7 ) 障害( 检查) :当物理磁盘毁坏等情况p a 瓜所处的状态。 ( 8 ) 障害( 确立) :当更新防止已经被解除等情况p a i r 所处的状态。 2 对于单个的v o l u m e 有更新防止设定和更新防止解除两种状态 ( 1 ) 更新防止设定:该v o l 啪e 此时只有被读数据的权限不可以被更新数据。 ( 2 ) 更新防止解除:该v o l 眦e 此时有被读写数据的权限。 3 一致性检查与确立状态的内部转换过程如图6 - 2 4 西北t 业大学硕十学俯论文第八章r e m 系统的功能设计与实现 i更新防止解除 更研防止解除7 i 更新防止开始 更新防止解除 上 , 未确立 更新防止解除。 k - 开始检查中j 卜检查 确立中止 | , ,¥查中止 覃新 止 i | | , 检查中 s, 心薯 熊 除 新 , j 、i 检查 州旧i j罨 入人弋鬈 止 部分 l 捡舞 一致 r 一致( 部分检奁) 除 虎寺。1 一致 | 再忒查开始 tl 转为确立害( 、l 立) | 一 : 哭立 0 障 l 成 西北r 业人学硕七学位论文第六章r e m 系统的功能设计与实现 6 5 小结 本章对r e m 系统的各个功能的设计进行了详细的讨论。主要是复制, a t g r o u p 和即时同期复制这几个机能的详细设计方案,以及相应的实现方式。其 中包括各个命令的约束控制和组成条件。重点介绍了即时同期复制的机能,在该 机能中包括等待表的处理、电文分解和控制等多个方面。 西北工业大学硕士学位论文第七章r 叫系统的综合评价 第七章r e m 系统的综合评价 经过长期的i u 孙i 系统的设计和开发,r e m 系统终于开发结束。在此总结一 下r 王m 系统具有的一些优点还有一些有待于改进的不足之处。 7 1r e m 系统的优点 r e m 系统具有高速的数据备份、保证数据拷贝的顺序性和一致性、数据远 程备份等优点,下面将逐个说明: 1 高速的数据备份 因为r e m 系统使用的是磁盘阵列作为存储介质。相对于其他的存储介质, 磁盘的数据传输速率都是很高的,因此在进行数据备份和灾难恢复时,可以快速 的实行。 2 保证大容量数据复制的顺序性和一致性 在r e m 系统的设计过程中,考虑到了针对大容量数据复制的情况。对于像 o r a c l e 这样的大型数据库情况,进行了a t g r o u p 机能的设计,该机能很好的保 证了数据备份和灾难恢复时,数据拷贝的顺序性和一致性。 3 数据的远程和本地备份 在r e m 系统中支持远程的r i ) r 数据备份,可以实现在数千米外磁盘阵列 上进行数据备份。也可以在处于同一个磁盘阵列上的数据进行本地的备份。 4 快速的实现数据灾难恢复 考虑到远程数据恢复操作时数

温馨提示

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

评论

0/150

提交评论