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集群日志所在目录位置