问题版本:GBase 8a V8.6.2-43 R20
问题简述:在进行迁移工作的数据导入之后,启动集群所有管理节点一直不能正常启动,通过命令service gcware stop 也不能停止。
报错信息:
【gcadmin 报错】
Could not initialize CRM instance error: [6]->IGC AIS ERR TRY AGAIN]
【管理节点状态】
corosync is stopped
gclusterd is stopped
recover (pid 127432) is running..
【停止管理节点报错】/opt/gcluster/log/gcluster/system.log
Stopping GCMonit fail! Info: [gcmonit] share memory get error
Signaling GCRECOVER (gcrecover) to terminate: [ OK]
Waiting for gcrecover services to unload:
解决方案:
(1)使用root用户将/var/lib/gcware中CLUSTERSTATE以及CLUSTERSTATE.bak文件复制到其他地方。
(2)将管理节点的corosync、gbased、gclusterd、gcmmonit、gc_sync_server进程杀掉
killall -9 corosync gbased gclusterd gcmmonit gc_sync_server
若killall没有安装还可采用如下命令:
ps -ef|grep -E 'gc|coro|gbased' |grep -v grep|awk '{print $2}'|xargs kill -9
(3)检查是否所有集群服务状态为【stop】service gcware status
(4)删除/var/lib/gcware中CLUSTERSTATE以及CLUSTERSTATE.bak文件
(5)gcwexec启动集群服务
问题分析:
之前现场出现过由于异常断电或者文件系统损坏导致某一个coor节点上gcware的持久化文件损坏,引起corosync服务无法启动,这种情况可以通过从其他好的节点,拷贝一个gcware目录来解决,或者删除CLUSTERSTATE以及CLUSTERSTATE.bak文件。