共计 528 个字符,预计需要花费 2 分钟才能阅读完成。
导读 | 出现 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 快照),就算出错了也容易恢复。
正文完
星哥玩云-微信公众号
