变又未变
(变又未变)
1
为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【概述】:场景 + 问题概述
【背景】:做过哪些操作
【现象】:业务和数据库现象
【问题】:当前遇到的问题
【业务影响】:
【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 个赞
Lucien
( Lucien)
2
会设置一个比这个 ID 大的点开始;
不会丢失数据,ID 选择参考一下之前我们提供的 SOP ;
是的,恢复之前的状态,保证集群的可用性。
Kongdom
(Kongdom)
4
如果对您有用,请记得勾选 对我有用,方便其他伙伴快速定位到解决方案,感谢
1 个赞
变又未变
(变又未变)
5
对了,突然想到,延申一下:是的,恢复之前的状态,保证集群的可用性,这个向我的第二个问题里的:就是恢复到损坏之前的pd1和pd2中数据继续往pd3中同步,保持数据一致性,是吧?
Lucien
( Lucien)
6
已经使用 pd recover 相当于 PD 集群重建,重建以后,其他的 PD 节点需要重新按照扩容方式加进去。所以数据一致性的保持,是以 PD recover 恢复的 PD 节点的数据为主,会通过 PD log 和 TiKV 重新拉取新的数据。
变又未变
(变又未变)
7
嗯,好的,这个情况:pd1(leader),pd2和pd3是follower,pd1和pd2的数据已经同步了,pd3的数据还没有同步完,现在pd1和pd2挂了,集群不可以使用了。
此处恢复时,找的最大的以分配的ID,实际上就是这里的pd1(leader)里面的最新内容,这个恢复也是以pd1上的数据为主,这样其实保证了
1、恢复到集群损坏时的最新状态,数据不丢失;2、节点之间的保持一致性
是吧?
Lucien
( Lucien)
8
嗯,如果 PD recover 可以恢复 PD 集群,是的 。
system
(system)
关闭
10
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。