在GBase 8a的早期版本,比如8.6.2Build20系列,当出现磁盘空间满时,有可能导致各种奇怪的现象,报错corosync无法启动,gbased服务启动。本文介绍一种gbased无法启动的案例。该案例在新版本集群里已经自动处理。
参考
现象
数据磁盘空间满(根没有满),客户在手工删除一部分文件腾出空间后,重启数据库服务,gbased无法成功。
分析
查看gnode的system.log发现只有宕机的信息 fatal segnal 11

看现象,数据库服务刚启动就自动退出了。
查看文件系统,没有问题,只是磁盘空间满了,已经清理了空间。

查看 gnode/userdata/gbase目录,发现了如下的.state文件

解决
删除该state文件,启动成功。
该问题是在集群在做一些变动操作时,需要记录一些当前信息,如果期间宕机,下次启动时会尝试恢复。而磁盘空间满导致该文件长度为0,下次启动时报错退出。
在后续新版本(大约2018年以后)里已经增加了判断,不会再宕机。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。