南大通用GBase 8a集群报错GC_AIS_ERR_CLUSTER_LOCKED的原因

GBase 8a要求管理节点(corosync/gcware)必须超过一半的节点可用,注意超过一半,不包括一半。如果不满足要求,则会报这个错误GC_AIS_ERR_CLUSTER_LOCKED。

如果是集群分裂导致的,比如9个节点分裂成2+7, 那么连接7个节点时,依然可用,因为7超过了9的一半。如果连接的是2个节点部分,则报错。这部分集群节点处于锁住状态。

解决方法

查看gcware/corosync服务不可用的原因,包括OFFLINE 服务不了连接或超时, CLOSE, 服务关闭。 一般检查下

  • 防火墙、selinux是否关闭
  • 服务器磁盘是否满了,包括根目录, df 和 df -i 分别看容量和inode
  • 内存是否不足,操作系统日志/var/log/messages 里出现 can not allocate memory之类的
  • 查看服务日志, 服务日志位置看这里 GBase 8a集群日志所在目录位置