- nebula 版本: 2.6.2
- 部署方式:分布式
- 安装方式: RPM
- 是否上生产环境:Y
- 硬件信息
- 磁盘
- CPU、内存信息
- 问题的具体描述:
集群5台机器,数据三副本,storage数据盘挂载在 /data1,/data2 ,/data3 的三个目录,其中一台机器的/data3对应的磁盘损坏了,storage无法启动,需要更换磁盘新的磁盘,请问这种情况下要如何操作。
1)磁盘恢复后,直接在该机器上启动storage服务吗?
2)/data3 更换了新的磁盘,原有该目录下的副本数据没有了,要如何恢复,要恢复的话是要执行什么命令,balance data的命令?还是说重新启动storage服务之后,什么都不用操作,集群会自动重新恢复/data3目录下的数据?
新加入的机器可以参考下面的方式:
- 保持新盘和老盘同样的拓扑结构:配置相同的路径挂载点;
- 重启 storage 服务,集群会自动同步全量数据到新的盘上;
- 检查其他节点 storage 日志中是否出现下面的信息,出现的话说明正在同步:
Space xx Part xx start send snapshot of commitLogId xxxxxx commitLogTerm x, rate limited to xxxxxxxx, batch size is xxxxxxx*
- 不是新加入的机器,只是原来机器的一块盘坏了,换新盘了,挂载目录没有变化,是直接启动坏盘对应的storage服务就可以了对吧。
2)启动后在其他的storage的log日志中没有出现
Space xx Part xx start send snapshot of commitLogId xxxxxx commitLogTerm x, rate limited to xxxxxxxx, batch size is xxxxxxx* 这种信息
换盘的磁盘中的数据也一直没有变化。
我的新加入有点歧义,就是你坏掉那个盘的替代盘,称之为新加入的机器。
拓扑结果保持一致了么?本质上它的原理和这个有点相似:nebula 迁移可以直接拷贝data目录么 你看下是不是 meta 和 graph 之类的都配置好了。
1)磁盘拓扑结构具体指什么?raid?
2)meta和graph这些都没有调整,还是和之前一样的。
3)磁盘更换后只要重启有问题磁盘的storage吗,需要重启meta服务和其他机器的storage服务吗
你看下上面的链接,就是 ip 和端口号之类的信息。
所有吧。
数据等新盘有数据同步过来,数据完成同步之后,执行下 data balance,参考文档:作业管理 - NebulaGraph Database 手册
感谢,我重启下所有服务试试,还有一个问题
在集群恢复阶段,可以继续写增量新数据吗,如果在数据恢复阶段,写入了新的数据会对集群数据准确性产生影响吗?
我理解的是不影响的,不过我觉得安全起见,还是等集群稳定了,再写新的数据吧。
此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。