GBase 8a数据库集群,通过gcware服务管理一致性,当某个节点gcadmin报错时,该节点的gcluster服务将无法使用。本文通过strace gcadmin 来排查报错的原因。
目录导航
ECONNREFUSED (Connection refused)
如果corosync服务根本没启动,则会出现如下报错:
[root@localhost ~]# gcadmin
[gcadmin] Could not initialize CRM instance error: [6]->[GC_AIS_ERR_TRY_AGAIN]
跟踪发现报错信息如下,其中在连接时报拒绝Connection refused。
connect(3, {sa_family=AF_LOCAL, sun_path=@"corosync.ipc"}, 110) = -1 ECONNREFUSED (Connection refused)
close(3) = 0
close(4) = 0
munmap(0, 0) = -1 EINVAL (Invalid argument)
munmap(0, 0) = -1 EINVAL (Invalid argument)
munmap(0, 0) = -1 EINVAL (Invalid argument)
munmap(0, 0) = -1 EINVAL (Invalid argument)
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 3), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f070443b000
write(1, "[gcadmin] Could not initialize C"..., 79[gcadmin] Could not initialize CRM instance error: [6]->[GC_AIS_ERR_TRY_AGAIN]
) = 79
exit_group(-1) = ?
+++ exited with 255 +++
查看进程,确实没有。后续请根据corosync.log日志,排查服务没有启动的原因。
[root@localhost ~]# ps -ef|grep corosync
root 24122 23257 0 06:02 pts/3 00:00:00 grep --color=auto corosync
[root@localhost ~]#