要设置连接管理器,您必须创建连接管理器配置文件。
${GBASEDBTDIR}/etc/cmalarmprogram.sh${GBASEDBTDIR} 是 GBASEDBTDIR 环境变量的值。
不能从命令行启用调试方式。
FOC 参数的属性 | 描述 |
---|---|
ORDER |
指定服务器类型的逗号分隔列表,或指定服务器类型列表是否来自集群的主服务器的 HA_FOC_ORDER 配置参数。
要配置多个连接管理器实例来管理高可用性集群,请在主服务器的 onconfig 文件中设置 HA_FOC_ORDER 配置参数。
重要: 如果 FOC 参数的 PRIORITY 属性设置为正整数,那么 ORDER 属性必须设置为 ENABLED。
|
PRIORITY | 指定在应用程序所在相同主机上或在高可用性集群中应用程序服务器上运行的连接管理器的故障转移优先级。PRIORITY 值必须为 0 或者正整数值,并且在配置为管理特定集群的所有连接管理器中必须是唯一的。
重要: 如果 PRIORITY 值设置为正整数,那么 FOC 参数的 ORDER 属性必须设置为 ENABLED。
如果未指定 PRIORITY 属性,那么在发生集群网络故障后将禁用连接管理器故障转移。 仅当优先级最高的连接管理器可以保持与新的主数据库服务器的有效连接时,才能执行故障转移。例如,如果 PRIORITY=2 的连接管理器尝试执行故障转移时,PRIORITY=1 的连接管理器与主数据库服务器的连接会丢失,那么将阻塞该故障转移请求。然而,如果 PRIORITY=1 的连接管理器尝试开始故障转移时,PRIORITY=2 的连接管理器与主数据库服务器的连接会丢失,那么将允许该故障转移请求继续。 |
RETRY | 指定连接管理器尝试完成故障转移期间,在 ORDER 属性值中循环的次数。在未成功故障转移的情况下达到 RETRY 限制后,将生成警报,并且连接管理器会终止自动执行的故障转移尝试。
|
TIMEOUT | 指定连接管理器在开始故障转移处理之前,再等待主服务器事件的秒数。
TIMEOUT 属性值在超出 EVENT_TIMEOUT 参数值后应用。例如,如果 EVENT_TIMEOUT 参数设置为 60,而 TIMEOUT 值设置为 10,那么必须在经过 70 秒都没有收到任何主服务器事件的情况下,才能开始故障转移。 如果未指定 TIMEOUT 属性,那么故障转移将在超出 EVENT_TIMEOUT 参数值指定的时间量后立即开始。 |
如果未设置 LOGFILE 参数,连接管理器将在 $GBASEDBTDIR/tmp 目录中创建日志文件,名称为 connection_manager_name.process_ID.log。
${GBASEDBTDIR}/tmp/cm.log${GBASEDBTDIR} 是 GBASEDBTDIR 环境变量的值。
MACRO CA=ca1,ca2,ca3通过用圆括号将服务器列表括起,可以在宏内定义负载均衡(其中连接基于所列数据库服务器的 CPU 使用率进行定向):
MACRO CA=(ca1,ca2,ca3)MACRO 参数可以设置多次以创建多个宏。 例如:
MACRO NorthCA=ca1,ca2,ca3 MACRO SouthCA=ca4,ca5,ca6
#dbserver nettype hostname servicename options oltp1 onsoctcp host_1 sales_1 csm=pathSLA 条目:
SLA oltp1 DBSERVERS=primary \ NETTYPE=onsoctcp \ HOST=host_1 \ SERVICE=sales_1 \ SQLHOSTSOPT="cms=path"
必需属性 | 值 |
---|---|
DBSERVERS | 指定服务器、服务器别名、服务器类型或先前定义的用于定向连接请求的宏。
用圆括号将列表括起可启用负载均衡,其中连接将定向到 CPU 利用率最低的服务器。
|
可选属性 | 值 |
---|---|
MODE | 指定连接请求是通过连接管理器传递,还是由连接管理器重定向。
|
POLICY | 指定连接管理器如何定向客户机连接请求。指定 LATENCY 并不表示特定等待时间段;而是表示连接管理器将使用采用相对值的公式来确定将客户机连接请求定向到的位置。
可以为策略值提供相对权重。例如,要将客户机请求定向到等待时间最短且应用失败次数最少(但等待时间比应用失败次数重要 10 倍)的服务器,请使用以下值:
POLICY=10*LATENCY+FAILURE 要使用等待时间和失败策略:
|
USEALIASES | 指定连接管理器是否可以将客户机连接请求重定向到 DBSERVERALIASES 配置参数指定的数据库服务器别名。
例如,数据库服务器 srv1 具有别名 srv1_alias1 和 svr1_alias2,并且连接管理器包含以下服务级别协议:
SLA sla1 DBSERVERS=srv1 SLA sla2 DBSERVERS=srv1 \ USEALIASES=OFF SLA sla3 DBSERVERS=srv1_alias1 SLA sla4 DBSERVERS=srv1_alias1 \ USEALIASES=OFF连接管理器将通过以下方式定向客户机请求:
|
WORKERS | 指定分配给 SLA 的工作程序线程数。指定了服务级别协议时,连接管理器将创建 SLA 侦听器进程来拦截客户机连接请求。SLA 侦听器进程可以有一个或多个线程,称为工作程序线程。
如果未设置 WORKERS 属性,将为 SLA 分配 4 个工作程序线程。 |
可选 SQLHOSTS 属性 | 值 |
---|---|
HOST | 指定数据库服务器的主机。将使用 SLA 中的值,而不是 sqlhosts 文件中的值。
|
NETTYPE | 指定数据库服务器的网络协议。将使用 SLA 中的值,而不是 sqlhosts 文件中的值。
|
SERVICE | 指定数据库服务器的端口号或服务名称。将使用 SLA 中的值,而不是 sqlhosts 文件中的值。
|
SQLHOSTSOPT | 指定在 SLA 中所指定的数据库服务器的连接选项。用一对引号将所有连接选项括起。将使用 SLA 中的值,而不是 sqlhosts 文件中的值。 |
SQLHOSTS 参数值 | 描述 |
---|---|
LOCAL | 连接管理器在 GBASEDBTSQLHOSTS 环境变量指定的本地 sqlhosts 文件中搜索请求的数据库服务器实例。 |
REMOTE | 连接管理器在远程计算机上的 sqlhosts 文件中搜索请求的数据库服务器实例。远程计算机由本地数据库服务器的 GBASEDBTSQLHOSTS 环境变量指定。 远程计算机上的 sqlhosts 文件由远程数据库服务器的 GBASEDBTSQLHOSTS 环境变量指定。 |
LOCAL+REMOTE(缺省值) | 连接管理器依次检查本地 sqlhosts 文件和远程 sqlhosts 文件以查找 GBase 8s 实例。 |
例如,您有一个 Web 服务器(位于外部网络上)和一个应用程序服务器(位于内部网络上)。 数据库服务器为外部网络连接定义了 TCP/IP port1 和 port2,为内部连接定义了 TCP/IP port3 和 port4。指定 SQLHOSTS local 会使连接管理器只查找连接管理器实例的 sqlhosts 文件中定义的服务器实例。在这种情况下,连接管理器只会将客户机连接请求定向到外部网络上的服务器。
在配置文件中指定 CLUSTER 连接单元的名称时,请将与组名相同的名称用于 GBASEDBTSQLHOSTS 文件中的对应集群。
在连接管理器配置文件中指定连接单元名称时,只有 GRID 和 REPLSET 连接单元类型可以使用多字节字符。