收藏 分销(赏)

informix数据库高可用集群技术及应用实现.doc

上传人:人****来 文档编号:4129244 上传时间:2024-07-31 格式:DOC 页数:28 大小:299.03KB
下载 相关 举报
informix数据库高可用集群技术及应用实现.doc_第1页
第1页 / 共28页
informix数据库高可用集群技术及应用实现.doc_第2页
第2页 / 共28页
informix数据库高可用集群技术及应用实现.doc_第3页
第3页 / 共28页
informix数据库高可用集群技术及应用实现.doc_第4页
第4页 / 共28页
informix数据库高可用集群技术及应用实现.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、Informix 11.5 高可用集群技术及应用实现本文主要介绍了 Informix 11.5 中提供的高可用集群技术及其安装、配置、管理的基本方法,各种高可用集群技术的选择及应用场景,希望能够使读者能够对 Informix 11.5 高可用集群技术有一个比较全面的了解。概述用户的关键业务系统,特别是 OLTP 系统,都要求提供 24X7 不间断的应用服务,这就要求数据库系统能够提供强大的高可用能力。这种能力不仅仅体现在主机及备机的接管方面,同时要能够提供远程容灾能力,以及本地的负载均衡能力。针对上述对数据库的要求,Informix 从版本 6 开始, 就提供了 HDR 技术,它是通过数据库的

2、事务日志的方式实现了主、备机互相接管的功能,当主机工作时,备机提供只读功能,因此,备机可以提供查询、报表等功能,实现负载分担的功能,当主机发生故障,备机会自动接管,实现主机及备机的接管功能。从 Informix 7.2.2 版本开始,Informix 数据库提供了 ER(Enterprise Replication) 数据库复制技术,它也是通过读取数据库日志的方式实现数据同步功能,当源数据库数据发生变化后,Informix 数据库通过读取数据库日志,将变化的数据及时同步到目标数据库,采用 ER 的方式,和 HDR 不同,HDR 数据库的接管是基于数据库服务器的,也就是它的作用范围是基于整个实例

3、的,而 ER 的作用范围是作用于一个表,你可以灵活定义需要复制哪些数据列及数据行,而且可以灵活定义数据复制的方式,是采用主从方式、汇总方式还是双向复制方式。从 Informix 11 开始,Informix 数据库提供了 SDS(Shared Disk Secondary)、RSS(Remote Standalone Secondary)、CLR(Continuous Log Restore) 等高可用集群技术,提供了更加强大的高可用能力。从 Informix 11.5 开始,HDR、SDS、RSS 备机都支持读写能力,提供了更强大的负载均衡能力。同时,从 Informix 11.5 开始,I

4、nformix 还提供了 Connection Manager 功能部件,它可以提供 SLA(Service Level Agreement) 功能,更好地实现负载均衡的能力,同时提供了 FOC(Fail Over Connection) 功能,实现透明故障接管能力,而且,所有这些对客户端应用来说是透明的。通过不断的发展与创新,Informix 提供了业界领先的高可用集群技术。下边,我们就具体讲述一下 Informix 高可用集群技术特点、使用范围及技术实现,希望读者能够对它有一个更全面的理解。HDR 技术高可用性数据复制 HDR 技术,从 Informix 6 版本就开始提供,它是采用一主、

5、一备方式,通过读取数据库逻辑日志方式,实现主备机互相切换功能。在 Informix 11.5 之前, HDR 备机支持只读方式,我们通常会通过备机来完成数据查询、报表功能,分担主机系统的压力。从 Informix 11.5 开始, HDR 备机支持读写操作,提供了更灵活的功能。 HDR 方式通常用来提供高可用性及 hot standby 功能。HDR 工作的基本原理图 1. HDR 工作原理示例图如图中所示,当主数据库服务器开始将共享内存中的逻辑日志缓冲区的内容刷新到磁盘上的逻辑日志时,数据库服务器也将逻辑日志缓冲区的内容复制到主数据库服务器上的数据复制缓冲区。然后主数据库服务器将这些逻辑日志

