Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11488088
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-07-24 16:51:31


1 Global Mirror简介
2004年中,IBM 推出了基于企业存储服务器ESS的全球镜像(Global Mirror, GM,也称为Async PPRC)容灾解决方案,该模式采用异步方式工作,同时利用同步的数据一致性优势和异步的性能/距离优势,并且采用一系列机制保证数据一致性,彻底解决了数据保护/距离/性能之间的矛盾。2004年底推出的DS8000/DS6000系列也支持Global Mirror, 同时,它们还可以同ESS一同交互操作,进行容灾。
该方案是一个三个卷的解决方案,即PPRC-XD A->B , FlashCopy B->C,即可保证卓越的异步容灾能力。同时我们也建议客户使用一个D卷,对于平时进行容灾测试、复制质量测试、备份、数据挖掘、应用测试等,它带来极大的方便和易用性,以及对生产卷最小的干扰性。
 
 
下面简单解释一下起工作方式(其中绿色 [第一组] 为生产站点磁盘,橙色[第二组] 和蓝色 [第三组] < FlashCopy目标盘C>为容灾站点磁盘):
 
 
1. 绿色和橙色磁盘之间进行PPRC-XD异步操作
2. 绿色磁盘组根据预先设置的时间,生成“一致性组”(Consistency Group),并记录状态
3. 采用PPRC-XD异步操作方式,将且只将“一致性组”记录下来的数据传递从绿色磁盘组传递到橙色磁盘组
4. 3完成后,立刻将橙色磁盘组数据FlashCopy到蓝色磁盘组,进行一致性数据保留
5. 4完成后,回到步骤1
由于有“一致性组”的保护,虽然采用异步方式,一旦每一个“一致性组”数据包传递成功的那一时刻,橙色磁盘组的数据是一致的;由于步骤4,蓝色磁盘组将能够保留最近一次“完全一致性”的数据。一旦出现灾难,客户丢失的是两次生成“一致性组”间隔之间的数据。
ESS/DS8000/DS6000能够每3~5秒生成一次“一致性组”,意味着客户即使采用异步方式,也有可能只丢失3~5秒的数据。一般的异步方式,客户会丢失几个小时以上的数据,并且操作十分繁琐。

