有没有测试过,整个TiDB集群使用的服务器。集体断电这种故障场景。TiDB集群还能正常起来不?
可以搜索 chaos mesh;
之前有了解过,tidb每个版本都会在其自有混沌集群内验证
1 个赞
谢谢。因为前几天,我们有个机房突然断电。ceph集群丢失了少许数据。所以就想到了tidb在这种情况下会怎样?
你说的整个集群突然断电的情况没测试过,不过就算出问题也有解决方法。毕竟只要三个组件:tidb,tikv,pd都正常就能正常使用。而tikv和pd都有故障恢复的方案。
我在poc的时候测试过给某个tidb和tikv断网和断电,都问题不大。
1 个赞
大佬,有环境测试下哈。直接跳闸。
没办法这么测试
这中测试,很难搞哟,除非本地搞几个测试服务器。然后直接关电源。
我们在用户那边的机房,过等保装修,就直接给断电了,接电后集群自动启动。没有出现异常。
断电有可能导致数据损坏,但是高可用情况下,一起坏的几率太低了。我测过100多次,没出现过。
建议搭建几台虚机加1-2台物理机进行模拟测试一下。
1 个赞
测试过一台断电,是不会有问题的
tidb部署在一个机房,整体断电要不丢数据,这个看运气。
但你要说整体断电一次,在硬件没坏的情况下,要tidb彻底起不来,我觉得不太可能。
unsafe recover之后总归是能起来的。
其实我觉得这个才是分布式数据库最大的问题:
1,各个组件放到同一个机房,效率高。无法实现跨地域的高可用。
2,放到跨地域的机房,效率低,甚至可能会出现脑裂等问题。
我一直觉得任何解决方案没有完美的,只有适合的。
1 个赞
这种测试用虚拟机或者实体机自己测试吧,生产环境不可能去测试的。
可以起来,还好