TIDB灾难恢复演练三部曲(下)
接上回,本次将对三副本丢失进行演练,共宕掉三台机器,先看表t_user新的region分布情况:

我们选择宕掉Tikv2135、Tikv3136和Tikv4137,从分布图可以判断有两个region会丢失三副本,一个region丢失两个副本,最后一个region丢失一个副本的情况。先检查宕机前测试表的数据状况。
同时宕掉Tikv2135、Tikv3136和Tikv4137两台机器后测试表的情况,此时出现error报错消息。
通过pd-ctl工具查看大于等于一半副本数在故障节点上的Region,并记录它们的ID,此时有三个regionID均在列表中,另外的一个region由于只丢失一个副本,并未出现在列表中。
在剩余正常的kv节点上执行停Tikv的操作。
接着,我们在所有健康的节点上停止Tikv,并在健康的节点上重新恢复两个region的副本。
尝试访问表t_user,根据regionID,确认region属于哪张表,以备后续同步数据需要。
创建空Region解决Unavailable报错,选择一个Store关闭上面的TiKV,然后执行命令。
重新修改PD的参数并尝试访问表t_user,查询出的数据量减少,至此恢复测试结束。TiDB集群中数据存储Tikv如果宕了一台机器,那么并不影响集群的运行,数据库自身会进行处理。但如果同时宕机两台,甚至3台及以上灾难情况,通过相关命令的查询以及修复,能迅速进行对应的恢复操作。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/5808.html
