![共享主机上的文件系统以只读方式挂载](https://linux22.com/image/542181/%E5%85%B1%E4%BA%AB%E4%B8%BB%E6%9C%BA%E4%B8%8A%E7%9A%84%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%BB%A5%E5%8F%AA%E8%AF%BB%E6%96%B9%E5%BC%8F%E6%8C%82%E8%BD%BD.png)
最近在一台共享主机上,包含我的主文件夹的文件系统以只读方式挂载了 45 分钟到 1 小时。技术支持人员不知道这次中断,回避了直接的问题。三天多一点的时间后,我得到了答案:
有很多解释,但大多数情况下这是由文件系统级别的服务器问题引起的。
我对这种深入的分析并不满意,因为我的正常工作环境是在 RAID1(mdadm
)上运行的,我从未遇到过这样的问题。
共享主机系统应该是 RAID1,并且我意识到了这个问题,因为每 15 分钟运行一次的 cronjob 会向我发送有关此问题的电子邮件。
我真的很想知道,作为更有经验的人,您对此有何看法。
答案1
我假设您正在谈论 ext2/ext3/ext4 文件系统上的 Linux 系统(如果您敢的话,也可以是 reiser)。
无论如何,当磁盘上生成新的文件系统时,文件系统元信息中会有一些内容来通知 Linux 主机在操作过程中文件系统出现问题时该如何处理。
据我所知,这是默认设置。默认设置告诉操作系统以只读方式重新挂载有问题的文件系统。
我在许多虚拟机上都遇到过这种情况,这让我很恼火。我所做的就是更改设置,这样如果发生严重的文件系统事件,系统就会崩溃,从而导致重新启动。
假设是 ext* 文件系统,即使在磁盘已安装时您也可以更改设置:
tune2fs -e panic /dev/sdX#
其中 sdX# 是文件系统所在的磁盘,例如 /dev/sdb3。这也适用于具有适合文件系统所在的特定 LVM 的 /dev/ 名称的 LVM 磁盘。
您必须对每个文件系统分区执行此操作,更改一个文件系统不会更改任何其他文件系统。
对我的所有 VM 文件系统进行此更改后,我非常高兴。
享受
答案2
我在以下场景中遇到过这种情况:
VMWare 服务器连接到共享存储。
- 共享存储要么离线,要么与其失去通信
- VMWare 注意到存储已离线,并将共享存储上的虚拟磁盘标记为只读
- 缺乏利润
这种事应该很少见,但确实发生了。
他们可以/应该更坦诚地告诉你原因。