我尝试使用以下命令在我的 3 节点集群中创建复制卷:
sudo gluster volume create \
replicatedStorage \
replica 2 \
transport tcp \
gluster1.mydomain.com:/data \
gluster2.mydomain.com:/data \
gluster3.mydomain.com:/data
我收到此错误信息:
number of bricks is not a multiple of replica count
从阅读在线文档,听起来好像必须始终具有偶数个节点才能进行复制,并且如果要复制两次,则必须有 4 的倍数?
下面的图表不可能每个颜色代表一个文件吗?
答案1
副本 2 表示对于每个文件,它将保留两个副本。您不能使用 3 个节点,因为客户端应该始终知道文件应该在哪里。
作为一种解决方法,如果您有兴趣使用带有副本 2 的第三个节点,则可以在不同的节点对上创建带有副本 2 的多个卷。
或者您可以使用副本 3,并获得更好的容错能力。
答案2
您不能在奇数个驱动程序上使用副本,但可以使用分散:
gluster volume create cache disperse 3 redundancy 1 transport tcp gluster{1...3}.mydomain.com:/data
它会将您的文件切成几部分,每部分有 2 个副本(因为冗余度为 1),因此在 3 个磁盘中将会丢失 1 个磁盘。
文档说在相同配置下它的性能应该比副本更差。