(可选)开启自动剔除故障CN
自动剔除故障CN功能默认开启。
在单机部署场景下,自动剔除CN功能不生效,无需执行本节操作。
背景信息
- 集群可部署多个CN同时对外提供服务,CN的角色是对等的,即执行DML语句时连接到任何一个CN都可以得到一致的结果。而DDL语句需要在所有CN上都执行完成,保持相关定义一致,如果其中一个CN发生故障,整个集群将无法执行DDL语句,直到故障CN被修复。
- 为了不影响用户业务的执行,LibrA V100R002C80SPC200版本增加了CN故障自动剔除功能,系统检测到CN故障后在限定时间内将CN自动剔除,用户的DDL语句就可以继续执行。
前提条件
无。
注意事项
- 自动剔除故障CN功能默认开启,推荐设置CN剔除的时间为10分钟及以上。对于机器掉电、网络断开/拥塞等场景,系统无法获取CN实例状态,在此后的10分钟内,如果故障未修复,系统则会把该CN从系统中剔除。用户可根据自己实际场景和需求确定是否开启功能,以及开启后的剔除时间,建议不要少于10分钟。
- 集群中部署的CN少于3个不会自动剔除。多CN场景下,只有第一个故障的CN才会剔除,多个CN发生故障时,后续故障的CN不会剔除。对于所有故障的CN,需要用户执行实例替换命令修复,参见其他相关操作。
- CM主和备之间网络不通,无法同步信息时,不能剔除CN。建议CN与CM不要部署在相同的节点上。
- CN故障被剔除后,CN会处于Deleted状态, 集群处于Degraded状态,用户业务可以继续执行不受影响,但是物理集群的扩容、缩容、升级、增加CN、change IP操作将不能执行,逻辑集群的创建、删除、扩容、缩容、回滚、显示操作也不能执行。用户可以通过手动执行实例替换命令修复CN, 参见其他相关操作。
- 在没有配置负载均衡的情况下,建议不要开启自动剔除故障CN功能。因为没有配置负载均衡,CN故障后业务不会自动切换到其他CN,如果开启CN剔除功能,CN被剔除后,连接到该CN的业务将无法运行,直至人工修复CN。如果不开启CN剔除功能,CN故障后还有可能自行恢复(例如服务器重启),还可以继续处理业务。
操作步骤
开启自动剔除故障CN功能,即CN故障后,自动剔除故障的CN。
gs_guc set -Z cmserver -N all -I all -c "coordinator_heartbeat_timeout=600"
关闭自动剔除故障CN功能,即CN故障后,不剔除故障的CN。gs_guc set -Z cmserver -N all -I all -c "coordinator_heartbeat_timeout=0"
- 其中coordinator_heartbeat_timeout为CN自动剔除的时间,单位是秒,默认值600秒,设置为0表示关闭CN自动剔除功能,设置为大于0的数字,表示开启此功能。
- 如果开启此功能,用户可根据自己实际场景和需求确定剔除时间,推荐设置600秒(10分钟)及以上,服务器重启等情况下,集群各个实例通常可以在10分钟内恢复完成,此时不应该剔除CN,如果设置时间过小,可能导致CN被剔除。
其他相关操作
实例替换修复CN命令gs_replace -t config -h hostname gs_replace -t start -h hostname
hostname是故障CN所在主机的主机名称。
查看更多:华为GaussDB 200 实例故障处理
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。