我遇到过一个奇怪的情况,2 个复制的 glusterfs 块中的 1 个会脱机,并会连带关闭所有客户端安装。据我所知,这种情况不应该发生。它应该故障转移到仍处于联机状态的块,但事实并非如此。我怀疑这是由于配置问题造成的。
以下是该系统的描述:
- 专用硬件上的 2 个 gluster 服务器(gfs0、gfs1)
- vms 上的 8 个客户端服务器 (client1、client2、client3、...、client8)
一半的客户端服务器以 gfs0 作为主服务器挂载,另一半则指向 gfs1。每个客户端都使用 /etc/fstab 中的以下条目挂载:
/etc/glusterfs/datavol.vol /data glusterfs defaults 0 0
以下是 /etc/glusterfs/datavol.vol 的内容:
volume datavol-client-0
type protocol/client
option transport-type tcp
option remote-subvolume /data/datavol
option remote-host gfs0
end-volume
volume datavol-client-1
type protocol/client
option transport-type tcp
option remote-subvolume /data/datavol
option remote-host gfs1
end-volume
volume datavol-replicate-0
type cluster/replicate
subvolumes datavol-client-0 datavol-client-1
end-volume
volume datavol-dht
type cluster/distribute
subvolumes datavol-replicate-0
end-volume
volume datavol-write-behind
type performance/write-behind
subvolumes datavol-dht
end-volume
volume datavol-read-ahead
type performance/read-ahead
subvolumes datavol-write-behind
end-volume
volume datavol-io-cache
type performance/io-cache
subvolumes datavol-read-ahead
end-volume
volume datavol-quick-read
type performance/quick-read
subvolumes datavol-io-cache
end-volume
volume datavol-md-cache
type performance/md-cache
subvolumes datavol-quick-read
end-volume
volume datavol
type debug/io-stats
option count-fop-hits on
option latency-measurement on
subvolumes datavol-md-cache
end-volume
上述配置是使其正常运行的最新尝试。我还尝试在 /etc/fstab 中添加以下条目:
gfs0:/datavol /data glusterfs defaults,backupvolfile-server=gfs1 0 0
这是一半客户的条目,而另一半客户则有:
gfs1:/datavol /data glusterfs defaults,backupvolfile-server=gfs0 0 0
结果与上述配置完全相同。两种配置都可以很好地连接一切,只是没有故障转移。
任何帮助,将不胜感激。
答案1
您的配置中似乎有一个“群集/分布”块,我认为这会导致 Gluster 认为该卷是条带化的。尝试删除该卷并在不使用“条带化”选项的情况下重新创建它。