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

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: DB2/Informix

2008-05-31 17:27:29

HDR:配置

本节讨论以下配置主题:



主服务器和从服务器在平台、操作系统版本、内存、CPU 和存储空间方面必须相同。服务器必须支持网络连接。在主服务器和从服务器上,分配给 dbspace 的磁盘空间量必须相同。一些用户喜欢给主服务器配置更多的内存或 CPU。不建议这样做,而且在这种情况下,HDR 的速度取决于最慢的服务器的速度。

主服务器和从服务器上的 onconfig 文件应该非常相似,而且以下参数必须完全相同:

  • ROOTNAME
  • ROOTOFFSET
  • ROOTPATH
  • ROOTSIZE
  • MIRROROFFSET —— 如果使用镜像特性
  • MIRRORPATH —— 如果使用镜像特性
  • PHYSDBS
  • PHYSFILE
  • LOGFILES
  • LOGSIZE
  • DYNAMIC_LOGS
  • DRAUTO
  • DRINTERVAL
  • DRTIMEOUT


DRAUTO 配置参数决定,在发生故障时,应该自动还是手动切换到从服务器。可用的值包括:

  • 0 = OFF —— 不自动切换 HDR 环境中的服务器类型
  • 1 = RETAIN_TYPE —— 在 HDR 发生故障时,将从服务器切换为标准服务器。在重新启动 HDR 时,切换回从服务器。
  • 2 = REVERSE_TYPE —— 在 HDR 发生故障时,将从服务器切换为标准服务器。在重新启动 HDR 时,切换为主服务器(将原来的主服务器切换为从服务器)。

DRINTERVAL 配置参数指定刷新数据复制缓冲区的最大时间间隔(以秒为单位)。如果设置为 -1,那么使用同步更新。默认值是 30 秒,因此默认模式是异步更新。

DRTIMEOUT 配置参数指定,在使用同步更新时,服务器等待确认消息的最大时间间隔(以秒为单位)。

DRLOSTFOUND 指定 dr.lostfound.timestamp 文件的路径名。这个文件包含在主服务器发生故障时,在主服务器上已经提交但是没有在从服务器上提交的事务。这个文件附加一个时间戳,所以服务器不会覆盖现有的 lost-and-found 文件(如果存在该文件的话)。在对发生故障的服务器进行逻辑恢复时,创建这些文件。如果 HDR 服务器对之间的更新是同步的,就不创建这些文件。

DRIDXAUTO 指定,在 HDR 从服务器探测到一个损坏的索引时,HDR 主服务器是否自动启动索引复制。

要进行复制的所有数据库都必须使用事务日志记录。HDR 通过将事务日志传输到从服务器来执行复制,DDL(Data Definition Language)语句将发送给从服务器,因为无论数据库的日志记录模式是什么,IDS 总会在日志中记录所有 DDL 语句。

另外,使用缓冲的日志记录可能会导致将数据复制到从服务器时出现更大的延迟。对于缓冲的数据库,只在以下情况下发送数据复制缓冲区:

  • 数据复制缓冲区变满
  • 满足 DRINTERVAL 配置参数指定的时间间隔

在使用 HDR 时,需要一个临时的 dbspace,因为只读系统上的查询需要用临时空间来存储中间结果。这些 dbspace 是从服务器上仅有的可写 dbspace。使用这些临时 dbspace 需要设置 DBSPACETEMP 环境参数或配置参数。

blob 应该存储在 dbspace 中,而不是存储在 blobspace 中。这是因为对 blobspace 中的 blob 的修改不被记录在日志中,所以这些修改无法应用于从数据库。实际上,如果使用具有数据复制的 blobspace,从数据库就会显示不正确的结果,因为对 blob 描述符的修改记录在日志中,但是对磁盘上的 blob 的修改不被记录

在主服务器和从服务器上,非临时 dbspace 的 dbspace、块(chunk)、偏移量和路径必须相同。实际上,建议对两台机器上 IDS 系统使用的磁盘采用相同的分区方式。如果两个服务器的分区方式不同,由于分区的差异,一个系统可能比另一个系统慢。







为了在不同机器上的 IDS 服务器之间建立连接,需要执行以下步骤:

  • 确保服务器是完全可信的
  • 添加适当的 NETTYPE 配置参数(soctcp 或 tlitcp),或者确保 sqlhosts 文件包含 DBSERVERNAMEDBSERVERALIAS 的 TCP 连接
  • 确保两个 sqlhosts 文件包含对方服务器的设置项
  • 测试两个服务器之间的连接。一种测试方法是使用 dbaccess > connection > connect。为了确认服务器是完全 可信的,不要使用用户名和密码进行连接。如果连接失败,就检查错误代码并进行调试
阅读(1511) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~