6、记录发送至 HDR 辅助数据库服务器。HDR 辅助数据库服务器将来自主数据库服务器的逻辑日志记录接收到共享内存接收缓冲区(数据库服务器自动将接收缓冲区调节至适当的大小以适合正在发送的数据量)。然后辅助数据库服务器在整个逻辑恢复中应用逻辑日志记录 , ,并将这些记录应用到其自己的数据库空间。HDR 数据复制支持同步或异步两种方式。 ONCONFIG 配置参数 DRINTERVAL 的值确定数据库服务器使用同步更新还是异步更新。如果将 DRINTERVAL 设置为 -1,那么对 HDR 辅助服务器的数据复制同步发生。一旦主数据库服务器将逻辑日志缓冲区内容写入 HDR 缓冲区,它会将那些记录从缓冲区

7、发送至 HDR 辅助数据库服务器。仅当主数据库服务器接收到来自 HDR 辅助数据库服务器的确认(已收到记录)之后,主数据库服务器上的逻辑日志缓冲区清仓才会完成。使用同步更新时,如果发生故障,那么在主数据库服务器上提交的事务在 HDR 辅助数据库服务器上不会仍未提交或部分提交。如果您将 DRINTERVAL 设置为除 -1 以外的任何值,那么数据复制将针对 HDR 辅助服务器异步发生。主数据库服务器在将逻辑日志缓冲区内容复制到 HDR 缓冲区之后会清仓逻辑日志缓冲区。(与上述操作无关)当发生以下条件之一时,主数据库服务器在整个网络上发送 HDR 缓冲区的内容:HDR 缓冲区变满。自上次将记录发送

8、至辅助数据库服务器以后,DRINTERVAL 配置参数在主数据库服务器上指定的时间间隔已过去。该更新方法可以提供比同步更新更好的性能。但是,可能会丢失事务。HDR 处理数据复制的线程主数据库服务器启动专门的线程来支持数据复制。如图 2 所示,主数据库服务器上名为 drprsend 的线程将整个网络上主服务器缓冲区的内容发送至辅助数据库服务器上名为 drsecrcv 的线程。辅助数据库服务器上名为 drsecapply 的线程将接收缓冲区的内容复制到恢复缓冲区。 logrecvr 线程对恢复缓冲区的内容执行逻辑恢复,将逻辑日志记录应用到辅助数据库服务器管理的数据库空间。 OFF_RECVRY_T

9、HREADS 配置参数指定使用的 logrecvr 线程数。数据库服务器启动的其余线程是 drprping 和 drsecping 线程,它们负责发送和接收指示两个数据库服务器是否连接的消息。图 2. HDR 数据复制线程示例图HDR 主、备机之间采用半双工通信协议,因此对网络延迟非常敏感,通常要求网络要非常稳定,同时距离支持有限,通常在同一个大楼里面。HDR 配置实现HDR 对硬件和操作系统要求:运行主数据库服务器和辅助数据库服务器的计算机必须相同(相同的供应商和体系结构)。运行主数据库服务器和辅助数据库服务器的计算机上的操作系统必须相同。运行主数据库服务器和辅助数据库服务器的硬件必须支持网

10、络能力。分配给主数据库服务器和辅助数据库服务器的数据库空间的磁盘空间量必须相等。磁盘空间类型是不相关的;您可以在两个数据库服务器上使用任何原始或格式化的空间组合。HDR 对数据库和数据要求:数据库必须将事务日志记录打开。数据必须驻留在数据库空间或 Sb 空间中。HDR 对配置参数的要求:以下 ONCONFIG 参数在每个数据库服务器上都必须具有相同值:ROOTNAMEROOTOFFSETROOTPATHROOTSIZEMIRROROFFSETMIRRORPATHPHYSDBSPHYSFILELTAPEBLKLTAPESIZETAPEBLKTAPESIZELOGFILESLOGSIZEDYNAM