4 Global Mirror场景
在本文中我们将探讨在Global Mirror中可能发生的各个阶段的任务。
4.1 建立Global Mirror环境
要建立Global Mirror环境,要做一下几步:
1. 确定PPRC link可用的光纤端口:
·下图展示了DS8000光纤卡端口对应ioport的定义,我们使用了I0030 和I0130作为 PPRC path:
 
 
·下图展示了ESS800光纤卡端口对应ioport的定义,我们使用了I0024 和I00A4作为 PPRC path:
 
 
2. 建立从LSSA到LSSB的PPRC PATH
3. 建立从卷A到卷B 的Global Copy 对
-建议等到从卷A到卷B的初始拷贝完成再进行下一步。
4. 建立从卷B到卷C 的FlashCopy 关系
5. 在每个LSS 上建立 Global Mirror session (要使用相同的session ID,这里我们设为1)
6. 在每个LSS 上把所有的卷A 加到 session 中
7. 启动 Global Mirror
4.2 清除Global Mirror环境
1. 终止 Global Mirror session
2. 从 Global Mirror session中删除所有原卷(A)
3. 关闭 Global Mirror session.
4. 在容灾中心DS8000上去掉 B 和 C 卷的FlashCopy关系
5. 在生产中心ESS800上去掉 A 和 B 卷的Global Copy 关系
6. 去掉 PPRC paths.
4.3 生产中心故障或维护,切换到容灾中心
(注意,灾难发生后,我们将用B 卷,如果测试用的D 卷 也是在同一台host上,请先将其umount 文件系统,varyoffvg等等,这样将会避免由于B和D都是来源于A,其pvid相同带来的问题)
1. 终止 Global Mirror session
2. 在容灾中心DS8000上去掉 B 到D 卷的FlashCopy关系(如果我们曾在演习中使用过B 到D 卷的 FlashCopy关系的话)
3. Fail over B -> A. (让B可以被host访问)
4. 检查B 卷的状态是否为revertible(验证 Consistency Group 是否有效)
通常情况下是不会出现Revertible的,所以不用采取额外的步骤,但是如果有的话,请并参照下表采取相应的步骤:
 
 
5. 在 B 卷上恢复一致性数据 (B 到 C的反向快速 FlashCopy-FRR ). 并等待它结束
6. 重新建立从卷B到卷C 的FlashCopy 关系(在上一步中会自动去掉卷B到卷C的关系)
7. 在容灾中心的卷B上开始恢复生产。
4.4 生产中心恢复,从容灾中心切换回来
现在将备份站点的数据复制回主站点。注意,如果是容灾演习,请停止主站点的host对A 卷的访问(如umount 文件系统,varyoffvg等等)。
1. 建立从LSSB到LSSA的PPRC PATH
2. Failback Global copy B->A(开始从B到A复制数据)
3. 查询状态:B->A 的增量数据(Global Copy first pass)是否拷贝完成
4. 停止容灾中心的卷B上的应用
5. 查询状态:B->A 的增量数据(Global Copy Out Of Sync Tracks)是否拷贝完成
6. 建立从LSSA到LSSB的PPRC PATH,如果它们不存在的话
7. Fail over A-> B. (让A可以被host访问)
8. Failback Global copy A->B(开始从A到B复制数据)
9. 启动 Global Mirror.
10.在生产中心启动应用
4.5 容灾演习并在容灾中心获得测试用的D卷
Global Mirror的机制允许你快速在如何在备份站点获得计划内的复本(D 卷),它是生产卷(A 卷)的一个快照,可以用来进行容灾测试、复制质量测试、备份、数据挖掘、应用测试等等。在我们的实践中充分体会到它的重要性和易用性,以及对生产卷最小的干扰性。在我们的测试环境中可以在1分多钟的时间内获得一组D 卷组,并恢复Global Mirror 的进程。
我们可以通过执行以下的任务达到此目的:
1. 查询Global Mirror环境并检查环境是否健康
2. 暂停 Global Mirror并等待暂停执行完毕
3. 暂停 Global Copy A -> B.
4. Fail over B -> A. (让B可以被host访问)
5. 在容灾中心去掉 B 到D 卷的FlashCopy关系(如果我们曾在演习中使用过B 到D 卷的FlashCopy关系的话)
6. 在 B 卷上恢复一致性数据 (B 到 C的反向快速 FlashCopy-FRR ).
7. 等待FRR结束
8. 重新建立从卷B到卷C 的FlashCopy 关系(在上一步中会自动去掉卷B到卷C的关系)
9. 重新建立从卷B到卷D 的FlashCopy 关系
10. Failback Global copy A->B(开始从A到B复制数据)
11.恢复 Global Mirror.
12. 在容灾中心的D卷上测试刚才获取的生产数据。
5 实现Global Mirror 的脚本
由于在上节说述各个场景中需要执行多个命令来达到所需要的结果,实现起来比较复杂,作者编写了脚本来实现这些任务,将实现Global Mirror的复杂程度大大降低。
脚本以Windows2003为例,在安装了DScli 后,只要把所附的脚本拷贝到DScli安装目录下的profile目录,并按Global Mirror规划要求修改相应的ESSsource.profile, DS8Ksource.profile, GMconfig.cmd定义文件后, 执行“GM_main_menu.CMD GMconfig.cmd”,GM_main_menu.CMD主程序将会根据选项调用所有其他程序完成Global Mirror环境的建立、清除、生产中心故障或维护,切换到容灾中心、生产中心恢复,从容灾中心回切、容灾演习并在容灾中心获得测试用的D卷等任务。
阅读(581) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~