在GBase 8a的早期版本,比如8.6.2Build20系列,当出现磁盘空间满时,有可能导致各种奇怪的现象,报错corosync无法启动,gbased服务启动。本文介绍一种gbased无法启动的案例。该案例在新版本集群里已经自动处理。
目录导航
参考
现象
数据磁盘空间满(根没有满),客户在手工删除一部分文件腾出空间后,重启数据库服务,gbased无法成功。
分析
查看gnode的system.log发现只有宕机的信息 fatal segnal 11
看现象,数据库服务刚启动就自动退出了。
查看文件系统,没有问题,只是磁盘空间满了,已经清理了空间。
查看 gnode/userdata/gbase目录,发现了如下的.state文件
解决
删除该state文件,启动成功。
该问题是在集群在做一些变动操作时,需要记录一些当前信息,如果期间宕机,下次启动时会尝试恢复。而磁盘空间满导致该文件长度为0,下次启动时报错退出。
在后续新版本(大约2018年以后)里已经增加了判断,不会再宕机。