高可用性集群环境与独立服务器环境相比,需要很少甚至不需要额外的故障诊断。 本主题说明了用于描述高可用性集群环境的术语,并提供了一些常见的故障诊断过程。
可以使用诊断工具显示高可用性环境的配置,并验证是否正确设置辅助服务器来更新数据。
服务器会快速处理事务。onstat 命令只在运行瞬间显示状态信息。
为了更新辅助服务器上的数据,GBase 8s 在主数据库服务器和辅助数据库服务器上创建了代理分发器。为每个代理分发器都分配了一个在集群内唯一的标识。 代理分发器负责将 DML 更新请求从辅助服务器发送至主服务器。 辅助服务器根据辅助服务器的 onconfig 文件中的 UPDATABLE_SECONDARY 设置确定要创建的代理分发器的实例数。
对于高可用性集群环境中的可更新辅助服务器,从可更新辅助服务器到主服务器的加密需要 SMX 加密。要加密从可更新辅助服务器发送到主服务器的数据,请在辅助服务器上设置 ENCRYPT_SMX 配置参数。请参阅启用 SMX 加密以获取更多信息。
在高可用性集群中初始化可更新的辅助服务器时,该服务器将保持快速恢复方式,直到所有打开的事务(包括已打开和已准备好的 XA 事务)完成为止。处于快速恢复方式时,应用程序不能连接到该服务器。在所有已打开的事务落实或回滚之前,服务器将保持快速恢复方式。
onstat -g proxy Secondary Proxy Reference Transaction Hot Row Node ID Count Count Total serv2 392 0 2 112 serv2 393 0 2 150检查前一示例中 onstat 命令的输出,两个代理分发器的标识为 392 和 393. 事务计数显示每个代理分发器当前正在处理的事务数。
onstat -g proxy Primary Proxy Reference Transaction Hot Row Node ID Count Count Total serv1 392 0 2 112 serv1 393 0 2 150在此示例中,服务器是共享磁盘 (SD) 辅助服务器,并且已配置为更新数据。 另外,服务器被连接到命名为 serv1 的主服务器。并且具有两个代理分发器,每个的事务计数为 2。
onstat -g proxy all Secondary Proxy Reference Transaction Hot Row Node ID Count Count Total serv2 392 0 2 1 serv2 393 0 2 0 TID Flags Proxy Source Proxy Current sqlerrno iserrno ID SessID TxnID Seq 63 0x00000024 392 22 1 5 0 0 64 0x00000024 392 19 2 5 0 0 62 0x00000024 393 23 1 5 0 0 65 0x00000024 393 21 2 5 0 0在 onstat -g proxy all 命令输出中,TID 表示在主服务器上运行的代理线程的标识。 Source SessID 表示辅助服务器上的用户会话标识。 Proxy TxnID 显示当前事务的序号。 每个 Proxy TxnID 对于代理分发器而言都是唯一的。Current® Seq 表示正在处理的事务中当前操作的序号。每个发送至辅助服务器的数据库事务都被从内部分成一个或多个操作,然后将这些操作发送至主服务器。 最后两个字段 sqlerrno 和 iserrno 显示在事务中遇到的任何 SQL 或 ISAM/RSAM 错误。 错误数 0 表示完成且没有错误。
onstat -g proxy all Primary Proxy Reference Transaction Hot Row Node ID Count Count Total serv1 3466 0 0 1 serv1 3465 0 1 0 Session Proxy Proxy Proxy Current Pending Reference ID TID TxnID Seq Ops Count 19 3465 67 1 23 0 1在辅助服务器上运行的 onstat -g proxy all 命令生成的输出中,Session 表示该辅助服务器上的用户会话标识。 Proxy ID 和 Proxy TID 与在主服务器上显示的一样。 Pending Ops 显示正在等待传送至主服务器的操作数。 Reference Count 显示该事务正在使用的线程数。 当 Reference Count 显示 0 时,表示事务处理已完成。
onstat -g proxy <proxy id> [proxy transaction id] [operation number]代理事务标识和操作编号都是可选参数。 如果已提供,那么第一个编号将视为代理事务标识。 如果其后有第二个编号,那么会将此编号解释为操作编号。 如果没有代理事务标识,该命令执行的任务与以下命令相同:onstat -。与此类似,如果针对给定代理事务标识不存在此类操作编号,那么该命令执行的任务与以下命令相同:onstat -。
onstat -g <server_type>示例:
onstat -g rssonstat -g sds onstat -g dri