写点什么

一次断电故障引起 TiDB 无法启动的问题带来的几点思考

  • 2022 年 7 月 11 日
  • 本文字数:758 字

    阅读完需:约 2 分钟

作者: xuexiaogang 原文来源:https://tidb.net/blog/6d1d1dd6


    上周测试环境一台物理机主板坏了,CPU上的稳压器有问题,然后一下子停机了。恰好我的一个单机简易集群tidb在上面。我们公司不用tidb,所以这个有且仅有这么一台练习环境给到我,只能安装简易版的。
今天我登录时候发现命令行不能登录。检查集群状态是这样的。
复制代码



两个主要的组件没起来,连不上正常。想到了估计是上周的问题导致,第一感觉由于平时没有读写。这种情况下理论上即使断电也不影响影响。


其他组件启动成功,但是 tikv 和 tidb 两个组件没启动。我第一想法是整体关闭再重启一下。



非常吃惊,ssh 的密码过期,无法启动。如果不是因为这次断电重启一直不会报这个错。恰巧重启验证账户。留给大家一个经验,tidb 所在的机器不要给账户设置过期密码,否则就是给自己挖坑。


再请管理虚拟化的同事帮忙恢复密码。现在问题是这样的,tikv 和 tidb 依旧无法启动。由于启动顺序是先 tikv 所以 tikv 不成功,tidb 也无从谈起。



根据提示看日志。



这个是操作系统的错误码。经过查看具体情况是这样。OS 层面的这个第一次遇见,其实没有方向。



经过查找资料发现这种多数都是由于断电导致。这里就带来我的第二个思考。虚拟机这种多了一层,出了问题增加排障难度。tidb 虽然是多节点,但是我觉得 tikv 等这些主要的,还是物理机部署比较好。



我尝试进行修复,但是发现无法修复。即使我把全部集群停止,都无法修复。可能有人遇到过类似的问题,但是我实际上无法参考那些帖子处理。




最后采用重建解决。好在 tidb 的全局管理做的非常好。重建只需要两个命令。




总结一下:


1、我个人觉得 tidb 的 tikv 和 tidb、tiflash 最好物理机部署。按照官方多节点,一个节点出问题不至于全局。


2、千万不要设置密码过期,否则一旦过期重启会有不必要的麻烦。


3、虚拟机静态节点断电不代表没有风险。


发布于: 刚刚阅读数: 2
用户头像

TiDB 社区官网:https://tidb.net/ 2021.12.15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
一次断电故障引起TiDB无法启动的问题带来的几点思考_管理与运维_TiDB 社区干货传送门_InfoQ写作社区