11、IC_LOGS数据库服务器记录逻辑日志文件的添加。在主服务器上动态添加的逻辑日志文件将在辅助服务器上自动复制。尽管辅助服务器上的 DYNAMIC_LOGS 值不起作用,请保持主服务器上 DYNAMIC_LOGS 与值的同步,以免它们切换角色。HDR 配置参数在复制对中的两个数据库服务器上必须设置为相同的值: DRAUTO DRINTERVAL DRTIMEOUTHDR 相关配置参数说明: DRAUTO:用来控制主服务器和 HDR 备用服务器在出现故障时的行为。其取值范围如下 :o 0 表示 OFF = 不要在 HDR 环境中自动切换服务器类型。o 1 表示 RETAIN_TYPE = 在 HD

12、R 故障期间自动从辅助切换到标准。在重新启动 HDR 时切换回辅助。o 2 表示 REVERSE_TYPE= 在 HDR 故障时自动从辅助切换到标准。在重新启动 HDR 时切换到主要(并将原来的主要切换为辅助)。 DRIDXAUTO:指定如果 HDR 辅助服务器检测到了毁坏的索引,主服务器是否要自动启动索引复制。其取值范围如下 :o 0 - 禁用自动索引修复o 1 - 启用自动索引修复 DRINTERVAL:指定高可用性数据复制缓冲区的清仓之间的最大时间间隔(秒)。其取值范围如下 :o = 0 - 异步更新o -1 - 同步更新 DRLOSTFOUND:指定 dr.lostfound.time

13、stamp 文件的路径名。该文件包含当主数据库服务器遇到故障时在主数据库服务器上提交但未在辅助数据库服务器上提交的事务。如果在主数据库服务器和辅助数据库服务器之间同步发生更新(即,如果 DRINTERVAL 设置为 -1),那么此参数不适用。 DRTIMEOUT:出现网络超时的时间,以秒为单位。 DRAUTO 使用该参数检测故障转移。其取值范围如下 := 0 秒 , 缺省为 30 秒向集群中添加 HDR 备用服务器向集群添加一个 HDR 备用服务器的具体步骤:步骤1:准备 SQLHOSTS 文件在主服务器更新 SQLHOSTS 文件,同时在 HDR 备用服务器中更新:production on

14、soctcp server_1 prod_tcp sds1 onsoctcp server_1 sds1_tcp hdr1 onsoctcp server_1 hdr1_tcp rss1 onsoctcp server_1 rss1_tcp clr1 onsoctcp server_1 clr1_tcp步骤2:配置 ONCONFIG 文件保证 HDR 备用服务器上的 DRAUTO、DRINTERVAL、DRTIMEOUT、与根 dbspace 相关的设置、与物理日志、逻辑日志相关的 ONCONFIG 配置参数同主服务器上保持一致。步骤3:备份主服务器在主服务器中,使用 0 级备份:ontape

15、 -s -L 0步骤4:将 HDR 备份服务器注册到主服务器在主服务器中,运行:onmode -d primary hdr步骤5:准备 HDR 备用服务器的磁盘HDR 备用服务器使用的存储必须匹配主服务器的存储(例如,必须匹配 dbspace 的数量、块的数量、块大小、路径名和偏移量)。步骤6:恢复 HDR 备用服务器上的备份在 HDR 服务器上,执行 0 级备份的物理恢复:ontape -p Three questions will be asked. Answer as shown below: Continue restore? (y/n) y Do you want to back u

16、p the logs? (y/n) n Restore a level 1 archive (y/n) n步骤7:使 HDR 备用服务器进入 online 模式完成恢复后,HDR 备用服务器将进入 recovery 模式。运行以下命令:onmode -d secondary productionHDR 状态监控onstat 命令每次执行 onstat 时显示的头信息均有字段指示数据库服务器正在作为主数据库服务器还是辅助数据库服务器运行。以下示例为作为复制对中的主数据库服务器并且处于联机方式的数据库服务器显示头信息:IBM Informix Dynamic Server Version 11.5

