GBase 8a数据库集群提供了gcadmin的管理命令来获得集群当前状态,如果返回报错信息GC_AIS_ERR_NOT_EXIST,目前已知是数据库服务不是通过gcware启动,而是cocosync启动导致的。
目录导航
样例截图
现象
如下是一个报 GC_AIS_ERR_NOT_EXIST 的错误样例
[root@862b43 ~]# gcadmin
[gcadmin] Could not initialize CRM instance error: [12]->[GC_AIS_ERR_NOT_EXIST]
原因
服务不是由service gcware启动的,而是service corosync启动的。该问题只出现在V9版本里。V95已经没有使用私有dba用户,没有这个service了。
其次,在corosync进程存在的前提下,执行
pmap `pidof corosync` |grep -E "gcware_clm.lcrso|gcware_crm.lcrso|gcware_lck.lcrso|gcwserviceenable.lcrso"
查看corosync加载的动态链接库中是否包含gcware_clm.lcrso、gcware_crm.lcrso、gcware_lck.lcrso和gcwserviceenable.lcrso等动态库,如所示。如果corosync不包含上面提到的动态链接库,可能是通过service corosync start启动的corosync进程,包含则是正常的。
[root@862b43 ~]# gcadmin
[gcadmin] Could not initialize CRM instance error: [12]->[GC_AIS_ERR_NOT_EXIST]
[root@862b43 ~]# pmap `pidof corosync` |grep -E "gcware_clm.lcrso|gcware_crm.lcrso|gcware_lck.lcrso|gcwserviceenable.lcrso"
[root@862b43 ~]#
[root@862b43 ~]# service gcware start
Starting GCWARE (gcwexec): [ OK ]
Starting GBASED : [ OK ]
Starting GCSYNC : [ OK ]
Starting GCLUSTERD : [ OK ]
Starting GCRECOVER : [ OK ]
Starting GCMonit success!
[root@862b43 ~]#
[root@862b43 ~]# pmap `pidof corosync` |grep -E "gcware_clm.lcrso|gcware_crm.lcrso|gcware_lck.lcrso|gcwserviceenable.lcrso"
00007fc7c2621000 352K r-x-- gcware_clm.lcrso
00007fc7c2679000 2044K ----- gcware_clm.lcrso
00007fc7c2878000 4K r---- gcware_clm.lcrso
00007fc7c2879000 4K rw--- gcware_clm.lcrso
00007fc7c2e0b000 540K r-x-- gcware_crm.lcrso
00007fc7c2e92000 2044K ----- gcware_crm.lcrso
00007fc7c3091000 4K r---- gcware_crm.lcrso
00007fc7c3092000 8K rw--- gcware_crm.lcrso
00007fc7c3095000 464K r-x-- gcware_lck.lcrso
00007fc7c3109000 2044K ----- gcware_lck.lcrso
00007fc7c3308000 4K r---- gcware_lck.lcrso
00007fc7c3309000 8K rw--- gcware_lck.lcrso
00007fc7c4875000 176K r-x-- gcwserviceenable.lcrso
00007fc7c48a1000 2048K ----- gcwserviceenable.lcrso
00007fc7c4aa1000 4K r---- gcwserviceenable.lcrso
00007fc7c4aa2000 4K rw--- gcwserviceenable.lcrso
解决方案
如上样例所示,将corosync服务停掉,然后用service gcware start启动集群。
其它gcadmin报错信息,请参考