Skip to content

Linux NFS 配置指南

一、服务器端配置

1. 安装 NFS 服务

在 Ubuntu 系统中,可以通过以下命令安装 NFS 服务:

sudo apt-get update
sudo apt-get install nfs-kernel-server

2. 创建共享目录

创建一个目录用于共享,并设置适当的权限:

sudo mkdir -p /home/nfs/share
sudo chmod 777 /home/nfs/share

3. 配置 NFS

编辑 NFS 配置文件 /etc/exports,添加共享目录的配置:

sudo nano /etc/exports

在文件中添加以下内容:

/home/nfs/share 192.168.0.0/24(rw,sync,no_subtree_check)
  • rw:允许读写。
  • sync:数据同步写入内存和硬盘。
  • no_subtree_check:不检查父目录权限。

4. 使配置生效

运行以下命令使配置文件生效:

sudo exportfs -a

5. 重启 NFS 服务

重启 NFS 服务以应用更改:

sudo systemctl restart nfs-kernel-server

二、客户端配置

1. 安装 NFS 客户端

在客户端机器上安装 NFS 客户端:

sudo apt-get update
sudo apt-get install nfs-common

2. 创建挂载点

创建一个目录用于挂载 NFS 共享:

sudo mkdir -p /mnt/nfs/share

3. 挂载 NFS 共享

将 NFS 共享挂载到本地目录:

sudo mount -t nfs 192.168.0.100:/home/nfs/share /mnt/nfs/share

4. 查看挂载状态

查看挂载状态以确认挂载成功:

df -h

三、自动挂载配置

1. 编辑 /etc/fstab 文件

为了使 NFS 共享在系统重启后自动挂载,可以将挂载信息添加到 /etc/fstab 文件中:

sudo nano /etc/fstab

在文件中添加以下内容:

192.168.0.100:/home/nfs/share /mnt/nfs/share nfs defaults,noatime,nolock,bg,nfsvers=4,intr,tcp,actimeo=1800 0 0

2. 测试自动挂载

重启系统以测试自动挂载是否成功:

sudo reboot

四、常见问题与解决方法

1. 无法挂载 NFS 共享

  • 可能原因:防火墙阻止了 NFS 流量。
  • 解决方法:关闭防火墙或允许 NFS 所需的端口。
sudo ufw allow 2049
sudo ufw allow 111
sudo ufw allow 892
sudo ufw allow 100000

2. 挂载后无法写入文件

  • 可能原因:权限设置不正确。
  • 解决方法:确保共享目录的权限正确,并在 NFS 配置中启用 no_root_squash

3. 卸载 NFS 共享时提示设备忙

  • 可能原因:有进程正在使用该挂载点。
  • 解决方法:使用 fuser 命令查找并终止占用进程。
sudo fuser -m -k /mnt/nfs/share
sudo umount /mnt/nfs/share

4. 开机自动挂载失败

  • 可能原因:网络服务未完全启动。
  • 解决方法:使用 autofs 或在 /etc/rc.local 中添加挂载命令并添加延迟。
sudo nano /etc/rc.local

在文件中添加:

sleep 10
mount -t nfs 192.168.0.100:/home/nfs/share /mnt/nfs/share

通过以上步骤,您可以在 Ubuntu 上成功配置 NFS 服务器和客户端,并实现文件共享。

Ref

https://blog.csdn.net/weixin_39531549/article/details/89256155 https://blog.csdn.net/leenhem/article/details/122236068 https://blog.csdn.net/zhongbeida_xue/article/details/81112529 https://blog.csdn.net/hnjb5873/article/details/108509432 https://www.cnblogs.com/Super-why/p/15606813.html