Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103168257
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: DB2/Informix

2008-05-31 17:50:20

HDR:故障转移

本节讨论以下故障转移主题:



老话说,“既然我们生活在现实世界中,遇到麻烦是难免的”,所以 HDR 故障转移是很有必要的。因为 IDS 和 HDR 依赖的系统各有不同,所以需要处理的问题也有许多差异。下面是需要进行故障转移的一些常见原因:

  • 在一个服务器站点发生灾难性事件,比如火灾或大地震
  • 两个服务器之间的连接出现问题
  • 发生与 IDS 或 HDR 无关的操作系统问题
  • 一个服务器上的处理过程出现过大的延迟
  • 从服务器上出现磁盘故障,而且无法用镜像块解决






如果主服务器发生故障,从服务器可以采用以下选项:

  • 从服务器保持逻辑恢复模式。在这种情况下,不执行任何操作。如果相信 HDR 连接不久就会恢复,那么使用这个选项
  • 从服务器自动地成为标准服务器。这是将 DRAUTO 设置为 1 或 2 的结果
  • 可以将从服务器的服务器模式手工切换为标准服务器

注意:自动切换只改变服务器类型。它不把客户机应用程序重定向到从服务器。







如果从服务器发生故障,那么主服务器保持在线状态。如果将从服务器用作报告服务器,而且相信从服务器的故障需要花一些时间才能解决,那么需要将一些客户机重定向到主服务器。注意,主服务器可能需要额外的资源,比如额外的临时 dbspace、CPU VP 或内存。不需要将主服务器的类型改为标准,除非是需要重新启动 HDR。







如果发生媒体故障,HDR 环境中可能会出现几个问题。这些问题取决于哪个服务器需要恢复。如果主服务器发生故障,要记住以下要点:

  • 如果块做了镜像,就可以从镜像恢复
  • 如果磁盘包含关键媒体(rootdbs、物理日志 dbspace 或逻辑日志 dbspace),主服务器就会运行失败。必须使用主 dbspace 备份执行完整恢复,或者将主服务器切换到标准模式,并将客户机重定向到这个服务器
  • 如果磁盘不包含关键媒体,就可以对受影响的 dbspace 执行热恢复

如果从服务器发生故障:

  • 如果块做了镜像,就可以从镜像恢复
  • 如果块没有做镜像,而且磁盘包含关键媒体(rootdbs、物理日志 dbspace 或逻辑日志 dbspace),从服务器就会运行失败。如果块没有做镜像,并且磁盘不包含关键媒体,那么从服务器会保持在线状态。在这两种情况下,都需要从主服务器执行完整恢复。这里不能执行热恢复,因为 dbspace 不处于在线模式






如果两个 HDR 服务器上的关键媒体数据都没有损坏,那么可能出现以下四种情况,它们分别需要不同的 HDR 重新启动过程:

  1. 发生网络故障
  2. 发生从服务器故障
  3. 发生主服务器故障,而且从服务器没有切换为标准服务器
  4. 发生主服务器故障,而且从服务器切换为标准服务器

在发生网络故障之后,HDR 对将超时,然后 HDR 关闭。主服务器将保持在线模式,从服务器仍然处于只读模式。在修复网络故障之后,可以在从服务器上运行 onmode -d secondary primary_name,重新启动 HDR。

注意:重新启动 HDR 不是必需的。主服务器会每隔 10 秒尝试重新连接从服务器。它还会每隔 2 分钟在 online.log 中记录一个关于连接无法建立的消息。如果连接很快恢复,就不必使用 onmode 重新启动连接。

在发生从服务器故障之后,只需使用 oninit 重新启动 HDR。如果在消息日志中看到以下消息:

DR: Start Failure recovery from tape
        

就需要用 ontape -l 命令将来自主服务器的逻辑日志应用于从服务器。

在发生主服务器故障之后,只需使用 oninit 重新启动 HDR。

如果发生主服务器故障,而且从服务器已经切换为标准服务器,就需要按照表 2 中的步骤重新启动 HDR:



步骤 在主服务器上 在从服务器上
1 onmode -s —— 这个步骤将目前的标准服务器切换为静默模式。已经连接的所有客户机必须断开连接。执行更新的应用程序必须重定向到主服务器。
2 onmode -d secondary prim_name
3 oninit —— 如果过去写到从服务器上的所有逻辑日志记录仍然可用,那么在执行 oninit 命令时,主服务器会恢复从服务器磁盘上的这些记录。如果在从服务器上备份并删除了逻辑日志文件,那么这些文件中的记录就不再保留在从服务器磁盘上了。在这种情况下,会提示从磁带恢复这些逻辑日志文件(第四步)。
4 如果提示从磁带恢复逻辑日志记录,那么执行这个步骤:ontape -l 或 onbar -r -l







在这个练习中,试验一下从主服务器向从服务器进行故障转移,然后再恢复 HDR 环境的状态。

练习 1:设置一个 HDR 环境。模拟一次主节点故障。将从节点转换为标准节点。

练习 2:重新设置 HDR 环境,使其恢复到主服务器故障之前的状态。







练习 1:这个练习演示如何故障转移到从服务器。应该执行的步骤如下:

  1. 在主服务器上模拟一次故障:onmode -ky
  2. 将从服务器转换为标准模式:onmode -d standard

练习 2:有几种方法可以在此类故障之后设置 HDR,但是应该采用 表 2 中列出的步骤。这样就能够将 HDR 对恢复到以前的状态,而不需要执行备份和恢复。如果从服务器上的逻辑日志已经存档,而且主服务器也没有保留这些逻辑日志,就需要执行恢复。

阅读(1614) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~