关于pd-recover恢复后后一些问题请教

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【概述】:场景 + 问题概述

【背景】:做过哪些操作

【现象】:业务和数据库现象

【问题】:当前遇到的问题

【业务影响】:

【TiDB 版本】:
V4.0.10
【附件】:

请教一个问题:使用pd-recover恢复pd集群时,

1、这一步找的这个最大以分配ID是当前pd集群中以分配的ID,以后pd-recover恢复后,会接着这个ID继续嘛?
2、是上一个问题的补充,假如有这种情况:pd1(leader),pd2和pd3是follower,pd1和pd2的数据已经同步了,pd3的数据还没有同步完,现在pd1和pd2挂了,集群不可以使用了,我现在使用pd-recover恢复的话,会不会有数据丢失:
1)比如丢失了ID分配到哪里了,恢复后,分配ID会产生混乱等
2)pd-recover是就恢复到故障前的pd1,pd2,pd3的状态吗?

1 个赞

会设置一个比这个 ID 大的点开始;

不会丢失数据,ID 选择参考一下之前我们提供的 SOP ;

是的,恢复之前的状态,保证集群的可用性。

好的,谢谢

如果对您有用,请记得勾选 对我有用,方便其他伙伴快速定位到解决方案,感谢:handshake:

1 个赞

对了,突然想到,延申一下:是的,恢复之前的状态,保证集群的可用性,这个向我的第二个问题里的:就是恢复到损坏之前的pd1和pd2中数据继续往pd3中同步,保持数据一致性,是吧?

已经使用 pd recover 相当于 PD 集群重建,重建以后,其他的 PD 节点需要重新按照扩容方式加进去。所以数据一致性的保持,是以 PD recover 恢复的 PD 节点的数据为主,会通过 PD log 和 TiKV 重新拉取新的数据。

嗯,好的,这个情况:pd1(leader),pd2和pd3是follower,pd1和pd2的数据已经同步了,pd3的数据还没有同步完,现在pd1和pd2挂了,集群不可以使用了。
此处恢复时,找的最大的以分配的ID,实际上就是这里的pd1(leader)里面的最新内容,这个恢复也是以pd1上的数据为主,这样其实保证了
1、恢复到集群损坏时的最新状态,数据不丢失;2、节点之间的保持一致性

是吧?

嗯,如果 PD recover 可以恢复 PD 集群,是的 。

ok,好的,谢谢,辛苦了:ok_hand:

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。