当 2 个 bricks 中的 1 个离线时,glusterfs 挂载将被卸载

当 2 个 bricks 中的 1 个离线时,glusterfs 挂载将被卸载

我遇到过一个奇怪的情况,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 认为该卷是条带化的。尝试删除该卷并在不使用“条带化”选项的情况下重新创建它。

相关内容