我有一个 GlusterFS 2 节点 2 副本设置。我打算将它用作存储 VM 磁盘映像的 OpenStack 实例存储。
根据我的测试,如果虚拟机管理程序当前挂载的 GlusterFS 节点出现故障,(使用默认的 GlusterFS 设置)连接超时大约需要 45 秒,并且 Glusterfs 客户端故障转移到另一个节点。在这 45 秒内,IO 操作将挂起,从 VM 的角度来看,这意味着磁盘变得无响应。
我知道对于 Linux,如果磁盘变得无响应,一段时间后(我不确定多长时间)内核会将文件系统重新挂载为只读。
我还可以降低 GlusterFS 卷的值network.ping-timeout
,这将减少故障转移时间。
我的问题是,我应该将这个值设置多少才能使大多数操作系统能够容忍虚拟磁盘的无响应时间而没有副作用?
更准确地说,我想知道 Windows NTFS、FreeBSD UFS/ZFS 和 Linux ext4 可以容忍的磁盘无响应时间。涉及的参数有哪些?(例如,/sys/block/sda/device/timeout
在 Linux 上)
相关信息:
更新:@the-wabbit 已经回答了 Linux 和 Windows,我也想知道 FreeBSD 的案例