一次断电故障引起 TiDB 无法启动的问题带来的几点思考
作者: xuexiaogang 原文来源:https://tidb.net/blog/6d1d1dd6
两个主要的组件没起来,连不上正常。想到了估计是上周的问题导致,第一感觉由于平时没有读写。这种情况下理论上即使断电也不影响影响。
其他组件启动成功,但是 tikv 和 tidb 两个组件没启动。我第一想法是整体关闭再重启一下。
非常吃惊,ssh 的密码过期,无法启动。如果不是因为这次断电重启一直不会报这个错。恰巧重启验证账户。留给大家一个经验,tidb 所在的机器不要给账户设置过期密码,否则就是给自己挖坑。
再请管理虚拟化的同事帮忙恢复密码。现在问题是这样的,tikv 和 tidb 依旧无法启动。由于启动顺序是先 tikv 所以 tikv 不成功,tidb 也无从谈起。
根据提示看日志。
这个是操作系统的错误码。经过查看具体情况是这样。OS 层面的这个第一次遇见,其实没有方向。
经过查找资料发现这种多数都是由于断电导致。这里就带来我的第二个思考。虚拟机这种多了一层,出了问题增加排障难度。tidb 虽然是多节点,但是我觉得 tikv 等这些主要的,还是物理机部署比较好。
我尝试进行修复,但是发现无法修复。即使我把全部集群停止,都无法修复。可能有人遇到过类似的问题,但是我实际上无法参考那些帖子处理。
最后采用重建解决。好在 tidb 的全局管理做的非常好。重建只需要两个命令。
总结一下:
1、我个人觉得 tidb 的 tikv 和 tidb、tiflash 最好物理机部署。按照官方多节点,一个节点出问题不至于全局。
2、千万不要设置密码过期,否则一旦过期重启会有不必要的麻烦。
3、虚拟机静态节点断电不代表没有风险。
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/07630cc84db4b97c147c25e3e】。文章转载请联系作者。
评论