统一数据库管理工具
CM(Cluster Manager)是一款数据库管理模块。支持自定义资源监控,提供了数据库主备的状态监控、网络通信故障监控、文件系统故障监控、故障自动主备切换等能力。提供了丰富的数据库管理能力,如节点、实例级的启停,数据库实例状态查询、主备切换、日志管理等。
需要注意的是,一主一备模式下,CM只支持基本的安装,启停,检测能力,其他功能不支持。
特性介绍
cm_agent
cm_agent是部署在数据库每个主机上,用来启停和监控各个数据库实例进程的数据库管理组件。
主要功能有:
- 数据库实例启动和停止时负责拉起和停止本主机上部署的实例进程。
- 监控本主机上运行的实例状态并将状态上报发送给CM Server。
- 执行CM Server仲裁下发的命令。
命令说明:
公共选项:
-V, --version
打印cm_agent版本信息,然后退出。
-?, -h,--help
显示关于cm_agent命令行参数的帮助信息,然后退出。
日志信息记录的位置选项:
0
记录在设定的日志文件中。
1
记录在syslog文件中。
2
记录在设定的日志文件中。
3
空文件,即不记录日志信息。
启动模式选项:
normal
正常模式启动。
abnormal
非正常模式启动。
cm_server
cm_server是用来进行数据库实例管理和实例仲裁的组件。主要功能有:
- 接收各个节点上cm_agent发送的数据库各实例状态。
- 提供数据库实例整体状态的查询功能。
- 监控实例的状态变化并进行仲裁命令的下发。
命令说明:
公共选项:
-V, --version
打印cm_server版本信息,然后退出。
-?, -h,--help
显示关于cm_server命令行参数的帮助信息,然后退出。
日志信息记录的位置选项:
0
记录在设定的日志文件中。
1
记录在syslog文件中。
2
记录在设定的日志文件中。
3
空文件,即不记录日志信息。
cm_ctl工具介绍
cm_ctl是openGauss提供的用来控制数据库实例服务的工具。该工具主要供OM调用,及数据库实例服务自恢复时使用。cm_ctl的主要功能有:
- 启动数据库实例服务、AZ的所有实例、单个主机上的所有实例或单独启动某个实例进程。
- 停止数据库实例服务、AZ的所有实例、单个主机上的所有实例或单独停止某个节点实例进程。
- 重启逻辑数据库实例服务。
- 查询数据库实例状态或者单个主机的状态。
- 切换主备实例或重置实例状态。
- 重建备机。
- 查看数据库实例配置文件。
- 设置日志级别,一主多备数据库实例部署下cm_server的仲裁模式、AZ之间的切换模式。
- 获取日志级别,一主多备数据库实例部署下cm_server的仲裁模式、AZ之间的切换模式。
- 检测实例进程状态。
与cm_ctl工具相关的文件:
cluster_manual_start
该文件是数据库实例启停标志文件。文件位于_$GAUSSHOME/bin_下。其中,GAUSSHOME为环境变量。启动数据库实例时,cm_ctl会删除该文件;停止数据库实例时,cm_ctl会生成该文件,并向文件写入停止模式。
instance_manual_start_X(X是实例编号)
该文件是单个实例启停标志文件。文件位于_$GAUSSHOME/bin_下。其中,GAUSSHOME为环境变量。启动实例时,cm_ctl会删除该文件;停止实例时,cm_ctl会生成该文件,并向文件写入停止模式。
cm_ctl的相关约束:
- 在集群模式下,使用cm_ctl集群工具来切换数据库角色,而不是gs_ctl数据库工具。
命令说明
cm_ctl参数可分为如下几类:
- option参数,详细请参见 表 option参数。
- 公共参数,详细请参见 表 公共参数。
- start模式的参数,详细参见 表 start参数。
- switchover模式的参数,详细请参见 表 switchover参数。
- build模式的参数,详细请参见 表 build参数。
- check模式的参数,详细请参见 表 check参数。
- stop模式的参数,详细请参见 表 stop参数。
- query模式的参数,详细请参见 表 query参数。
- view模式的参数,详细请参见 表 view参数。
- set模式的参数,详细请参见 表 set参数 表 set cm参数。
- get模式的参数,详情请参见 表 get参数。
- setrunmode模式的参数,详细请参见 表 setrunmode参数。
- changerole模式的参数,详细请参见 表 changerole参数。
- changemember功能的参数,详细请参见 表 changemember参数。
- reload模式的参数,详细请参见 表 reload 参数。
- list模式的参数,详细请参见 表 list参数。
- encrypt模式的参数,详细请参见 表 encrypt参数。
- ddb模式的参数,详细请参见 表 ddb参数。
- switch模式的参数,详细请参见 表 switch参数。
表 1 option参数
说明: openGauss当前只支持切换到DCC模式。 |
表 2 公共参数
表 3 switchover参数
指定进行-f类型switchover。使用方式:cm_ctl switchover -n NODEID -D DATADIR -f。 | |
表 4 build参数
指定进行全量build。不指定情况下,对于一主多备数据库实例部署模式进行auto build。auto build指:先调用增量build,失败之后调用全量build。 | |
表 5 check参数
表 6 stop参数
|
表 7 query参数
表 8 set参数
表 9 set cm参数
表 10 get参数
表 11 view参数
表 12 setrunmode参数
| ||
表 13 changerole参数
|
表 14 changemember参数
| ||
表 15 start参数
表 16 reload 参数
表 17 list参数
表 18 encrypt参数
表 19 switch参数
表 20 ddb参数
命令参考
启动实例:
cm_ctl start [-z AVAILABILITY_ZONE [--cm_arbitration_mode=ARBITRATION_MODE]] | [-n NODEID [-D DATADIR]] [-t SECS]
数据库主备倒换:
cm_ctl switchover [-z AVAILABILITY_ZONE] | [-n NODEID -D DATADIR [-f]] | [-a] | [-A] [-t SECS]
所有备机停止回放,每个分片中选择一个强制升主:
cm_ctl finishredo
重建备节点:
cm_ctl build -n NODEID -D DATADIR [-t SECS] [-f] [-b full]
检测实例进程运行状态:
cm_ctl check -B BINNAME -T DATAPATH
停止实例:
cm_ctl stop [[-z AVAILABILITY_ZONE] | [-n NODEID [-D DATADIR [-R]]]] [-t SECS] [-m SHUTDOWN-MODE]
查询集群状态:
cm_ctl query [-z ALL] [-l FILENAME] [-v [-C [-s] [-S] [-d] [-i] [-F] [-x] [-p]] | [-r]] [-t SECS] [--minorityAz=AZ_NAME]
查看集群配置文件:
cm_ctl view [-v | -N | -n NODEID] [-l FILENAME]
设置参数:
cm_ctl set [--log_level=LOG_LEVEL] [--cm_arbitration_mode=ARBITRATION_MODE] [--cm_switchover_az_mode=SWITCHOVER_AZ_MODE]
设置CM参数:
cm_ctl set --param --agent | --server [-n NODEID] -k PARAMETER="'value'"
获取参数:
cm_ctl get [--log_level] [--cm_arbitration_mode] [--cm_switchover_az_mode]
设置DCF投票数:
cm_ctl setrunmode -n NODEID -D DATADIR [[--xmode=normal] | [--xmode=minority --votenum=NUM]]
改变dcf角色信息:
cm_ctl changerole [--role=PASSIVE | --role=FOLLOWER] -n NODEID -D DATADIR [-t SECS]
改变dcf节点属性:
cm_ctl changemember [--role=PASSIVE | --role=FOLLOWER] [--group=xx] [--priority=xx] -n NODEID -D DATADIR [-t SECS]
动态加载CM参数:
cm_ctl reload --param [--agent | --server]
列出所有CM参数:
cm_ctl list --param [--agent | --server]
加密:
cm_ctl encrypt [-M MODE] -D DATADIR
执行DCC命令行:
cm_ctl ddb DCC_CMD 设置:cm_ctl ddb --put [key] [value] 删除:cm_ctl ddb --delete [key] 查看DCC命令帮助信息:cm_ctl ddb --help
执行switch ddb命令:
cm_ctl switch [--ddb_type=[DDB]] [--commit] [--rollback]
安全设计
手动替换证书步骤
创建自认证证书
自认证证书生成请参考(开发者指南>数据库安全管理>客户端接入认证>SSL证书管理>证书生成)。
对私钥密码的保护,使用cm encrypt工具,请参考cm_ctl工具介绍。
cm_ctl encrypt [-M MODE] -D DATADIR
生成服务器端密钥因子server.key.cipher、server.key.rand。
cm_ctl encrypt -M server -D DATADIR please enter the password:(使用密码需要与服务器私钥的保护密码相同)
生成客户端密钥因子client.key.cipher、client.key.rand。
cm_ctl encrypt -M client -D DATADIR please enter the password:(使用密码需要与客户端私钥的保护密码相同)
证书使用指南
使用证书需配置cm_server参数为on (默认关闭),
cm_ctl set --param --server -k enable_ssl="on"
证书文件需要存在于所有节点的$GAUSSHOME/share/sslcert/cm中,证书替换后重启集群生效。
所需证书文件:server.crt、server.key、client.crt、client.key、cacert.pem、server.key.cipher、server.key.rand、client.key.cipher、client.key.rand
根证书、密钥、证书以及密钥密码加密文件的权限,需保证权限为400。如果权限不满足要求,则无法使用ssl。
- chmod 400 cacert.pem
- chmod 400 server.crt
- chmod 400 server.key
- chmod 400 server.key.cipher
- chmod 400 server.key.rand
- chmod 400 client.crt
- chmod 400 client.key
- chmod 400 client.key.cipher
- chmod 400 client.key.rand
证书有效期的检测周期为1天,可通过ssl_cert_expire_check_interval设置。证书有效期剩余90天时会开始产生告警,可通过[ssl_cert_expire_alert_threshold](#ssl_cert_expire_alert_threshold)设置。
CM配置参数介绍
cm_agent相关参数可通过cm_agent数据目录下的cm_agent.conf文件查看,cm_server相关参数可通过cm_server数据目录下的cm_server.conf文件查看。
cm_agent参数
log_dir
**参数说明:**log_dir决定存放cm_agent日志文件的目录。 可以是绝对路径,或者是相对路径(相对于$GAUSSLOG的路径)。通过cm_ctl设置绝对路径时需要将路径用''把路径包含起来,例如:cm_ctl set --param --agent -k log_dir="'/log/dir'"。
**取值范围:**字符串,最大长度为1024。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
默认值:“log”,表示在$GAUSSLOG下对应的cm目录下生成cm_agent日志。
log_file_size
**参数说明:**控制日志文件的大小。当'cm_agent-xx-current.log'日志文件达到指定大小时,则重新创建一个日志文件记录日志信息。
**取值范围:**整型,[0, 2047],实际生效范围[1, 2047],单位:MB。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**16MB。
log_min_messages
**参数说明:**控制写到cm_agent日志文件中的消息级别。每个级别都包含排在它后面的所有级别中的信息。级别越低,服务器运行日志中记录的消息就越少。
**取值范围:**枚举类型,有效值有debug5、debug1、warning、error、log、fatal(不区分大小写)。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**warning
incremental_build
**参数说明:**控制重建备节点模式是否为增量。打开这个开关,则增量重建备节点;否则,全量重建备节点。
**取值范围:**布尔型。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
on、yes、true、1:表示增量重建备节点。
off、no、false、0:表示全量重建备节点。
**默认值:**on
security_mode
**参数说明:**控制是否以安全模式启动节点。打开这个开关,则以安全模式启动节点;否则,以非安全模式启动节点。
**取值范围:**布尔型。修改后可以动态生效。参数修改请参考表 set cm参数进行设置。
on、yes、true、1:表示以安全模式启动节点。
off、no、false、0:表示以非安全模式启动节点。
**默认值:**off
upgrade_from
**参数说明:**就地升级过程中使用,用于标示升级前数据库的内部版本号,此参数禁止手动修改。
**取值范围:**非负整型,[0, 4294967295]。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**0
alarm_component
**参数说明:**在使用第一种告警方式时,设置用于处理告警内容的告警组件的位置。通过cm_ctl设置绝对路径时需要将路径用''把路径包含起来,例如:cm_ctl set --param --agent -k alarm_component="'/alarm/dir'"。
**取值范围:**字符串,最大长度为1024。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
默认值:/opt/huawei/snas/bin/snas_cm_cmd
alarm_report_interval
**参数说明:**指定告警上报的时间间隔。
**取值范围:**非负整型,[0, 2147483647],单位:秒。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
**默认值:**1
agent_heartbeat_timeout
**参数说明:**cm_server心跳超时时间。
**取值范围:**整型,[2, 2147483647],单位:秒。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**5
agent_connect_timeout
**参数说明:**cm_agent连接cm_server超时时间。
**取值范围:**整型,[0, 2147483647],单位:秒。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**1
agent_connect_retries
**参数说明:**cm_agent连接cm_server尝试次数。
**取值范围:**整型,[0, 2147483647]。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**15
agent_kill_instance_timeout
参数说明:当cm_agent在无法连接cm_server主节点后,发起一次杀死本节点上所有实例的操作之前,所需等待的时间间隔。
**取值范围:**整型,[0, 2147483647]。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**0,不发起杀死本节点上所有实例的操作。
agent_report_interval
**参数说明:**cm_agent上报实例状态的时间间隔。
**取值范围:**整型,[0, 2147483647]。单位:秒。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**1
alarm_report_max_count
**参数说明:**指定告警上报的最大次数。
**取值范围:**非负整型,[1, 2592000]。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
**默认值:**1
agent_check_interval
**参数说明:**cm_agent查询实例状态的时间间隔。
**取值范围:**整型,[0, 2147483647],单位:秒。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**2
enable_log_compress
参数说明:控制压缩日志功能。
取值范围:布尔型。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
- on、yes、true、1:表示允许压缩日志。
- off、no、false、0:表示不允许压缩日志。
默认值:on
process_cpu_affinity
**参数说明:**控制是否以绑核优化模式启动主节点进程。配置该参数为0,则不进行绑核优化;否则,进行绑核优化,且物理CPU片数为2n个。数据库、cm_agent重启生效。仅支持ARM。参数修改请参考表 set cm参数进行设置。
**取值范围:**整型,[0, 2]。
**默认值:**0
enable_xc_maintenance_mode
**参数说明:**在数据库为只读模式下,控制是否可以修改pgxc_node系统表。
**取值范围:**布尔型。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
on、yes、true、1:表示开启可以修改pgxc_node系统表功能。
off、no、false、0:表示关闭可以修改pgxc_node系统表功能。
**默认值:**on
log_threshold_check_interval
参数说明:cm日志压缩和清除的时间间隔,每1800秒压缩和清理一次。
生效范围:$GAUSSLOG/cm/cm_ctl;$GAUSSLOG/cm/cm_server;$GAUSSLOG/cm/om_monitor目录下的文件以及$GAUSSLOG/cm/cm_agent目录下以cm_agent-、system_call-、system_alarm-为前缀的日志文件。
取值范围:整型,[0, 2147483647],单位:秒。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
默认值:1800
log_max_size
参数说明:控制cm日志最大存储值,当CM日志总大小超过(log_max_size*95/100)MB时,根据压缩日志生成时间,依次删除历史压缩日志,直到日志总大小小于(log_max_size*95/100)MB。
生效范围:$GAUSSLOG/cm/cm_ctl;$GAUSSLOG/cm/cm_server;$GAUSSLOG/cm/om_monitor目录下的文件以及$GAUSSLOG/cm/cm_agent目录下以cm_agent-、system_call-、system_alarm-为前缀的日志文件。
取值范围:整型,[0, 2147483647],单位:MB。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
默认值:10240
log_max_count
参数说明:cm可存储的最多日志数量,当cm日志总个数超过该值,根据压缩日志文件名时间,删除超过保留天数log_saved_days的压缩日志。
生效范围:$GAUSSLOG/cm/cm_ctl;$GAUSSLOG/cm/cm_server;$GAUSSLOG/cm/om_monitor目录下的文件以及$GAUSSLOG/cm/cm_agent目录下以cm_agent-、system_call-、system_alarm-为前缀的日志文件。
取值范围:整型,[0, 10000],单位:个。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
默认值:10000
log_saved_days
参数说明:cm压缩日志保存的天数,cm压缩日志超过该值并且cm日志总个数超过log_max_count,删除压缩日志。
生效范围:$GAUSSLOG/cm/cm_ctl;$GAUSSLOG/cm/cm_server;$GAUSSLOG/cm/om_monitor目录下的文件以及$GAUSSLOG/cm/cm_agent目录下以cm_agent-、system_call-、system_alarm-为前缀的日志文件。
取值范围:整型,[0, 1000],单位天。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
默认值:90
agent_phony_dead_check_interval
**参数说明:**cm_agent检测进程是否僵死的时间间隔。
**取值范围:**整型,[0, 2147483647],单位:秒。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**10
unix_socket_directory
**参数说明:**unix套接字的目录位置。通过cm_ctl设置绝对路径时需要将路径用''把路径包含起来,例如:cm_ctl set --param --agent -k unix_socket_directory="'/unix/dir'"。
**取值范围:**字符串,最大长度为1024。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
默认值:''
dilatation_shard_count_for_disk_capacity_alarm
参数说明:扩容场景下,设置新增的扩容分片数,用于上报磁盘容量告警时的阈值计算。
取值范围:整型,[0, 2147483647],单位:个。该参数设置为0,表示关闭磁盘扩容告警上报;该参数设置为大于0,表示开启磁盘扩容告警上报,且告警上报的阈值根据此参数设置的分片数量进行计算。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
默认值:1
enable_dcf
参数说明:DCF模式开关。
取值范围:布尔型。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
- on、yes、true、1:表示启用dcf。
- off、no、false、0:表示不启用dcf。
默认值:off
disaster_recovery_type
参数说明:主备数据库灾备关系的类型。
取值范围:整型,[0, 2]。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
- 0表示未搭建灾备关系。
- 1表示搭建了obs灾备关系。
- 2表示搭建了流式灾备关系
默认值:0
agent_backup_open
参数说明:灾备模式设置,开启后CM按照灾备模式运行。
取值范围:整型,[0, 2]。修改后需要重启cm_agent才能生效。参数修改请参考表 set cm参数进行设置。
- 0表示未搭建灾备关系。
- 1表示搭建了obs灾备关系(之后不再支持)。
- 2表示搭建了流式灾备关系。
默认值:0
cm_server参数
log_dir
**参数说明:**log_dir决定存放cm_server日志文件的目录。 它可以是绝对路径,或者是相对路径(相对于$GAUSSLOG的路径)。通过cm_ctl设置绝对路径时需要将路径用''把路径包含起来,例如:cm_ctl set --param --server -k log_dir="'/log/dir'"。
**取值范围:**字符串,最大长度为1024。修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
默认值:“log”,表示在$GAUSSLOG下对应的cm目录下生成cm_server日志。
log_file_size
**参数说明:**控制日志文件的大小。当'cm_server-xx-current.log'日志文件达到指定大小时,则重新创建一个日志文件记录日志信息。
**取值范围:**整型,[0, 2047],实际生效范围[1, 2047],单位:MB。修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**16MB
log_min_messages
**参数说明:**控制写到cm_server日志文件中的消息级别。每个级别都包含排在它后面的所有级别中的信息。级别越低,服务器运行日志中记录的消息就越少。
**取值范围:**枚举类型,有效值有debug5、debug1、log、warning、error、fatal(不区分大小写)。修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**warning
thread_count
**参数说明:**cm_server线程池的线程数。
**取值范围:**整型,[2, 1000]。修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**1000
instance_heartbeat_timeout
**参数说明:**实例心跳超时时间。
**取值范围:**整型,[1, 2147483647],单位:秒。修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**6
instance_failover_delay_timeout
**参数说明:**cm_server检测到主机宕机,failover备机的延迟时间。
**取值范围:**整型,[0, 2147483647],单位:秒。修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**0
cmserver_ha_connect_timeout
**参数说明:**cm_server主备连接超时时间。
**取值范围:**整型,[0, 2147483647],单位:秒。修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**2
cmserver_ha_heartbeat_timeout
**参数说明:**cm_server主备心跳超时时间。
**取值范围:**整型,[1, 2147483647],单位:秒。修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**6
cmserver_ha_status_interval
**参数说明:**cm_server主备同步状态信息间隔时间。
**取值范围:**整型,[1, 2147483647],单位:秒。修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**1
cmserver_self_vote_timeout
**参数说明:**cm_server之间相互投票的超时时间。旧版本遗留参数,实际不生效。
**取值范围:**整型,[0, 2147483647],单位:秒。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
默认值:6
phony_dead_effective_time
**参数说明:**用于数据库节点僵死检测,当检测到的僵死次数大于该参数值,认为进程僵死,将进程重启。
**取值范围:**整型,[1, 2147483647],单位:次数。修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**5
cm_server_arbitrate_delay_base_time_out
**参数说明:**cm_server仲裁延迟基础时长。cm_server主断连后,仲裁启动计时开始,经过仲裁延迟时长后,将选出新的cm_server主。其中仲裁延迟时长由仲裁延迟基础时长、节点index(server ID序号)和增量时长共同决定。公式为:仲裁延迟时长=仲裁延迟基础时长+节点index*仲裁延迟增量时长参数。
**取值范围:**整型,[0, 2147483647],单位:秒。修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**10
cm_server_arbitrate_delay_incremental_time_out
**参数说明:**cm_server仲裁延迟增量时长。cm_server主断连后,仲裁启动计时开始,经过仲裁延迟时长后,将选出新的cm_server主。其中仲裁延迟时长由仲裁延迟基础时长、节点index(server ID序号)和增量时长共同决定。公式为:仲裁延迟时长=仲裁延迟基础时长+节点index*仲裁延迟增量时长参数。
**取值范围:**整型,[0, 2147483647],单位:秒。修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**3
alarm_component
**参数说明:**在使用第一种告警方式时,设置用于处理告警内容的告警组件的位置。参数修改请参考表 set cm参数进行设置。通过cm_ctl设置绝对路径时需要将路径用''把路径包含起来,例如:cm_ctl set --param --server -k alarm_component="'/alarm/dir'"。
**取值范围:**字符串,最大长度为1024。修改后需要重启cm_server才能生效。
默认值:/opt/huawei/snas/bin/snas_cm_cmd
alarm_report_interval
**参数说明:**指定告警上报的时间间隔。
**取值范围:**非负整型,[0, 2147483647],单位:秒。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
**默认值:**3
alarm_report_max_count
**参数说明:**指定告警上报的最大次数。
**取值范围:**非负整型,[1, 2592000]。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
**默认值:**1
instance_keep_heartbeat_timeout
**参数说明:**cm_agent会定期检测实例状态并上报给cm_server,若实例状态长时间无法成功检测,累积次数超出该数值,则cm_server将下发命令给agent重启该实例。
**取值范围:**整型,[0, 2147483647],单位:秒。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
**默认值:**40
az_switchover_threshold
**参数说明:**若一个AZ内节点分片的故障率(故障的节点分片数 / 总节点分片数 * 100%)超过该数值,则会触发AZ自动切换。
**取值范围:**整型,[1, 100]。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
**默认值:**100
az_check_and_arbitrate_interval
**参数说明:**当某个AZ状态不正常时,会触发AZ自动切换,该参数是检测AZ状态的时间间隔。
**取值范围:**整型,[1, 2147483647],单位:秒。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
**默认值:**2
az_connect_check_interval
**参数说明:**定时检测AZ间的网络连接,该参数表示连续两次检测之间的间隔时间。
**取值范围:**整型,[1, 2147483647],单位:秒。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
**默认值:**60
az_connect_check_delay_time
参数说明:每次检测AZ间的网络连接时有多次重试,该参数表示两次重试之间的延迟时间。
**取值范围:**整型,[1, 2147483647],单位:秒。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
**默认值:**150
cmserver_demote_delay_on_etcd_fault
参数说明:因为etcd不健康而导致cm_server从主降为备的时间间隔。
**取值范围:**整型,[1, 2147483647],单位:秒。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
**默认值:**8
instance_phony_dead_restart_interval
参数说明:当数据库实例僵死时,会被cm_agent重启,相同的实例连续因僵死被杀时,其间隔时间不能小于该参数数值,否则cm_agent不会下发命令。
**取值范围:**整型,[1800, 2147483647],单位:秒。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
**默认值:**21600
enable_transaction_read_only
**参数说明:**控制数据库是否为只读模式开关。
**取值范围:**布尔型,有效值有on,off,true,false,yes,no,1,0。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
**默认值:**on
datastorage_threshold_check_interval
参数说明:检测磁盘占用的时间间隔。间隔时间由用户指定,表示检测一次磁盘的间隔时间。
取值范围:整型,[1, 2592000],单位:秒。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
默认值:10
datastorage_threshold_value_check
**参数说明:**设置数据库只读模式的磁盘占用阈值,当数据目录所在磁盘占用超过这个阈值,自动将数据库设置为只读模式。
**取值范围:**整型,[1, 99]。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
**默认值:**85
max_datastorage_threshold_check
**参数说明:**设置磁盘使用率的最大检测间隔时间。当用户手动修改只读模式参数后,会自动在指定间隔时间后开启磁盘检测操作。
**取值范围:**整型,[1, 2592000],单位:秒。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
**默认值:**43200
enable_az_auto_switchover
**参数说明:**AZ自动切换开关,若打开,则表示允许cm_server自动切换AZ。否则当发生节点故障等情况时,即使当前AZ已经不再可用,也不会自动切换到其他AZ上,除非手动执行切换命令。
**取值范围:**非负整型,0或1,0:开关关闭,1:开关打开。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
**默认值:**1
cm_krb_server_keyfile
**参数说明:**kerberos服务端key文件所在位置,需要配置为绝对路径。该文件通常为${GAUSSHOME}/kerberos路径下,以keytab格式结尾,文件名与集群运行所在用户名相同。与上述cm_auth_method参数是配对的,当cm_auth_method参数修改为gss时,该参数也必须配置为正确路径,否则将影响集群状态。通过cm_ctl设置绝对路径时需要将路径用''把路径包含起来,例如:cm_ctl set --param --server -k cm_krb_server_keyfile="'/krb/dir'"。
**取值范围:**字符串类型,修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
默认值:${GAUSSHOME}/kerberos/{UserName}.keytab,默认值无法生效,仅作为提示。
switch_rto
**参数说明:**cm_server强起逻辑等待时延。在force_promote被置为1时,当集群的某一分片处于无主状态开始计时,等待该延迟时间后开始执行强起逻辑。
**取值范围:**整型,[60, 2147483647],单位:秒。修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**600
force_promote
**参数说明:**cm_server是否打开强起逻辑(指集群状态为Unknown的时候以丢失部分数据为代价保证集群基本功能可用)的开关。0代表功能关闭,1代表功能开启。
**取值范围:**整型,[0, 1]。在cm_server上修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**0
backup_open
参数说明:灾备集群设置,开启后CM按照灾备集群模式运行。
取值范围:整型,[0, 1]。修改后需要重启cm_server才能生效。非灾备集群不能开启该参数。参数修改请参考表 set cm参数进行设置。
- 0表示关闭。
- 1表示开启
默认值:0
enable_dcf
参数说明:DCF模式开关。
取值范围:布尔型。修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
- on、yes、true、1:表示启用dcf。
- off、no、false、0:表示不启用dcf。
默认值:off
ddb_type
参数说明:ETCD,DCC模式切换开关。
取值范围:整型。0:ETCD;1:DCC。修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
默认值:1
说明:
openGauss仅支持DCC模式。
enable_ssl
参数说明:ssl证书开关。
取值范围:布尔型。打开后使用ssl证书加密通信。修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
默认值:
on、yes、true、1:表示启用ssl。
off、no、false、0:表示不启用ssl。
默认值:off
须知: 出于安全性考虑,建议不要关闭该配置。关闭后cm将不使用加密通信,所有信息明文传播,可能带来窃听、篡改、冒充等安全风险。
ssl_cert_expire_alert_threshold
参数说明:ssl证书过期告警时间。
取值范围:整型,[7, 180],单位:天。证书过期时间少于该时间时,上报证书即将过期告警。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
默认值:90
ssl_cert_expire_check_interval
参数说明:ssl证书过期检测周期。
取值范围:整型,[0, 2147483647],单位:秒。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
默认值:86400
ddb_log_level
参数说明:设置DDB日志级别。
关闭日志:“NONE”,NONE表示关闭日志打印,不能与以下日志级别混合使用。
开启日志:“RUN_ERR|RUN_WAR|RUN_INF|DEBUG_ERR|DEBUG_WAR|DEBUG_INF|TRACE|PROFILE|OPER”日志级别可以从上述字符串中选取字符串并使用竖线组合使用,不能配置空串。
取值范围:字符串,RUN_ERR|RUN_WAR|RUN_INF|DEBUG_ERR|DEBUG_WAR|DEBUG_INF|TRACE|PROFILE|OPER。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
默认值:RUN_ERR|RUN_WAR|DEBUG_ERR|OPER|RUN_INF|PROFILE
ddb_log_backup_file_count
参数说明:最大保存日志文件个数。
取值范围:整型,[1, 100]。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
默认值:10
ddb_max_log_file_size
参数说明:单条日志最大字节数。
取值范围:字符串,长度最大为1024,[1M, 1000M]。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
默认值:10M
ddb_log_suppress_enable
参数说明:是否开启日志抑制功能。
取值范围:整型,0:关闭; 1:开启。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
默认值:1
ddb_election_timeout
参数说明:DCC 选举超时时间。
取值范围:整型,[1, 600], 单位:秒。修改后可以reload生效,参数修改请参考表 set cm参数进行设置。
默认值:3
delay_arbitrate_timeout
参数说明:设置等待跟主DN同AZ节点redo回放,优先选择同AZ升主的时间。
取值范围:整型,[0, 2147483647],单位:秒。参数修改请参考表 set cm参数进行设置。
默认值:0
cm_auth_method
**参数说明:**CM模块端口认证方式,trust表示未配置端口认证,gss表示采用kerberos端口认证。必须注意的是:只有当kerberos服务端和客户端成功安装后才能修改为gss,否则CM模块无法正常通信,将影响数据库状态。
**取值范围:**枚举类型,有效值有trust, gss。修改后需要重启cm_server才能生效。参数修改请参考表 set cm参数进行设置。
**默认值:**trust