我有一个GlusterFS 2节点2副本设置。我计划使用它作为OpenStack实例存储,其中存储VM磁盘映像。
从我的测试来看,如果管理程序当前挂载的GlusterFS节点失败(使用默认的GlusterFS设置),则连接超时大约需要45秒,而glusterfs客户端将失败到另一个节点。在这45秒内,IO操作将挂起,从VM的角度来看,这意味着磁盘变得没有响应。
我知道对于Linux来说,如果磁盘变得没有响应能力,经过一段时间(我不确定)内核会将文件系统重新装入为只读文件系统。
我还可以降低GlusterFS卷的network.ping-timeout值,这将减少故障转移时间。
我的问题是,我应该设置多少这个值,以便大多数操作系统能够容忍虚拟磁盘的无响应时间而不会产生副作用?
更准确地说,我想知道Windows、FreeBSD UFS/ZFS和Linux ext4所能容忍的磁盘无响应时间。涉及的参数是什么?(例如,Linux上的/sys/block/sda/device/timeout )
有关资料:
更新:@wabbit已经回答了Linux和Windows的问题,我也想知道FreeBSD的情况。
发布于 2015-09-20 21:50:32
FreeBSD有geom_mountver (https://www.freebsd.org/cgi/man.cgi?gmountver),它可以用来容忍任何故障转移时间。如果您使用的是ZFS,您可能需要禁用死人计时器;如果IO在15分钟内没有完成(IIRC),它会惊慌失措。
https://serverfault.com/questions/723214
复制相似问题