不确定它是否更适合unix 和 linux板的超级用户,请告诉我。
我们有一台服务器,它是某种大型架构的主要关键点之一。该服务器有一个未使用的备份磁盘,尽管它托管了非常旧的备份。所以我决定设置它,虽然它在开始时是一个单独的分区,但我曾经fdisk
以与主驱动器相同的方式对其进行重新分区(两者都是相同的)。
不幸的是,在重新分区后fdisk
无法让内核看到新的分区表,也不能partrobe
,blockdev
或者sfdisk
。所有人都面临着同样的问题 : BLKRRPART: Device or resource busy
,尽管使用该设备既没有lsof
也fuser
没有显示任何内容。在这里我不得不提一下,我曾经umount -l
在使用之前强制卸载fdisk
(是的,现在看起来很愚蠢,我应该更仔细地阅读文档)。
后来我发现 NFS 正在共享驱动器的一个目录,这就是它没有出现的原因lsof
——fuser
不要问我谁有使用旧备份驱动器中的目录来共享启动配置文件的愚蠢想法对于 NFS 客户端……
我无法重新启动此服务器,也不会重新启动 NFS。我读过我可以nfs-kernel-server reload
在重新加载时使用 NFS 传输/etc/exports
(如果我理解正确的话),但首先我不确定这是否有效,其次我真的不想尝试。我真的很想避免干扰正在运行的进程。
现在,如果该目录确实出现在的输出中showmount -e
(看起来与 基本相同/etc/exports
),它既不出现在showmount -a
也不出现在showmount -d
. 我想这意味着该目录未被使用,所以也许有某种方法可以强制从 NFS 卸载?
有什么建议么 ?
NFSv2 和 NFSv3 是无状态协议。这意味着,特别是在使用 UDP 时,您可以重新启动服务器而不会对连接的客户端产生任何影响。
如果你不相信你读到的内容,就很难给出建议。编辑
/etc/exports
运行nfs-kernel-server reload
当然是正解。运行它只是执行exportfs -r
,这是在不重新启动服务器的情况下更新正在运行的服务器的导出的正确方法。顺便说一句,你说:
澄清一下,不
umount -l
强制卸载。有可能您的文件系统仍处于挂载状态,或者在您运行 fdisk 时仍处于挂载状态。