TiDB集群可靠性测试

有没有测试过,整个TiDB集群使用的服务器。集体断电这种故障场景。TiDB集群还能正常起来不?

:upside_down_face: 可以搜索 chaos mesh;

之前有了解过,tidb每个版本都会在其自有混沌集群内验证

1 个赞

谢谢。因为前几天,我们有个机房突然断电。ceph集群丢失了少许数据。所以就想到了tidb在这种情况下会怎样?

你说的整个集群突然断电的情况没测试过,不过就算出问题也有解决方法。毕竟只要三个组件:tidb,tikv,pd都正常就能正常使用。而tikv和pd都有故障恢复的方案。
我在poc的时候测试过给某个tidb和tikv断网和断电,都问题不大。

1 个赞

大佬,有环境测试下哈。直接跳闸。 :muscle:

:rofl: 没办法这么测试

这中测试,很难搞哟,除非本地搞几个测试服务器。然后直接关电源。

我们在用户那边的机房,过等保装修,就直接给断电了,接电后集群自动启动。没有出现异常。

断电有可能导致数据损坏,但是高可用情况下,一起坏的几率太低了。我测过100多次,没出现过。

建议搭建几台虚机加1-2台物理机进行模拟测试一下。

1 个赞

测试过一台断电,是不会有问题的

tidb部署在一个机房,整体断电要不丢数据,这个看运气。

但你要说整体断电一次,在硬件没坏的情况下,要tidb彻底起不来,我觉得不太可能。

unsafe recover之后总归是能起来的。

其实我觉得这个才是分布式数据库最大的问题:
1,各个组件放到同一个机房,效率高。无法实现跨地域的高可用。
2,放到跨地域的机房,效率低,甚至可能会出现脑裂等问题。

我一直觉得任何解决方案没有完美的,只有适合的。

1 个赞

这种测试用虚拟机或者实体机自己测试吧,生产环境不可能去测试的。

可以起来,还好