17、0.UC1 - On-Line (Prim) - Up 00:00:59 - 105120 Kbytes以下示例显示作为复制对中的 HDR 辅助数据库服务器并且处于读写方式的数据库服务器:IBM Informix Dynamic Server Version 11.50.UC1 - Updatable (Sec) - Up 00:00:59 - 105120 Kbytes以下示例显示不包含在 HDR 中的数据库服务器的标题。该数据库服务器的类型为标准类型。IBM Informix Dynamic Server Version 11.50.UC1 - On-Line - Up 00:00:59

18、- 105120 Kbytesonstat -g dri 命令要获得完整的 HDR 监视信息,请执行 onstat -g dri 选项。显示以下字段: 数据库服务器类型(主类型、辅助类型或标准类型) HDR 状态(打开或关闭) 成对的数据库服务器 最后一个 HDR 检查点 HDR 配置参数的值oncheck pr 命令如果您的数据库服务器正在运行 HDR,那么保留页面 PAGE_1ARCH 和 PAGE_2ARCH 将保存 HDR 用于同步主数据库服务器和辅助数据库服务器的检查点信息。下图中给出相关的 oncheck -pr 输出示例。运行 HDR 的数据库服务器的 oncheck -pr P

19、AGE_1ARCH 输出 :Validating Informix Database Server reserved pages - PAGE_1ARCH & PAGE_2ARCH Using archive page PAGE_1ARCH. Archive Level 0 Real Time Archive Began 01/11/95 16:54:07 Time Stamp Archive Began 11913 Logical Log Unique Id 3 Logical Log Position b018 DR Ckpt Logical Log Id 3 DR Ckpt Logica

20、l Log Pos 80018 DR Last Logical Log Id 3 DR Last Logical Log Page 128使用 SMI 表 sysdri查询 sysmaster 数据库中的 sysdri 表,同样可以获得完整的 HDR 监视信息。 sysdri 表包含以下各列。列描述typeHDR 服务器类型stateHDR 服务器状态name数据库服务器名称intvlHDR 缓冲区清空时间间隔timeout网络超时lostfoundHDR lost+found 路径名HDR 故障恢复HDR 的失败是失去了复制对中数据库服务器之间的连接。任一以下情况均可能导致数据复制失败: 一

21、个数据库服务器的站点上发生灾难性故障(如火灾或大地震) 连接两个数据库服务器的联网电缆被破坏 一个数据库服务器上的处理中延迟过长 辅助数据库服务器上发生磁盘故障(未通过镜像块解决)HDR 故障的检测数据库服务器将以下任何一种情况解释为 HDR 失败: 超过了指定的超时值。在正常的 HDR 操作期间,数据库服务器期待来自对中另一数据库服务器的通信确认。对中的每个数据库服务器都具有一个 ONCONFIG 参数 DRTIMEOUT,该参数指定秒数。如果来自对中另一数据库服务器的确认没有在 DRTIMEOUT 指定的秒数返回,那么数据库服务器会假设发生了 HDR 失败。 主 辅助对中的另一数据库服务器

22、未响应网络上的定期消息传递(pinging)尝试。无论主数据库服务器是否向辅助数据库服务器发送任何记录,两个数据库服务器均会互相 ping 。如果主要 辅助对的一个数据库服务器没有响应四个连续的 ping 尝试,那么另一个数据库服务器会假设发生了 HDR 失败。当数据库服务器检测到 HDR 失败时,它将写一个消息到其消息日志(例如,DR: receive error)并关闭数据复制。如果发生了 HDR 失败,那么两个数据库服务器之间的 HDR 连接将断开,并且辅助数据库服务器将保持只读方式。如果辅助数据库服务器在 high-availability data-replication 失败后保持

