温馨提示×

怎么挂载NFS共享

小樊
38
2026-07-18 03:37:29
栏目: 编程语言

挂载 NFS(Network File System)共享一般分为 服务端配置客户端挂载 两部分。下面以 Linux(CentOS / Rocky / Alma / Ubuntu / Debian) 为例说明。


一、服务端配置(提供 NFS 共享)

1. 安装 NFS 服务

# CentOS / Rocky / Alma
yum install -y nfs-utils

# Ubuntu / Debian
apt update
apt install -y nfs-kernel-server

2. 创建共享目录

mkdir -p /data/nfs
chmod 755 /data/nfs

3. 配置 NFS 共享

编辑 /etc/exports

vim /etc/exports

示例配置:

/data/nfs 192.168.1.0/24(rw,sync,no_root_squash)

常用参数说明:

  • rw:读写
  • ro:只读
  • sync:同步写入
  • async:异步(性能高但不安全)
  • no_root_squash:客户端 root 保留 root 权限(谨慎使用)
  • root_squash:客户端 root 映射为 nfsnobody(更安全)

4. 启动并设置开机自启

# CentOS / Rocky
systemctl enable nfs-server
systemctl start nfs-server

# Ubuntu
systemctl enable nfs-kernel-server
systemctl start nfs-kernel-server

5. 重新加载配置

exportfs -r

二、客户端挂载 NFS

1. 安装 NFS 客户端

# CentOS / Rocky
yum install -y nfs-utils

# Ubuntu / Debian
apt install -y nfs-common

2. 创建挂载点

mkdir -p /mnt/nfs

3. 手动挂载

mount -t nfs 192.168.1.10:/data/nfs /mnt/nfs

如果是 NFSv3:

mount -t nfs -o vers=3 192.168.1.10:/data/nfs /mnt/nfs

如果是 NFSv4:

mount -t nfs4 192.168.1.10:/data/nfs /mnt/nfs

4. 验证

df -h | grep nfs

三、开机自动挂载(推荐)

编辑 /etc/fstab

192.168.1.10:/data/nfs  /mnt/nfs  nfs  defaults,_netdev  0  0

_netdev 表示等网络启动后再挂载,避免开机失败。

测试:

mount -a

四、常见问题排查

1. 查看服务端共享

showmount -e 192.168.1.10

2. 端口与防火墙

# NFS 依赖 rpcbind
systemctl enable rpcbind
systemctl start rpcbind

防火墙放行(CentOS):

firewall-cmd --add-service=nfs --permanent
firewall-cmd --add-service=mountd --permanent
firewall-cmd --add-service=rpc-bind --permanent
firewall-cmd --reload

3. 权限问题

  • 客户端与服务端 UID/GID 一致
  • 或使用 no_root_squash

五、简单总结

服务端:
  安装 nfs-utils
  编辑 /etc/exports
  启动 nfs-server

客户端:
  安装 nfs-utils / nfs-common
  mount -t nfs 服务端IP:/目录 /本地目录

如果你告诉我 具体系统版本(如 CentOS 7 / Rocky 9 / Ubuntu 22.04)是 Docker / K8s / 虚拟机环境,我可以给你更精确的配置示例。

0