知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

Linux虚拟机文件系统突然变成只读

发布时间:2014-09-05 13:23:34作者:知识屋

虚拟机Linux在svn checkout代码过程中出现错误,“/”文件系统突然变成只读,dmsg可以看到内核出现IO错误。重启虚拟机表示磁盘错误,用命令“fsck / -y”修复磁盘错误。这种情况出现过几次,有时修复磁盘之后可以继续启动,后来干脆就无法启动了。

重新安装虚拟机并checkout代码,也很容易出现这个问题。宿主系统运行任务比较多,系统比较慢。有一次svn checkout出错,在宿主系统(Ubuntu)用iotop看进程IO状况,发现updatedb.mlocate写入速度很大,达到10M/s以上。

这个页面解析了原因:High I/O causing filesystem corruption

当宿主系统和虚拟机的IO都比较繁忙时,虚拟机的IO请求得不到及时的响应。虚拟机Linux不知道自己运行在虚拟机里面,会认为是磁盘IO错误,为了保护磁盘数据会remount分区为只读。

解决方法见上面的链接,不过都比较高级(使用直接IO、修改内核参数、使用LVM分区等)。

简单解决办法:

1) 不要在宿主系统和虚拟机同时运行高IO任务(别以为你的i7电脑很厉害);

2) 备份虚拟机(复制vmdk文件或使用VirtualBox快照),就算出错了也容易恢复。
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