长话短说以不影响(即冻结)剩余集群的方式重新启动 gluster 节点(包含复制的砖块)的最佳/最简单方法是什么?
更长的故事:
我正在 N 路复制设置中配置 gluster,其中每个节点都包含一个包含所有共享数据的镜像块,在运行 glusterfs 3.8.8 打包版本的最新 Debian 9.4 系统上。
在测试节点重新启动时发生的情况时,我看到整个集群阻塞读/写访问 42 秒,有效地冻结了这段时间内接触共享的任何内容。通过设置较低的值可以轻松地将其减少到几秒钟network.ping-timeout
,但我们仍然保持明显的冻结。
在重新启动之前杀死运行相关砖块的 glusterfsd 可以防止冻结。日志文件显示 glusterfsd 实际上是在重新启动期间被杀死的,但只有在网络断开后才会被杀死,因此它无法通知其他砖块,必须使用 ping 超时来发现它已经消失。
正在手工制作一个服务文件来执行killall
(如建议的那样)https://bugzilla.redhat.com/show_bug.cgi?id=1022542#c4)真的要走这里吗?我希望我错过了一些东西。