1

我想知道在单个磁盘故障的情况下 Yugabyte 的行为是什么。具体来说:

  1. 系统管理员在处理单个磁盘故障时应该遵循什么程序?例如,是否暂时停止 TServer、更改磁盘并重新启动它会自动从其他 TServer 复制该磁盘的平板电脑?

  2. 如果在规定的时间范围内没有更换故障磁盘,TServer 是否会自动检测磁盘故障并将该磁盘上的数据传播到其他磁盘?

谢谢你。

4

1 回答 1

2

系统管理员在处理单个磁盘故障时应该遵循什么程序?例如,是否暂时停止 TServer、更改磁盘并重新启动它会自动从其他 TServer 复制该磁盘的平板电脑?

是的,以下过程有效,YugabyteDB 将识别数据丢失并重建数据:

  • 停止 tserver
  • 更换磁盘
  • 重新启动 tserver

yb-ctl如果您想了解此行为,您可以在笔记本电脑上的类似沙盒的环境中尝试此操作。设置/过程与此容错实验相同。而不是删除节点,只是stop一个节点,删除一个或多个“磁盘”(实际上只是目录)并将start节点返回。我相信默认情况下会创建两个磁盘。

yb-ctl.

PS:如果您正在做这个练习,请考虑为docs 的容错部分做出贡献,如果您有兴趣,我们很乐意为您提供帮助。

如果在规定的时间范围内没有更换故障磁盘,TServer 是否会自动检测磁盘故障并将该磁盘上的数据传播到其他磁盘?

是的,如果有足够的其他节点可以复制数据,这会自动完成。例如:

  • 在复制因子为 3 的单区域设置中:如果您从 4 个或更多节点开始,那么在一个节点失败后至少会剩下三个节点。在这种情况下,如果 tserver 停机 10 分钟,将自动启动重新复制。
  • 在复制因子为 3 的多区域设置中: YugabyteDB 将尝试为每个区域保留一份数据副本。在这种情况下,为了自动重新复制数据,一个区域需要至少有两个 tserver,这样如果一个失败,它的数据可以重新复制到另一个。因此,这意味着至少有一个 6 节点集群。
于 2020-01-27T18:02:40.180 回答