连接中断后如何重置 NFS 客户端?

连接中断后如何重置 NFS 客户端?

我有两台设备:一台装有 Ubuntu 20.04 的笔记本电脑和一台装有 Raspberry Pi OS 的 Raspberry Pi 4。

这两者都具有相同的版本nfs-kernel-server和设置。

这两台机器都通过 NFS4 协议与另一台机器共享一些目录,有时是同时共享。

由于笨拙,我经常会打断这些连接:

  • 我经常关闭 Raspberry,却忘记卸载它在笔记本电脑上的共享
  • 当 Raspberry 访问其共享时,我的笔记本电脑要么进入睡眠状态,要么注销/重新启动

无论如何,作为客户端的两台机器都不能很好地应对这些中断;事后尝试卸载并不顺利(无休止的等待而没有任何结果),其他事情也会受到影响:我的 Ubuntu 有时会开始抱怨没有与打开.txt文件关联的应用程序(!)

问题:

我怎样才能以某种方式重置客户端上这些中断的 NFS 连接(无需重新启动)?1.) 简化卸载 2.) 允许从头开始重新安装。

细节:

nfs-common两台机器上的版本:1.3.4-2.5

所有这些挂载都是手动启动的(通过运行脚本,按需);它们都不在/etc/fstab。我没有为 mount 命令提供任何选项;它很简单:

sudo mount IP:/share /mountpoint

答案1

  • 您需要使用选项soft、、,bg可能timeo像这样:

    sudo mount -t nfs -o soft,bg,timeo=30 IP:/share /mountpoint
    

    请参见人NFS以获取信息和使用。

  • umount -f当与 NFS 共享的连接中断时,请使用如下方式刷新挂载点:

    sudo umount -f /mountpoint
    

    然后使用上面相同的选项再次挂载 NFS 共享。

    请参见卸载以获取信息和使用。

答案2

nfs 可以自动重新连接。

用于自动重新连接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)

相关内容