挂载 NFS(Network File System)共享一般分为 服务端配置 和 客户端挂载 两部分。下面以 Linux(CentOS / Rocky / Alma / Ubuntu / Debian) 为例说明。
# CentOS / Rocky / Alma
yum install -y nfs-utils
# Ubuntu / Debian
apt update
apt install -y nfs-kernel-server
mkdir -p /data/nfs
chmod 755 /data/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(更安全)# CentOS / Rocky
systemctl enable nfs-server
systemctl start nfs-server
# Ubuntu
systemctl enable nfs-kernel-server
systemctl start nfs-kernel-server
exportfs -r
# CentOS / Rocky
yum install -y nfs-utils
# Ubuntu / Debian
apt install -y nfs-common
mkdir -p /mnt/nfs
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
df -h | grep nfs
编辑 /etc/fstab:
192.168.1.10:/data/nfs /mnt/nfs nfs defaults,_netdev 0 0
_netdev表示等网络启动后再挂载,避免开机失败。
测试:
mount -a
showmount -e 192.168.1.10
# 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
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 / 虚拟机环境,我可以给你更精确的配置示例。