Linux VM 的磁盘变为只读 = 除了重新启动之外别无选择?

Linux VM 的磁盘变为只读 = 除了重新启动之外别无选择?

我在 VMware + SAN 上有多个 Linux 虚拟机。

发生了什么

SAN 上出现问题(故障路径),因此一段时间内 Linux VM 驱动器上出现 I/O 错误。当路径故障转移完成时,为时已晚:每台 Linux 机器都认为其大部分驱动器不再“值得信赖”,并将它们设置为只读设备。根文件系统的驱动器也受到影响。

我尝试过的

  • mount -o rw,remount /没有成功,
  • echo running > /sys/block/sda/device/state没有成功,
  • 苦苦/sys寻找解决办法却没有成功。

我可能没有尝试过什么

  • blockdev --setrw /dev/sda

最后...

我必须重新启动所有 Linux 虚拟机。 Windows VM 很好...

来自 VMware 的更多信息...

问题已描述这里。 VMware 建议将 Linux scsi 超时增加到防止这个问题的发生。

问题来了!

然而,当问题出现时最终发生,有没有办法让驱动器恢复到读写模式?(一旦 SAN 恢复正常)

答案1

我们在这里遇到过几次这个问题,通常是由于网络长时间宕机造成的。问题不在于文件系统是只读的,而在于磁盘设备本身被标记为只读。除了重新启动之外,没有其他选择。增加 scsi 超时将适用于暂时性故障,例如路径故障转移。对于 15 分钟的网络中断,效果不佳。

答案2

来自以下人mount

   errors={continue|remount-ro|panic}
              Define the behavior  when  an  error  is  encountered.   (Either
              ignore  errors  and  just mark the filesystem erroneous and con‐
              tinue, or remount the filesystem read-only, or  panic  and  halt
              the  system.)   The default is set in the filesystem superblock,
              and can be changed using tune2fs(8). 

因此,您应该使用该continue选项而不是remount-ro.

mount -o errors=continue
mount -o remount

答案3

我在 RHEL 系统上重新启动/重新配置连接的 SAN 时就遇到过这种情况。对我有用的是停用卷组和 LVM,然后重新激活它。

vgchange -a n /vg_group_name
lvchange -a n /lvm_group_name

然后您必须重新激活它们。

vgchange -a y /vg_group_name
lvchange -a y /lvm_group_name

然后尝试使用 重新安装所有内容mount -a

答案4

使用在我有意禁用的 NFS 数据存储上运行的测试虚拟机运行测试用例后,我没有发现任何有效的东西。这区块开发者命令不起作用,并且 vg / lv 命令确实拒绝在已安装的根/系统上工作。

此时,最好的选择似乎是errors=panic设置/etc/fstab所以虚拟机就会出现故障。

相关内容