![我可以在虚拟化环境中配置 IO 防错 Linux 吗?](https://linux22.com/image/640745/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%9C%A8%E8%99%9A%E6%8B%9F%E5%8C%96%E7%8E%AF%E5%A2%83%E4%B8%AD%E9%85%8D%E7%BD%AE%20IO%20%E9%98%B2%E9%94%99%20Linux%20%E5%90%97%EF%BC%9F.png)
我相信每个在 Xen 等虚拟化环境中工作的人都遇到过某种 IO 问题,导致客户机进入只读模式。我们每年都会遇到几次同样的问题,IO 问题并不总是影响每个虚拟机。这很有趣,因为并不是每个虚拟机都有存储。
这在我心中产生了一个疑问:“我可以配置一个具有 IO 错误防护功能的 Linux 客户机吗?”
为了进行一项小研究,我查看了有问题和没有问题的 Linux 机器,发现它们的“fstab”其中一个文件有“错误=重新安装-ro”并且有一个“默认”。我相信,这是两者之间唯一的区别。
但是由于存储当时不存在,“默认”选项会损害 Linux 吗?如何构建一个 IO 错误证明 Linux,当存储不存在时不会崩溃?如果 1 分钟内没有存储并且挂载选项是“默认”,会发生什么?我应该使用除“默认”之外的其他挂载选项吗?
我猜是正在寻找相同内容的附加线程。 诺亚时代和诺迪拉时代
答案1
如果由于某种原因主机出现 I/O 错误,您真的不应该试图忽略这些错误并继续 - 这是不丢失数据的绝对基本概念。
不要摆弄虚拟机,而是创建一个后备存储不会在一年内消失几次的系统(因为我从来没有遇到过这样的事情,这是不正常的,表明你的设置存在大量问题)。
如果您有故障转移时间问题,则增加设备的超时时间应该会有所帮助,以便它在产生故障之前等待更长时间。
这必须在主机上完成:
echo 180 > /sys/block/_devicename_/device/timeout
如果您使用 IDE 磁盘模拟,在客户机上也同样如此。
您可以将此信息添加到您的udev
规则中或将其添加rc.local
以使其在重启后仍然存在。
注意:存储供应商通常建议将超时值设为 180 秒。如果这种情况每年发生多次,我还是会担心。