我正在使用两台虚拟机,运行 Ubuntu 14.04。因此,一台虚拟机是服务器,另一台是客户端。以下是我到目前为止所做的工作:
服务器虚拟机:
sudo apt-get install nfs-kernel-server
sudo nano /etc/exports
我补充道:
/home/mnt_dir *(rw,sync)
sudo chmod 777 /home/mnt_dir
service nfs-kernel-server restart
客户端虚拟机:
sudo apt-get install nfs-common
sudo mount -v -t nfs server_ip:/home/mnt_dir /home/mnt_dir
一切正常。然后我需要卸载它们,因此我在客户端虚拟机上运行以下命令:
sudo umount -l /home/mnt_dir/
为了确保我再次运行上述命令,输出消息是
umount: /home/mnt_dir: not mounted
问题是,尽管我收到了上述消息,但一台虚拟机上的更改仍然适用于另一台虚拟机,例如目录仍然挂载。为什么会发生这种情况?
编辑:我注意到,为了使 mount/umount 正常工作,我需要运行一个简单的 cd 命令。对此有什么想法吗?
答案1
我注意到,为了使 mount/umount 正常工作,我需要运行一个简单的 cd 命令。对此有什么想法吗?
如果你当前位于已挂载文件系统中的目录中并尝试卸载它,通常会收到一条错误消息,指出文件系统正忙,其结果是无法卸载。例如
$ umount: /mnt/data: device is busy
请注意文档中关于这一点的说明,unmount -l
这很重要。
当您发出cd
没有参数的命令时,它具有特殊含义(您可以在文档中查找)。
该命令的结果cd
是文件系统变得不忙并且可以卸载。