接口更改后,nfs 客户端重新连接

接口更改后,nfs 客户端重新连接

我的笔记本电脑上有 nfs 客户端,它通过 nfs 从本地服务器挂载了几个分区。一切正常,但在从 wifi 切换到 utp 接口时遇到了问题,反之亦然。因此,当我使用 utp 然后将其拔出并连接到 wifi 网络时,nfs 分区变得无法访问,也无法重新挂载。当我发出挂载命令时,它只是挂在那里。如果我重新启动笔记本电脑,它会毫无问题地挂载 nfs。我不知道为什么需要重新启动,但它解决了这个问题。所以,我正在寻找一种无需重新启动即可完成此操作的方法。

谢谢

答案1

首先解决无法重新挂载分区的问题。

尝试

umount -f -l /mnt/myfolder

这样就可以解决问题。

-f – 强制卸载(在无法访问 NFS 系统的情况下)。

-l – 延迟卸载。立即将文件系统从文件系统层次结构中分离出来,并在文件系统不再繁忙时清除对文件系统的所有引用。

成功后umount您将能够再次挂载。

现在我们可以编写一些脚本来根据网络接口状态自动重新挂载。/etc/network/if-up.d/如果特定接口启动时您不想采取行动,您可以使用它。

使脚本被调用并具有执行权限 755

sudo nano /etc/network/if-up.d/script

# Check for specific interface if desired
[ "$IFACE" != "wlan0" ] || exit 0
# Do something
sudo umount -f -l /mnt/myfolder
# then call your code to mounting `nfs`
sudo mount ...

wlan0此脚本将在接口启动时执行。脚本将执行umount,之后mountnfs 还可以为eth0接口创建脚本

sudo nano /etc/network/if-up.d/script2

# Check for specific interface if desired
[ "$IFACE" != "eth0" ] || exit 0
# Do something
sudo umount -f -l /mnt/myfolder
# then call your code to mounting `nfs`
sudo mount ...

答案2

用于自动重新连接noresvport

在客户端使用noresvport

sudo mount -t nfs [2b01:7f8:1a:f243::a]:/data/ /data/ -o noresvport

在服务器上使用insecure

/data/ 2831:650:5b00:9232::9(rw,sync,no_subtree_check,no_root_squash,insecure)

相关内容