23、联机状态,并且 DRAUTO 配置参数设置为 1(RETAIN_TYPE),那么该数据库服务器的类型将自动更改为标准。如果 DRAUTO 设置为 0(off),那么辅助数据库服务器将顶事尝试重新建立与主数据库服务器的通信。如果 DRAUTO 设置为 2(REVERSE_TYPE),那么当旧的主服务器发生故障时(而非旧的主服务器重新启动时),在连接结束时,辅助数据库服务器将立即成为主数据库服务器。RSS 技术从 Informix 11 开始,Informix 数据库提供了 RSS 、SDS、CLR 技术,它扩展了以前 HDR 只支持主、备两台机器,系统可以支持多台 RSS 、SDS 备机,进一步

24、提高了高可用性。 Informix 11 提出了一种新的通信方式 SMX(Server Multiplexer) 用来建立节点之间的网络连接。 SMX 采用全双工的通信协议,支持异步通信方式,在低速网络上提供更好的通信连接,简化了节点之间的通信管理,支持加密传输,同一个 SMX 连接可以支持多个内部功能传输。图 3. SMX 通信示意图RSS 自动启动 SMX 通信方式。RSS 工作的基本原理为支持 RS 辅助服务器,主服务器要进行检查以查看是否连接了 RS 辅助服务器,如果连接,那么将页面复制到用于将该页面发送到 RS 辅助服务器的日志高速缓存。图 4. RSS 数据复制线程示意图RSS_S

25、end 线程将日志页面传输到 RS 辅助服务器。很有可能需要发送的下一页不在日志高速缓存中。在该情况下,RSS_Send 线程将直接从磁盘读取日志页。 RSS_Send 线程与 SMX 交互,以使用全双工方式发送数据。有了全双工通信,线程在发送下一个缓冲区之前不等待来自 RS 辅助服务器的确认。在主服务器需要来自 RS 辅助服务器的确认之前最多可发送 32 个缓冲区传输。如果达到 32 个缓冲区的限制,那么发送线程将等待 RSS_Recv 线程接收来自 RS 辅助服务器的确认。在 RS 辅助服务器上,RSS_Recv 与 SMX 交互,以接收来自主服务器的日志页。RSS 在很多方面都与 HDR

26、 相似。将日志发送到 RSS 的方式与主服务器将日志发送到 HDR 辅助服务器的方式很相似。但是,RSS 采用 SMX 异步通信框架,因此其对主服务器的影响达到最小。出于该原因,主服务器和 RSS 辅助服务器之间事务落实或检查点均不是同步进行的。换句话说,不保证在主服务器上落实的任何事务也在同一时间在 RSS 辅助服务器上得到落实。因为 RSS 辅助服务器是异步进行更新的,所以 RSS 辅助服务器不能直接提升为主服务器。相反,它可以提升为 HDR 辅助服务器,然后可提升为主服务器。另外,HDR 辅助服务器可降级为 RS 辅助服务器。尽管 RS 辅助服务器与 HDR 辅助服务器类似,但有某些操作

27、是 HDR 辅助服务器可执行但 RS 辅助服务器却不支持,例如: RS 辅助服务器不支持 SYNC 方式 RS 辅助服务器不支持 DRAUTO RS 辅助服务器不具有同步检查点 RS 辅助服务器不能直接转换为主服务器RSS 备用服务器的主要作用是提供灾难恢复解决方案。如同在 HDR 中一样,主服务器不断将其所有的逻辑日志记录发送给 RS 备用服务器,不过 RS 使用的异步方式。与 HDR 不同,通信使用全双工协议。因此 RS 对网络延迟不是很敏感,并且可以更容易驻留在一个较远的地理位置。同时,如果节点间通信线路比较差的情况下,页经常采用 RS 备用服务器方式。 RS 备用服务器的一个特点是主服

28、务器并不和 RS 备用服务器同步检查点,这一点和 SD 和 HDR 服务器不同。因此不能立即替代主服务器;必须首先切换为一个 HDR 服务器。RSS 配置实现硬件和软件需求RS 辅助服务器维护物理数据库的完整副本。出于此原因,以下内容必须与主服务器相同: 运行数据库服务器的计算机硬件 分配给数据库空间的磁盘空间量 创建数据库空间时使用的物理设备中的偏移量索引页日志记录(LOG_INDEX_BUILDS)在创建索引时,索引页日志记录将各页写入到逻辑日志,以使高可用性环境中各服务器之间的索引创建同步。要使用 RS 辅助服务器,必须启用索引页日志记录。索引页日志记录将完整索引写入到日志文件,然后将该

