Nebula支持多副本机制,可以用来在集群中应对某个节点的磁盘损坏导致副本数据丢失的问题。
Nebula是如何检测副本数据丢失的,是定时检测所有副本的状态还是需要通过一些命令触发?
以下是一些验证过程,请各路大神帮忙解答下:
1、3个节点部署nebula集群(为node1,node2,node3),创建图空间为3副本方式,并插入部分数据
2、执行leader和data balance后正常执行查询等操作
3、手工在node3节点上将将图空间数据删除,如下图所示
4、接下来大概10-20分钟时间leader的分布会发生变化
删除前leader会均匀一些,如下图:
10-20分钟后,如下图:
5、以上在node3上没有自动恢复删除的图空间文件(名称为27的文件夹)
6、执行SUBMIT JOB FLUSH;命令,会出现node3节点失败
7、失败后,大概3分钟内就会在node3节点上将删除的27图空间数据副本恢复。如下图27文件夹图空间副本自动恢复

因此,想了解下nebulagraph在副本数据丢失或损坏时,检测机制、检测时间和恢复机制大致是怎样的?