Ubuntu VM“只读文件系统”修复?

Dav*_*vid 11 linux filesystems virtual-machine

我打算在 Ubuntu 服务器虚拟机上安装 VMWare 工具,但遇到了无法在 /mnt 目录中创建 cdrom 目录的问题。然后我进行了测试,看这是否只是权限问题,但我什至无法在主目录中创建文件夹。它继续声明它是一个只读文件系统。我对 Linux 有一点了解,但我对它还不满意。任何建议将不胜感激。

从评论请求信息:

username@servername :~$ mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type tmpfs (rw,mode= 0755)
在 /dev/pts 上没有类型 devpts (rw,noexec,nosuid,gid=5,mode=0620)
在 /dev/shm 上没有类型 tmpfs (rw,nosuid,nodev)
在 /var/run 上没有类型 tmpfs (rw ,nosuid,mode=0755)
无 /var/lock 类型 tmpfs (rw,noexec,nosuid,nodev)
/lib/init/rw 类型 tmpfs (rw,nosuid,mode=0755) 上没有 binfmt_misc /proc/sys/fs/binfmt_misc 类型 binfmt_misc (rw,noexec,nosuid,nodev)

确定根输出。

root@server01:~# mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type tmpfs (rw,mode= 0755)
在 /dev/pts 上没有类型 devpts (rw,noexec,nosuid,gid=5,mode=0620)
在 /dev/shm 上没有类型 tmpfs (rw,nosuid,nodev)
在 /var/run 上没有类型 tmpfs (rw ,nosuid,mode=0755)
无 /var/lock 类型 tmpfs (rw,noexec,nosuid,nodev)
/lib/init/rw 类型 tmpfs (rw,nosuid,mode=0755) 上没有 binfmt_misc /proc/sys/fs/binfmt_misc 类型 binfmt_misc (rw,noexec,nosuid,nodev)

替代文字

替代文字

小智 18

尽管这是一个相对较旧的问题,但答案仍然相同。您有一台虚拟机(在物理主机上运行)和某种存储(共享存储——FC SAN、iSCSI 存储、NFS 共享——或本地存储)。

通过虚拟化,许多虚拟机尝试同时访问相同的物理资源。由于物理限制(读/写操作的数量 - IOPS;吞吐量;延迟),可能会同时满足所有物理机的所有存储请求。通常会发生什么:您将能够在虚拟机的操作系统中看到“SCSI 重试”和失败的 SCSI 操作。如果在一段时间内出现太多错误/重试,内核会将挂载的文件系统设置为只读,以防止损坏文件系统。

长话短说:您的物理存储不够“强大”。有太多进程(虚拟机)同时访问存储系统,您的虚拟机没有足够快地从存储获得响应,文件系统变为只读。

你能做的事情并不多。显而易见的解决方案是更好/额外的存储。您还可以在 Linux 内核中修改 SCSI 超时的参数。细节描述,例如,在:

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1009465

http://www.cyberciti.biz/tips/vmware-esx-server-scsi-timeout-for-linux-guest.html

但是,这只会“推迟”您的问题,因为内核只会在文件系统设置为只读之前获得更多时间。(即,您没有解决问题的原因。)

我的经验(在 VMware 工作了几年)是这个问题只存在于 Linux 内核(我们使用的是 RHEL 和 SLES),而不存在于 Windows 服务器。此外,这个问题出现在各种存储上——FC、iSCSI、本地存储。对我们来说,我们虚拟基础架构中最关键(也是最昂贵)的组件是存储。(我们现在使用具有 1 Gbps iSCSI 连接的 HP LeftHand,从那时起就没有出现任何存储问题。我们选择 LeftHand(而不是传统的 FC 解决方案)是因为它的可扩展性。