29、日志文件异步地传输到辅助服务器。辅助服务器可以是 RS 辅助服务器,也可以是 HDR 辅助服务器。然后,日志文件事务被读入到辅助服务器上的数据库,减少辅助服务器在恢复期间重新构建索引的需求。对于 RS 辅助服务器,主服务器不等待来自辅助服务器的确认,这允许对主服务器上索引的立即访问。索引页日志记录是使用 onconfig 参数 LOG_INDEX_BUILDS 进行控制的。如果 LOG_INDEX_BUILDS 设置为 1(已启用),那么在主服务器上构建索引然后将索引发送到辅助服务器。向集群中添加 RS 备用服务器向集群添加一个 RSS 备用服务器的具体步骤:步骤1:准备 SQLHOSTS 文

30、件集群中的所有服务器必须具有针对其他服务器的 SQLHOSTS 条目。production onsoctcp server_1 prod_tcp sds1 onsoctcp server_1 sds1_tcp hdr1 onsoctcp server_1 hdr1_tcp rss1 onsoctcp server_1 rss1_tcp clr1 onsoctcp server_1 clr1_tcp步骤2:在主服务器上,启用索引页面日志记录onmode -wf LOG_INDEX_BUILDS=1步骤3:在主服务器上,注册新的RS备用服务器onmode -d add RSS rss1步骤4:对主

31、服务器采取0级备份ontape -s -L 0步骤5:在RS备用服务器中,恢复备份ontape -p Three questions will be asked. Answer as shown below: Continue restore? (y/n) y Do you want to back up the logs? (y/n) n Restore a level 1 archive (y/n) n步骤6:使RS备用服务器进入online模式onmode -d RSS myprimRSS 状态监控onstat 命令每次执行onstat时显示的头信息均有字段指示数据库服务器正在作为主数据

32、库服务器还是辅助数据库服务器运行。以下示例显示作为复制对中的 RSS 辅助数据库服务器并且处于读写方式的数据库服务器:IBM Informix Dynamic Server Version 11.50.UC1 - Updatable (RSS)- Up 00:00:59 - 105120 Kbytes onstat -g rss 命令我们可以在主服务器和 RSS 节点中分别运行 onstat -g rss 命令查看 RSS 节点状态。 在主服务器和 RSS 节点上的输出稍有不同。在主服务器上运行 onstat -g rss 命令输出如下: Local server type: Primary

33、Index page logging status: Enabled Index page logging was enabled at: 2007/02/20 18:10:01 Number of RSS servers: 3 RSS Server information: RSS Srv RSS Srv Connection Next LPG to send Supports name status status (log id,page) Proxy Writes cdr_ol_nag_1_c1 Active Connected 7,899 Y cdr_ol_nag_1_c2 Activ

34、e Connected 7,899 Y其中: Local server type:是 Primary 还是 RSS (remote standalone secondary) 服务器类型 Index page logging status: 显示索引页日志记录状态是否被激活 Index page logging was enabled at:显示索引页日志记录激活的时间 Number of RSS servers:连接到主服务器上 RSS 服务器的数量 RSS Srv name: RSS 服务器的名称 RSS Srv status: 显示 RSS 服务器数否活动 Connection stat

35、us:显示 RSS 服务器是否已经连接 Next LPG sent (log id, page):最近发送的 LPG log ID and page Supports Proxy Writes:显示辅助服务器是否可执行 update 操作,Y 代表支持,N 不支持在辅助服务器上运行 onstat -g rss 命令输出如下:IBM Informix Dynamic Server Version 11.50.UC1 - Read-Only (RSS) - Up 00:05:18 - 55296 Kbytes Local server type: RSS Server Status : Activ

