Bootstrap

NFS存储基础操作

一、安装nfs客户端

Windows安装

在windows 启用和关闭Windows功能中将nfs服务和下面的nfs客户端和管理工具勾选

Linux安装

ubuntu

sudo apt update
sudo apt install nfs-common

不安装挂载的时候会报错

$ sudo mount -t nfs4 192.168.100.5:/mnt/share/nfs /mnt/nfs
mount: /mnt/nfs: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program

二、挂载

powershell挂载nfs

不需要使用管理员权限,使用管理员权限的时候会挂载在管理员账号下。

$nfsServer = "192.168.136.7"
$nfsShare = "/mnt/share/nfs"

New-PSDrive -Name "Z" -PSProvider FileSystem -Root "\\$nfsServer\$nfsShare" -Persist

 Get-PSDrive -PSProvider FileSystem # 查看
 
 remove-psdrive -Name "Z" # 移除

Linux挂载nfs

一般需要root权限,除非你的nfs server中设置了可以非root挂载

sudo mkdir -p /mnt/nfs
sudo mount -t nfs4 192.168.136.7:/mnt/share/nfs /mnt/nfs
#sudo mount -t nfs3 192.168.136.7:/mnt/share/nfs /mnt/nfs

如果您希望在系统启动时自动挂载 NFS 文件系统,可以在 /etc/fstab 文件中添加相应的条目:

server:/path /mnt/nfs nfs soft,timeo=14,intr,retrans=3,retry=3 0 0

三、nfs问题处理

nfs网络断开导致客户端卡住

原因

NFS 挂载主机在网络断开后卡住通常是由于默认的 NFS 挂载选项导致的。为了避免这种情况,可以使用特定的挂载选项来确保在 NFS 服务器不可用时主机不会卡住。

您可以在挂载 NFS 文件系统时使用以下命令和选项:
soft: 如果 NFS 请求失败,返回错误。
timeo=14: 请求超时为1.4秒(默认是0.7秒,每个单位表示0.1秒)。
intr: 允许中断 NFS 请求。
retrans=3: 请求失败后重试3次。
retry=3: 自动重试挂载3次。

sudo mount -t nfs -o soft,timeo=14,intr,retrans=3,retry=3 server:/path /mnt/nfs
解决

当 NFS 挂载因网络断开而导致系统卡住时,通常很难正常卸载该挂载点。

  1. 强制卸载 (umount -f)
  2. 使用 lazy 卸载 (umount -l)
  3. 查找并终止使用挂载点的进程
    lsof | grep /mnt/nfs
;