网站(1982年属什么.168.0.1)处于联机状态,但未对连接尝试做出响应该怎么办

IBM Bluemix
点击按钮,开始云上的开发!
developerWorks 社区
本文主要介绍了 Informix 11.5 中提供的高可用集群技术及其安装、配置、管理的基本方法,各种高可用集群技术的选择及应用场景,希望能够使读者能够对 Informix 11.5 高可用集群技术有一个比较全面的了解。
, 技术支持工程师, IBM
张光业,目前在 IBM 软件部工作,主要负责开发商在数据库和数据仓库方面产品的技术支持和培训,在 IT 行业有丰富的工作经验。是 IBM
认证的 DB2 UDB 高级技术专家。
概述用户的关键业务系统,特别是 OLTP 系统,都要求提供 24X7 不间断的应用服务,这就要求数据库系统能够提供强大的高可用能力。这种能力不仅仅体现在主机及备机的接管方面,同时要能够提供远程容灾能力,以及本地的负载均衡能力。针对上述对数据库的要求,Informix 从版本 6 开始, 就提供了 HDR 技术,它是通过数据库的事务日志的方式实现了主、备机互相接管的功能,当主机工作时,备机提供只读功能,因此,备机可以提供查询、报表等功能,实现负载分担的功能,当主机发生故障,备机会自动接管,实现主机及备机的接管功能。从 Informix 7.2.2 版本开始,Informix 数据库提供了 ER(Enterprise Replication) 数据库复制技术,它也是通过读取数据库日志的方式实现数据同步功能,当源数据库数据发生变化后,Informix 数据库通过读取数据库日志,将变化的数据及时同步到目标数据库,采用 ER 的方式,和 HDR 不同,HDR 数据库的接管是基于数据库服务器的,也就是它的作用范围是基于整个实例的,而 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 开始,Informix 还提供了 Connection Manager 功能部件,它可以提供 SLA(Service Level Agreement) 功能,更好地实现负载均衡的能力,同时提供了 FOC(Fail Over Connection) 功能,实现透明故障接管能力,而且,所有这些对客户端应用来说是透明的。通过不断的发展与创新,Informix 提供了业界领先的高可用集群技术。下边,我们就具体讲述一下 Informix 高可用集群技术特点、使用范围及技术实现,希望读者能够对它有一个更全面的理解。HDR 技术高可用性数据复制 HDR 技术,从 Informix 6 版本就开始提供,它是采用一主、一备方式,通过读取数据库逻辑日志方式,实现主备机互相切换功能。在 Informix 11.5 之前, HDR 备机支持只读方式,我们通常会通过备机来完成数据查询、报表功能,分担主机系统的压力。从 Informix 11.5 开始, HDR 备机支持读写操作,提供了更灵活的功能。 HDR 方式通常用来提供高可用性及 hot standby 功能。HDR 工作的基本原理图 1. HDR 工作原理示例图如图中所示,当主数据库服务器开始将共享内存中的逻辑日志缓冲区的内容刷新到磁盘上的逻辑日志时,数据库服务器也将逻辑日志缓冲区的内容复制到主数据库服务器上的数据复制缓冲区。然后主数据库服务器将这些逻辑日志记录发送至 HDR 辅助数据库服务器。HDR 辅助数据库服务器将来自主数据库服务器的逻辑日志记录接收到共享内存接收缓冲区(数据库服务器自动将接收缓冲区调节至适当的大小以适合正在发送的数据量)。然后辅助数据库服务器在整个逻辑恢复中应用逻辑日志记录 , ,并将这些记录应用到其自己的数据库空间。HDR 数据复制支持同步或异步两种方式。 ONCONFIG 配置参数 DRINTERVAL 的值确定数据库服务器使用同步更新还是异步更新。如果将 DRINTERVAL 设置为 -1,那么对 HDR 辅助服务器的数据复制同步发生。一旦主数据库服务器将逻辑日志缓冲区内容写入 HDR 缓冲区,它会将那些记录从缓冲区发送至 HDR 辅助数据库服务器。仅当主数据库服务器接收到来自 HDR 辅助数据库服务器的确认(已收到记录)之后,主数据库服务器上的逻辑日志缓冲区清仓才会完成。使用同步更新时,如果发生故障,那么在主数据库服务器上提交的事务在 HDR 辅助数据库服务器上不会仍未提交或部分提交。如果您将 DRINTERVAL 设置为除 -1 以外的任何值,那么数据复制将针对 HDR 辅助服务器异步发生。主数据库服务器在将逻辑日志缓冲区内容复制到 HDR 缓冲区之后会清仓逻辑日志缓冲区。(与上述操作无关)当发生以下条件之一时,主数据库服务器在整个网络上发送 HDR 缓冲区的内容:HDR 缓冲区变满。自上次将记录发送至辅助数据库服务器以后,DRINTERVAL 配置参数在主数据库服务器上指定的时间间隔已过去。该更新方法可以提供比同步更新更好的性能。但是,可能会丢失事务。HDR 处理数据复制的线程主数据库服务器启动专门的线程来支持数据复制。如图 2 所示,主数据库服务器上名为 drprsend 的线程将整个网络上主服务器缓冲区的内容发送至辅助数据库服务器上名为 drsecrcv 的线程。辅助数据库服务器上名为 drsecapply 的线程将接收缓冲区的内容复制到恢复缓冲区。 logrecvr 线程对恢复缓冲区的内容执行逻辑恢复,将逻辑日志记录应用到辅助数据库服务器管理的数据库空间。 OFF_RECVRY_THREADS 配置参数指定使用的 logrecvr 线程数。数据库服务器启动的其余线程是 drprping 和 drsecping 线程,它们负责发送和接收指示两个数据库服务器是否连接的消息。图 2. HDR 数据复制线程示例图HDR 主、备机之间采用半双工通信协议,因此对网络延迟非常敏感,通常要求网络要非常稳定,同时距离支持有限,通常在同一个大楼里面。HDR 配置实现HDR 对硬件和操作系统要求:运行主数据库服务器和辅助数据库服务器的计算机必须相同(相同的供应商和体系结构)。运行主数据库服务器和辅助数据库服务器的计算机上的操作系统必须相同。运行主数据库服务器和辅助数据库服务器的硬件必须支持网络能力。分配给主数据库服务器和辅助数据库服务器的数据库空间的磁盘空间量必须相等。磁盘空间类型是不相关的;您可以在两个数据库服务器上使用任何原始或格式化的空间组合。HDR 对数据库和数据要求:数据库必须将事务日志记录打开。数据必须驻留在数据库空间或 Sb 空间中。HDR 对配置参数的要求:以下 ONCONFIG 参数在每个数据库服务器上都必须具有相同值:ROOTNAMEROOTOFFSETROOTPATHROOTSIZEMIRROROFFSETMIRRORPATHPHYSDBSPHYSFILELTAPEBLKLTAPESIZETAPEBLKTAPESIZELOGFILESLOGSIZEDYNAMIC_LOGS数据库服务器记录逻辑日志文件的添加。在主服务器上动态添加的逻辑日志文件将在辅助服务器上自动复制。尽管辅助服务器上的 DYNAMIC_LOGS 值不起作用,请保持主服务器上 DYNAMIC_LOGS 与值的同步,以免它们切换角色。HDR 配置参数在复制对中的两个数据库服务器上必须设置为相同的值:DRAUTODRINTERVALDRTIMEOUTHDR 相关配置参数说明:DRAUTO:用来控制主服务器和 HDR 备用服务器在出现故障时的行为。其取值范围如下 :
0 表示 OFF = 不要在 HDR 环境中自动切换服务器类型。1 表示 RETAIN_TYPE = 在 HDR 故障期间自动从辅助切换到标准。在重新启动 HDR 时切换回辅助。2 表示 REVERSE_TYPE= 在 HDR 故障时自动从辅助切换到标准。在重新启动 HDR 时切换到主要(并将原来的主要切换为辅助)。DRIDXAUTO:指定如果 HDR 辅助服务器检测到了毁坏的索引,主服务器是否要自动启动索引复制。其取值范围如下 :
0 - 禁用自动索引修复1 - 启用自动索引修复DRINTERVAL:指定高可用性数据复制缓冲区的清仓之间的最大时间间隔(秒)。其取值范围如下 :
&= 0 - 异步更新-1 - 同步更新DRLOSTFOUND:指定 dr.lostfound.timestamp 文件的路径名。该文件包含当主数据库服务器遇到故障时在主数据库服务器上提交但未在辅助数据库服务器上提交的事务。如果在主数据库服务器和辅助数据库服务器之间同步发生更新(即,如果 DRINTERVAL 设置为 -1),那么此参数不适用。DRTIMEOUT:出现网络超时的时间,以秒为单位。 DRAUTO 使用该参数检测故障转移。其取值范围如下 :&= 0 秒 , 缺省为 30 秒向集群中添加 HDR 备用服务器向集群添加一个 HDR 备用服务器的具体步骤:步骤1:准备 SQLHOSTS 文件在主服务器更新 SQLHOSTS 文件,同时在 HDR 备用服务器中更新: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:配置 ONCONFIG 文件保证 HDR 备用服务器上的 DRAUTO、DRINTERVAL、DRTIMEOUT、与根 dbspace 相关的设置、与物理日志、逻辑日志相关的 ONCONFIG 配置参数同主服务器上保持一致。步骤3:备份主服务器在主服务器中,使用 0 级备份:ontape -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 up 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.50.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 -- 105120 Kbytesonstat -g dri 命令要获得完整的 HDR 监视信息,请执行 onstat -g dri 选项。显示以下字段:数据库服务器类型(主类型、辅助类型或标准类型)HDR 状态(打开或关闭)成对的数据库服务器最后一个 HDR 检查点HDR 配置参数的值oncheck – pr 命令如果您的数据库服务器正在运行 HDR,那么保留页面 PAGE_1ARCH 和 PAGE_2ARCH 将保存 HDR 用于同步主数据库服务器和辅助数据库服务器的检查点信息。下图中给出相关的 oncheck -pr 输出示例。运行 HDR 的数据库服务器的 oncheck -pr PAGE_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 Logical Log Pos 80018 DR Last Logical Log Id 3 DR Last Logical Log Page 128使用 SMI 表 sysdri查询 sysmaster 数据库中的 sysdri 表,同样可以获得完整的 HDR 监视信息。 sysdri 表包含以下各列。
HDR 服务器类型
HDR 服务器状态
数据库服务器名称
HDR 缓冲区清空时间间隔
HDR lost+found 路径名
HDR 故障恢复HDR 的失败是失去了复制对中数据库服务器之间的连接。任一以下情况均可能导致数据复制失败:一个数据库服务器的站点上发生灾难性故障(如火灾或大地震)连接两个数据库服务器的联网电缆被破坏一个数据库服务器上的处理中延迟过长辅助数据库服务器上发生磁盘故障(未通过镜像块解决)HDR 故障的检测数据库服务器将以下任何一种情况解释为 HDR 失败:超过了指定的超时值。在正常的 HDR 操作期间,数据库服务器期待来自对中另一数据库服务器的通信确认。对中的每个数据库服务器都具有一个 ONCONFIG 参数 DRTIMEOUT,该参数指定秒数。如果来自对中另一数据库服务器的确认没有在 DRTIMEOUT 指定的秒数返回,那么数据库服务器会假设发生了 HDR 失败。主 - 辅助对中的另一数据库服务器未响应网络上的定期消息传递(pinging)尝试。无论主数据库服务器是否向辅助数据库服务器发送任何记录,两个数据库服务器均会互相 ping 。如果主要 - 辅助对的一个数据库服务器没有响应四个连续的 ping 尝试,那么另一个数据库服务器会假设发生了 HDR 失败。当数据库服务器检测到 HDR 失败时,它将写一个消息到其消息日志(例如,DR: receive error)并关闭数据复制。如果发生了 HDR 失败,那么两个数据库服务器之间的 HDR 连接将断开,并且辅助数据库服务器将保持只读方式。如果辅助数据库服务器在 high-availability data-replication 失败后保持联机状态,并且 DRAUTO 配置参数设置为 1(RETAIN_TYPE),那么该数据库服务器的类型将自动更改为标准。如果 DRAUTO 设置为 0(off),那么辅助数据库服务器将顶事尝试重新建立与主数据库服务器的通信。如果 DRAUTO 设置为 2(REVERSE_TYPE),那么当旧的主服务器发生故障时(而非旧的主服务器重新启动时),在连接结束时,辅助数据库服务器将立即成为主数据库服务器。RSS 技术从 Informix 11 开始,Informix 数据库提供了 RSS 、SDS、CLR 技术,它扩展了以前 HDR 只支持主、备两台机器,系统可以支持多台 RSS 、SDS 备机,进一步提高了高可用性。 Informix 11 提出了一种新的通信方式 SMX(Server Multiplexer) 用来建立节点之间的网络连接。 SMX 采用全双工的通信协议,支持异步通信方式,在低速网络上提供更好的通信连接,简化了节点之间的通信管理,支持加密传输,同一个 SMX 连接可以支持多个内部功能传输。图 3. SMX 通信示意图 RSS 自动启动 SMX 通信方式。RSS 工作的基本原理为支持 RS 辅助服务器,主服务器要进行检查以查看是否连接了 RS 辅助服务器,如果连接,那么将页面复制到用于将该页面发送到 RS 辅助服务器的日志高速缓存。图 4. RSS 数据复制线程示意图RSS_Send 线程将日志页面传输到 RS 辅助服务器。很有可能需要发送的下一页不在日志高速缓存中。在该情况下,RSS_Send 线程将直接从磁盘读取日志页。 RSS_Send 线程与 SMX 交互,以使用全双工方式发送数据。有了全双工通信,线程在发送下一个缓冲区之前不等待来自 RS 辅助服务器的确认。在主服务器需要来自 RS 辅助服务器的确认之前最多可发送 32 个缓冲区传输。如果达到 32 个缓冲区的限制,那么发送线程将等待 RSS_Recv 线程接收来自 RS 辅助服务器的确认。在 RS 辅助服务器上,RSS_Recv 与 SMX 交互,以接收来自主服务器的日志页。RSS 在很多方面都与 HDR 相似。将日志发送到 RSS 的方式与主服务器将日志发送到 HDR 辅助服务器的方式很相似。但是,RSS 采用 SMX 异步通信框架,因此其对主服务器的影响达到最小。出于该原因,主服务器和 RSS 辅助服务器之间事务落实或检查点均不是同步进行的。换句话说,不保证在主服务器上落实的任何事务也在同一时间在 RSS 辅助服务器上得到落实。因为 RSS 辅助服务器是异步进行更新的,所以 RSS 辅助服务器不能直接提升为主服务器。相反,它可以提升为 HDR 辅助服务器,然后可提升为主服务器。另外,HDR 辅助服务器可降级为 RS 辅助服务器。尽管 RS 辅助服务器与 HDR 辅助服务器类似,但有某些操作是 HDR 辅助服务器可执行但 RS 辅助服务器却不支持,例如:RS 辅助服务器不支持 SYNC 方式RS 辅助服务器不支持 DRAUTORS 辅助服务器不具有同步检查点RS 辅助服务器不能直接转换为主服务器RSS 备用服务器的主要作用是提供灾难恢复解决方案。如同在 HDR 中一样,主服务器不断将其所有的逻辑日志记录发送给 RS 备用服务器,不过 RS 使用的异步方式。与 HDR 不同,通信使用全双工协议。因此 RS 对网络延迟不是很敏感,并且可以更容易驻留在一个较远的地理位置。同时,如果节点间通信线路比较差的情况下,页经常采用 RS 备用服务器方式。 RS 备用服务器的一个特点是主服务器并不和 RS 备用服务器同步检查点,这一点和 SD 和 HDR 服务器不同。因此不能立即替代主服务器;必须首先切换为一个 HDR 服务器。RSS 配置实现硬件和软件需求RS 辅助服务器维护物理数据库的完整副本。出于此原因,以下内容必须与主服务器相同:运行数据库服务器的计算机硬件分配给数据库空间的磁盘空间量创建数据库空间时使用的物理设备中的偏移量索引页日志记录(LOG_INDEX_BUILDS)在创建索引时,索引页日志记录将各页写入到逻辑日志,以使高可用性环境中各服务器之间的索引创建同步。要使用 RS 辅助服务器,必须启用索引页日志记录。索引页日志记录将完整索引写入到日志文件,然后将该日志文件异步地传输到辅助服务器。辅助服务器可以是 RS 辅助服务器,也可以是 HDR 辅助服务器。然后,日志文件事务被读入到辅助服务器上的数据库,减少辅助服务器在恢复期间重新构建索引的需求。对于 RS 辅助服务器,主服务器不等待来自辅助服务器的确认,这允许对主服务器上索引的立即访问。索引页日志记录是使用 onconfig 参数 LOG_INDEX_BUILDS 进行控制的。如果 LOG_INDEX_BUILDS 设置为 1(已启用),那么在主服务器上构建索引然后将索引发送到辅助服务器。向集群中添加 RS 备用服务器向集群添加一个 RSS 备用服务器的具体步骤:步骤1:准备 SQLHOSTS 文件集群中的所有服务器必须具有针对其他服务器的 SQLHOSTS 条目。production onsoctcp server_1 prod_tcp
sds1 onsoctcp server_1 sds1_tcp
hdr1 onsoctcp server_1
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:对主服务器采取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时显示的头信息均有字段指示数据库服务器正在作为主数据库服务器还是辅助数据库服务器运行。以下示例显示作为复制对中的 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
Index page logging status: Enabled
Index page logging was enabled at:
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 Active 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 status:显示 RSS 服务器是否已经连接Next LPG sent (log id, page):最近发送的 LPG log ID and pageSupports 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 : Active
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 id,page):最近接受的 LPG log ID and pageRSS 故障切换在高可用集群环境中,数据库服务器主要包含下述三种工作方式:服务器方式说明标准方式不是数据复制系统的一部分。主要方式数据复制系统的主要方式。可以更新数据。辅助方式数据复制系统的辅助方式。无法更新数据,但是可以读取数据。RSS 进行故障切换的基本原则:RSS 节点不能升级为主节点DRAUTO 对 RSS 不起作用RSS 节点可以转换为 HDR 辅助节点HDR 辅助节点可以转变为 RSS 节点RSS 节点可以转换为 standard nodeRSS 故障切换的基本方法及形式:将 RSS 节点升级为 HDR 辅助节点 :onmode – d secondary &primary&将 RSS 节点转换为标准节点 :onmode – d standard将 HDR 辅助节点装换为 RSS 节点 :onmode – d RSS &primary&除去 RSS 节点 :onmode -d delete RSS rss_servernameSDS 技术与 HDR、RSS 不同,SDS 采用和主机共享磁盘方式,避免了数据重复存储的问题,节省了空间,同时安装、配置更加简单。而且,当主机发生故障后,它可以快速实现接管,另外,我们可以非常容易地配置多个 SDS,可以实现了负载均衡的功能。由于 SD 备用节点利用了主服务器的磁盘并且可以轻松快速地启动,因而非常适合规模扩展场景,由于 SD 备用服务器非常接近主服务器(即它们共享相同的磁盘),因此最适合在主服务器遇到问题时作为故障转移服务器。SDS 工作的基本原理所有辅助服务器类型都使用日志从主服务器复制数据。对于 HDR 辅助服务器和 RS 辅助服务器可通过生成日志时使主服务器将其所有逻辑日志记录发送到辅助服务器,从而在辅助服务器上复制对主服务器所作的更新。 HDR 辅助服务器和 RS 辅助服务器接收在主服务器上生成的逻辑日志记录,并将这些记录应用到其自己的数据库空间。对于 SD 辅助服务器,如图所示,同 HDR 辅助服务器和 RS 辅助服务器不同,主服务器不是将整个日志进行发送,而只是将逻辑日志页的日志位置发送到 SD 辅助服务器。通过使用从主服务器接收到的日志位置,SD 辅助服务器从磁盘读取逻辑日志页,并将其应用于内存数据缓冲区。图 5. SDS 数据复制示意图SD 辅助服务器不会向共享磁盘块中写任何东西,不会将共享内存的数据刷新到磁盘,即使是发生 checkpoint 操作也一样。如果 SD 辅助服务器需要刷新共享内存数据,他们会备写到临时的‘ paging file ’ 中,直到下一次 checkpoint 操作才清空‘ paging file ’。同时,如下图所示,主服务器不会清仓共享内存中的数据页,直到确认 SDS 不在需要该数据页才会清仓到磁盘上。下图显示了启动 SD 辅助服务器的基本过程:SD 辅助服务器首先创建到主服务器的 SMX 连接,之后,SD 辅助服务器向主服务器发出 checkpoint 请求,主服务器响应 SD 辅助服务器的 checkpoint 请求,并将相应 LSN 发送给 SD 辅助服务器,SD 辅助服务器启动必要的恢复操作,之后,主服务器开始不断向 SD 辅助服务器发送当前的 LSN,SD 辅助服务器也开始不断向主服务器发送 ACK 确认信息。图 6. SDS 数据复制工作原理示意图SDS 配置实现辅助服务器的硬件和软件需求除了磁盘需求(与主服务器共享),硬件和软件需求与 HDR 辅助服务器的需求相同。此外,具有数据库服务器的计算机之间必须共享主磁盘系统。这表示从 SD 辅助服务器到数据库空间的路径必须与主服务器的数据库空间路径相同。SDS 相关配置参数说明SDS_ENABLE:用来启用 SD 辅助服务器功能。您必须在主服务器及 SD 辅助服务器中将 SDS_ENABLE 都设置为 1(启用),才能启用 SD 辅助服务器功能。其取值范围:
0 - 禁用 SDS 功能1 - 启用 SDS 功能SDS_PAGING: 指定了两个要作为缓存器调页文件的文件的位置。如果未设置 SDS_PAGING,SD 辅助服务器可能无法启动。在 SD 辅助服务上设置该值。其取值范围:& 分页文件 1 的绝对路径 &,& 分页文件 2 的绝对路径 &SDS_TEMPDBS:指定 SD 辅助服务器用于动态创建临时数据库空间的信息。为了启动 SD 辅助服务器,SD 辅助服务器的 ONCONFIG 文件中至少出现一次 SDS_TEMPDBS,最多可以配置为 16 SDS_TEMPDBS 条目。在 SD 辅助服务上设置该值,主服务器上不使用 SDS_TEMPDBS 。其取值范围:&dbspace_name&、& 路径 &、& 页面大小以 KB 为单位 &、& 偏移量以 KB 为单位 &、& 大小 &
示例: SDS_TEMPDBS sdstmpdbs1, /work/dbspaces/sdstmpdbs1,2,0,16000 SDS_TIMEOUT:该配置参数用于主服务器确定要从 SD 服务器获得确认需要等待多长时间,如果没有获得确认,主服务器将停止 SD 服务器。在主服务器上设置该值。其取值范围:&= 0 秒,默认值为 20 秒。向集群中添加 SD 备用服务器向集群添加一个 SDS 备用服务器的具体步骤:步骤1:准备SQLHOSTS文件确保 SQHOSTS 文件在主服务器和 SDS 节点都具有另一个服务器的条目:production onsoctcp server_1 prod_tcp
sds1 onsoctcp server_1
hdr1 onsoctcp server_1 hdr1_tcp
rss1 onsoctcp server_1 rss1_tcp
clr1 onsoctcp server_1 clr1_tcp注意这里使用的组是可选的。步骤2:将主服务器设置为共享磁盘的所有者在主服务器中,运行:onmode -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/sds/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 服务器的名称SDS Srv status: 显示 SDS 服务器数否活动Connection status:显示 SDS 服务器是否已经连接Last LPG sent (log id, page):最近发送的 LPG log ID and pageSupports Proxy Writes:显示辅助服务器是否可执行 update 操作,Y 代表支持,N 不支持下边是执行 onstat -g sds 命令的输出:Local server type: Primary
Number of SDS servers:1
SDS server information
SDS srv SDS srv Connection Last LPG sent Supports
name status status (log id,page) Proxy Writes
C_151162 Active Connected 554,4998使用 SMI 表查询 syssrcsds 表可获取关于主服务器上共享磁盘统计信息的信息。查询 systrgsds 表可获取关于辅助服务器上共享磁盘统计信息的信息。SDS 故障切换辅助服务器环境中的灾难恢复在当前主服务器连接到新的主服务器时执行故障转移当高可用性环境处于活动状态时,新的主服务器将通知旧主服务器它将采取共享磁盘的所有权。然后,旧的主服务器将回滚所有打开的事务,并将其自身切换为辅助状态。在旧的主服务器完成该过程之后,它将通知新的主服务器回滚完成。这将成为新的主服务器继续操作的信号。可通过在新的主服务器上发出onmode -d set sds primary命令来执行此过程。在当前主服务器未连接到新的主服务器时执行故障转移在此场景中,新旧主服务器之间的连接不存在。在这种情况下,我们需要强制执行转换。这可通过发出onmode -d set sds primary force命令完成。仅当在确定原始主服务器不活动时才能发出该命令。因为强制关键字会使新的主服务器在不与旧主服务器通信的情况下成为源服务器,所以如果旧的主服务器仍然处于活动状态,它很可能导致数据库毁坏。当高可用性集群中的所有节点不可用时执行故障转移这是在所有服务器出现故障而且未能启动现有主服务器后尝试故障转移时的唯一问题。该问题的原因是主服务器必须能够连接以启动高可用性集群中的辅助服务器。如果主服务器不处于活动状态,那么无法建立连接,因此无法启动辅助服务器。如果无法启动辅助服务器,那么用于更改主服务器的 onmode 命令将不会起作用。要避免该问题,请使用 oninit -SDS=&new alias&,其中 &new alias& 是新的主服务器上的 TCP 别名。这允许启动现有辅助服务器,并使其能够同时采取环境的所有权。仅当启动集群内的第一个服务器时才能使用 oninit 命令的该选项。SDS 故障切换的基本方法及形式将 SD 辅助服务器提升为主服务器可通过在 SD 辅助服务器上发出以下命令来将 SD 辅助服务器转换为主服务器:onmode -d set SDS primary &alias&请注意:SD 辅助服务器不能转换为标准服务器。禁用 SD 辅助服务器环境中的主服务器可使用以下命令禁用主服务器:在主服务器上,输入以下命令: onmode -d clear SDS primary &alias&该命令将使主服务器成为标准服务器,并禁用共享磁盘环境。SD 辅助服务器环境中的灾难恢复的建议如果主服务器发生故障,那么故障转移的顺序应该是:转移到 SD 辅助服务器转移到 HDR 辅助服务器转移到 RS 辅助服务器集群环境下灾难恢复的各种方式对比可在任何类型的辅助服务器上运行 onmode -d make primary 命令以将该服务器提升为主服务器。下表说明了每个服务器类型是如何受到影响的。如果新的主服务器是:那么该类型的对等服务器:受该方式的影响:SD 辅助服务器SD 辅助服务器连接到新的主服务器并继续RS 辅助服务器连接到新的主服务器并继续HDR 辅助服务器连接到新的主服务器并继续旧的主服务器关闭HDR 辅助服务器SD 辅助服务器关闭RS 辅助服务器连接到新的主服务器并继续HDR 主服务器取决于用户操作RS 辅助服务器SD 辅助服务器关闭HDR 辅助服务器关闭RS 辅助服务器关闭CLR 技术有的时候,远程灾备服务器和主机服务器要实现物理隔离,或者数据网络非常不稳定,这种情况下,Informix 11 提供了 CLR (Continuous Log Restore)技术,它是通过逻辑日志备份的方式,将数据库的逻辑日志人工传送到远程灾备服务器,通过数据库逻辑日志恢复的方式保持和主数据库数据同步的方式。图 7. CLR 数据复制工作原理示意图CLR 方式,就是我们常说的 log shipping 方式,CLR 服务器一直处于 fast recover 状态,不断接收新的逻辑日志,当需要恢复时,执行 ontape – l – X 命令,数据库会转变为静态模式,之后就可以正常使用了。CLR 方式,主要用于远程灾备服务器和主机服务器采用物理隔离,或者数据网络非常不稳定的情况下实现灾难恢复的场景。CLR 工作的基本原理主服务器通过定期或连续进行逻辑日志备份,并将日志备份数据手工的方式传送到 CLR 服务器端, CLR 服务器不断采用 ontape -l – C 命令前滚日志, CLR 处于 logical roll-forward 模式,当需要使用 CLR 服务器时,采用 ontape – l – X 命令,数据库会转变为静态模式,之后就可以正常使用了。CLR 配置实现向集群中添加 CLR 备用服务器向集群添加一个 CLR 备用服务器的具体步骤:步骤 1 :准备 SQLHOSTS 文件集群中的所有服务器必须具有针对其他服务器的 SQLHOSTS 条目。production onsoctcp server_1 prod_tcp
sds1 onsoctcp server_1 sds1_tcp
hdr1 onsoctcp server_1
rss1 onsoctcp server_1 rss1_tcp
clr1 onsoctcp server_1 clr1_tcp步骤 2 :对主服务器采取 0 级备份ontape -s -L 0步骤 3 :在 CLR 备用服务器中,恢复备份 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步骤 4 :备份逻辑日志,并拷贝到 CLR 服务器,并按需要重命名日志文件ontape -a步骤 5 :对 CLR 服务器,恢复逻辑日志文件ontape – l -C步骤 6 :当需要时,停止前滚恢复状态,经 CLR 服务器转变为 quiescent modeontape – l -X高可用集群技术使用场景举例三层服务器可用性的配置示例图 8. 三层服务器可用性配置示例图现在假设新奥尔良校园的建筑物 A 中发生了本地中断。可能是机房内的水管破裂使水对刀片服务器和共享磁盘子系统的主副本造成了损害。通过运行 onmode -d 以使主服务器名位于建筑物 B 中的刀片服务器上运行的某个 SD 辅助服务器上来将主服务器的角色切换为建筑物 B 。这将导致其他所有辅助节点自动连接到新的主节点。图 9. 第一层保护因新奥尔良发生了区域性中断,所以建筑物 A 和建筑物 B 均丢失,那么您可以将主服务器角色切换至孟菲斯。此外,您也可能使丹佛进入到 HDR 辅助服务器,并可将附加 SD 辅助服务器添加到孟菲斯中的机器。图 10. 第二层保护影响两个站点的更大型中断应需要切换至最远的系统。图 11. 第三层保护高可用集群技术的选择功能IDS ExpressIDS 工作组版IDS 企业版RS 辅助服务器不可用不可用是HDR 辅助服务器不可用可选是SD 辅助服务器不可用可选可选需求建议配置您需要定期增大报告容量请使用 SD 辅助服务器您正在使用提供足够磁盘硬件可用性的 SAN 设备,但是担心发生服务器故障请使用 SD 辅助服务器您正在使用提供足够磁盘硬件镜像的 SAN 设备,但是也需要当主操作丢失时能够返回联机状态的第二组服务器(而已镜像磁盘的限制不是问题)考虑使用在两个站点上运行 SD 辅助服务器的两个刀片服务器中心您需要具有距离适中的备份站点,但不能容忍故障转移期间出现任何数据丢失考虑使用两个刀片服务器中心,SD 辅助服务器在主刀片服务器中心上,HDR 辅助服务器在远程刀片服务器上。您想要具有未曾丢失事务的高度可用系统,但是还必须在世界的另一面上设置远程系统考虑使用附近的运行 SYNC 方式的 HDR 辅助服务器,并使用世界另一面的 RS 辅助服务器您想要具有高可用性解决方案,但是因为您所在区域中的网络,ping 的最佳响应时间为大约 200 ms考虑使用 RS 辅助服务器您需要备份站点,但不具有与备份站点之间的任何直接通信考虑使用带有备份和恢复的“连续日志恢复 CLR ”只要数据最终能够到达目的地,您就能够忍受数据交付过程中的延迟;但是在任何情况下都需要具有快速故障转移考虑使用硬件磁盘镜像与 ER 相结合的 SD 辅助服务器。您需要其他写处理功能,能够容忍这些写交付中的某些延迟,需要高度可用的事物并能够分割工作负载考虑使用带有 SD 辅助服务器的 ER结论Informix 提供了业界领先的高可用集群技术。通过结合使用 HDR、SDS、RSS、CLR,为用户不仅提供了业界领先的高可靠解决方案,同时提供了最全面的负载均衡能力及故障接管能力。同时,Informix 11.5 还提供了 Connection Manager 功能部件,它是采用 ESQLC 编写的一个实用程序,通过它,可以为应用程序屏蔽 informix 高可用集群服务器的复杂性,对应用程序来说,它看到的永远是一个数据库实例,由 Connection Manager 来自动完成透明的负载均衡及故障接管工作,真正做到了用户应用不间断地运行。
参考资料 参考 ,获得更多 Informix 11.5 高可用集群及连接管理器相关知识。在
中学习更多信息管理方面的知识通过 ,了解 Informix 产品和技术相关的更多内容。查看 ,了解 Informix 复制的详细内容。
下载 ,体验 Informix 产品的强大功能。
下载 ,试用这些来自 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere® 的应用程序开发工具和中间件产品。 参与
developerWorks: 登录
标有星(*)号的字段是必填字段。
保持登录。
单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件。
在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。
所有提交的信息确保安全。
选择您的昵称
当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。昵称长度在 3 至 31 个字符之间。
您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。
标有星(*)号的字段是必填字段。
(昵称长度在 3 至 31 个字符之间)
单击提交则表示您同意developerWorks 的条款和条件。 .
所有提交的信息确保安全。
文章、教程、演示,帮助您构建、部署和管理云应用。
立即加入来自 IBM 的专业 IT 社交网络。
为灾难恢复构建应用,赢取现金大奖。
static.content.url=/developerworks/js/artrating/SITE_ID=10Zone=Information ManagementArticleID=380867ArticleTitle=Informix 11.5 高可用集群技术及应用实现publish-date=

我要回帖

更多关于 少林寺 1982版 电影 的文章

 

随机推荐