36、e Source server name: cdr_ol_nag_1 Connection status: Connected Last log page received(log id,page): 7,877其中: Local server type:是 Primary 还是 RSS (remote standalone secondary) 服务器类型 Server Status: 显示 RSS 服务器是否活动 Source server name:主服务器名称 Connection status:显示 RSS 服务器是否已经连接 Last log page received (log

37、id,page):最近接受的 LPG log ID and pageRSS 故障切换在高可用集群环境中,数据库服务器主要包含下述三种工作方式:服务器方式说明标准方式不是数据复制系统的一部分。主要方式数据复制系统的主要方式。可以更新数据。辅助方式数据复制系统的辅助方式。无法更新数据,但是可以读取数据。RSS 进行故障切换的基本原则: RSS 节点不能升级为主节点 DRAUTO 对 RSS 不起作用 RSS 节点可以转换为 HDR 辅助节点 HDR 辅助节点可以转变为 RSS 节点 RSS 节点可以转换为 standard nodeRSS 故障切换的基本方法及形式:将 RSS 节点升级为 HDR

38、辅助节点 :onmode d secondary 将 RSS 节点转换为标准节点 :onmode d standard将 HDR 辅助节点装换为 RSS 节点 :onmode d RSS 除去 RSS 节点 :onmode -d delete RSS rss_servernameSDS 技术与 HDR、RSS 不同,SDS 采用和主机共享磁盘方式,避免了数据重复存储的问题,节省了空间,同时安装、配置更加简单。而且,当主机发生故障后,它可以快速实现接管,另外,我们可以非常容易地配置多个 SDS,可以实现了负载均衡的功能。由于 SD 备用节点利用了主服务器的磁盘并且可以轻松快速地启动,因而非常适合

39、规模扩展场景,由于 SD 备用服务器非常接近主服务器(即它们共享相同的磁盘),因此最适合在主服务器遇到问题时作为故障转移服务器。SDS 工作的基本原理所有辅助服务器类型都使用日志从主服务器复制数据。对于 HDR 辅助服务器和 RS 辅助服务器可通过生成日志时使主服务器将其所有逻辑日志记录发送到辅助服务器,从而在辅助服务器上复制对主服务器所作的更新。 HDR 辅助服务器和 RS 辅助服务器接收在主服务器上生成的逻辑日志记录,并将这些记录应用到其自己的数据库空间。对于 SD 辅助服务器,如图所示,同 HDR 辅助服务器和 RS 辅助服务器不同,主服务器不是将整个日志进行发送,而只是将逻辑日志页的日

40、志位置发送到 SD 辅助服务器。通过使用从主服务器接收到的日志位置,SD 辅助服务器从磁盘读取逻辑日志页,并将其应用于内存数据缓冲区。图 5. SDS 数据复制示意图SD 辅助服务器不会向共享磁盘块中写任何东西,不会将共享内存的数据刷新到磁盘,即使是发生 checkpoint 操作也一样。如果 SD 辅助服务器需要刷新共享内存数据,他们会备写到临时的 paging file 中,直到下一次 checkpoint 操作才清空 paging file 。同时,如下图所示,主服务器不会清仓共享内存中的数据页,直到确认 SDS 不在需要该数据页才会清仓到磁盘上。下图显示了启动 SD 辅助服务器的基本过

41、程:SD 辅助服务器首先创建到主服务器的 SMX 连接,之后,SD 辅助服务器向主服务器发出 checkpoint 请求,主服务器响应 SD 辅助服务器的 checkpoint 请求,并将相应 LSN 发送给 SD 辅助服务器,SD 辅助服务器启动必要的恢复操作,之后,主服务器开始不断向 SD 辅助服务器发送当前的 LSN,SD 辅助服务器也开始不断向主服务器发送 ACK 确认信息。图 6. SDS 数据复制工作原理示意图SDS 配置实现辅助服务器的硬件和软件需求除了磁盘需求(与主服务器共享),硬件和软件需求与 HDR 辅助服务器的需求相同。此外,具有数据库服务器的计算机之间必须共享主磁盘系统

