我们在 Hyper-V 系统上运行 Ubuntu 10.04 VM,
该 VM 专用于运行我们的一个 Web 应用程序。
我们已启用 Hyper-V 驱动程序,/etc/initramfs-tools/modules
如下所示:
hv_vmbus
hv_storvsc
hv_blkvsc
hv_netvsc
并像这样更新内核映像:
$ update-initramfs -u
一切都很好...直到..
今天早上我收到一个支持请求,说我们的 Web 应用程序抛出了错误 500,所以我检查了日志,但什么也没有。
然后我记得我在我们的另一台 ubuntu 服务器上看到过这个,所以我......
$ touch foo.txt
我的怀疑得到了证实:
touch: cannot touch `foo.txt': Read-only file system
为什么文件系统随机变为只读?
这只在 HV 上的 Ubuntu 中存在吗?这是 RedHat 或 Cent 上的问题吗?
答案1
你能检查一下日志吗?很可能是文件系统出错了,导致进入只读状态。
(假设您使用的是 ext3 或 ext4,就像 Ubuntu 的默认设置一样:)您可以使用errors
mount 选项调整此行为。
errors=remount-ro
是默认值;errors=continue
(保持读写权限,后果自负)和errors=panic
(停止、删除和崩溃)是您的其他选项。
答案2
这是 Hyper-V 问题,运行 Red Hat 或 Centos 的主机也会遇到同样的问题