强制卸载通过NFS共享的分区,但未使用

不知道是否它更适合unix和Linux主板的超级用户 ,让我知道。

我们有一台服务器,它是某种大型架构的主要关键之一。 该服务器有一个未使用的备份磁盘,虽然它托pipe了非常旧的备份。 所以我决定设置它,而在开始的时候,我使用fdisk作为主驱动器(两者都是相同的)重新分区。

不幸的是,在重新分区之后, fdisk无法设法让内核看到新的分区表,也没有partrobepartrobesfdisk 。 所有人都面临同样的问题: BLKRRPART: Device or resource busy ,虽然lsoffuser没有显示任何使用设备。 在这里我不得不提一下,我使用umount -l在使用fdisk之前强制卸载(是的,现在看起来很愚蠢,我应该仔细阅读文档)。

之后,我想到NFS正在共享驱动器的一个目录,这就是为什么它没有出现在lsoffuser – 不要问我是谁使用旧的备份驱动器中的目录来共享启动NFS客户端的configuration文件…

我无法重新启动此服务器,并且我不会重新启动NFS。 我读过我可以使用nfs-kernel-server reload来保持NFS传输,而重新加载/etc/exports (如果我理解正确),但首先我不知道这将工作,第二我真的不想尝试那。 我真的想避免干扰正在运行的进程。

现在,如果该目录确实出现在showmount -e (这看起来基本上与/etc/exports相同)的输出中,则它不会出现在showmount -ashowmount -d 。 我想这意味着目录不在使用,所以也许有一些方法来强制从NFS卸载?

有什么build议么 ?

    NFSv2和NFSv3是无状态协议。 这意味着,特别是在使用UDP时,您可以重新启动服务器,而不会对连接的客户端产生任何影响。

    我读过我可以使用nfs-kernel-server重新加载来保持NFS传输,而重新加载/ etc / exports(如果我理解正确),但首先我不知道这将工作,第二我真的不想尝试那。

    如果你不会相信你所阅读的内容,那么很难提供build议。 编辑/etc/exports和运行nfs-kernel-server reload当然是正确的解决scheme。 运行这个只需执行exportfs -r ,这是更新正在运行的服务器的导出而不重新启动它的正确方法。


    顺便说一句,你说:

    我不得不提一下,在使用fdisk之前,我使用了umount -l来强制unmount

    为了澄清, umount -l不强制卸载。 您的文件系统可能仍然挂载,或者在运行fdisk时仍然挂载。