42、。这表示从 SD 辅助服务器到数据库空间的路径必须与主服务器的数据库空间路径相同。SDS 相关配置参数说明 SDS_ENABLE:用来启用 SD 辅助服务器功能。您必须在主服务器及 SD 辅助服务器中将 SDS_ENABLE 都设置为 1(启用),才能启用 SD 辅助服务器功能。其取值范围:o 0 - 禁用 SDS 功能o 1 - 启用 SDS 功能 SDS_PAGING: 指定了两个要作为缓存器调页文件的文件的位置。如果未设置 SDS_PAGING,SD 辅助服务器可能无法启动。在 SD 辅助服务上设置该值。其取值范围:, SDS_TEMPDBS:指定 SD 辅助服务器用于动态创建临时数据库

43、空间的信息。为了启动 SD 辅助服务器,SD 辅助服务器的 ONCONFIG 文件中至少出现一次 SDS_TEMPDBS,最多可以配置为 16 SDS_TEMPDBS 条目。在 SD 辅助服务上设置该值,主服务器上不使用 SDS_TEMPDBS 。其取值范围:、示例:SDS_TEMPDBS sdstmpdbs1, /work/dbspaces/sdstmpdbs1,2,0,16000 SDS_TIMEOUT:该配置参数用于主服务器确定要从 SD 服务器获得确认需要等待多长时间,如果没有获得确认,主服务器将停止 SD 服务器。在主服务器上设置该值。其取值范围:= 0 秒,默认值为 20 秒。向集

44、群中添加 SD 备用服务器向集群添加一个 SDS 备用服务器的具体步骤:步骤1:准备SQLHOSTS文件确保 SQHOSTS 文件在主服务器和 SDS 节点都具有另一个服务器的条目:production onsoctcp server_1 prod_tcp sds1 onsoctcp server_1 sds1_tcp hdr1 onsoctcp server_1 hdr1_tcp rss1 onsoctcp server_1 rss1_tcp clr1 onsoctcp server_1 clr1_tcp注意这里使用的组是可选的。步骤2:将主服务器设置为共享磁盘的所有者在主服务器中,运行:o

45、nmode -d set SDS primary myprim步骤3:配置SD备用服务器 确保以下参数匹配主服务器的 ONCONFIG:ROOTNAME、ROOTPATH、ROOTOFFSET、ROOTSIZE、PHYSDBS、PHYSFILE、LOGFILES 和 LOGSIZE 。 将 SDS_ENABLE 设置为 1 。 配置 SDS_PAGING 和 SDS_TEMPDBS 。例如:SDS_ENABLE 1 SDS_PAGING /ids/sds/dbspaces/page_1,/ids/sds/dbspaces/page_2 SDS_TEMPDBS sdstmpdbs1,/ids/s

46、ds/dbspaces/sdstmpdbs1,2,0,16000 REDIRECTED_WRITES 1 TEMPTAB_NOLOG 1步骤4:启动SD备用服务器oninitSDS 状态监控onstat 命令每次执行onstat时显示的头信息均有字段指示数据库服务器正在作为主数据库服务器还是辅助数据库服务器运行。以下示例显示作为复制对中的 SDS 辅助数据库服务器并且处于读写方式的数据库服务器:IBM Informix Dynamic Server Version 11.50.UC1 - Updatable (SDS)- Up 00:00:59 - 105120 Kbytesonstat -g sds 命令您可以使用onstat -g sds命令来查看 SD 辅助服务器统计信息。 onstat 实用程序的输出取决于实用程序是在主服务器还是在辅助服务器上运行。onstat-g sds 命令输出基本包括: Local server type:是 Primary 还是 SDS (shared disk secondary) 服务器类型 Number of SDS servers:连接到主服务器上 SDS 服务器的数量 SDS Srv name: SDS 服务器的名称

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服