首页 系统相关 正文
  • 本文约1845字,阅读需9分钟
  • 121
  • 0

如何部署一台 NFS 服务器

摘要

🧱 一、NFS 环境说明 角色 示例主机名 示例IP 作用 NFS 服务器 nfs-server 192.168.10.10 共享目录 NFS 客户端 app-node1 192.168.10.20 挂载目录 🧰 二、NFS 服务器端安装与配置 1️⃣ 安装 NFS 服务 # CentOS / Rocky / openEuler yum install -y...

🧱 一、NFS 环境说明

角色 示例主机名 示例IP 作用
NFS 服务器 nfs-server 192.168.10.10 共享目录
NFS 客户端 app-node1 192.168.10.20 挂载目录

🧰 二、NFS 服务器端安装与配置

1️⃣ 安装 NFS 服务

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

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

2️⃣ 创建共享目录

mkdir -p /data/nfs-share
chmod -R 777 /data/nfs-share
chown -R nobody:nogroup /data/nfs-share  # 或者 nfsnobody:nfsnobody

3️⃣ 配置 NFS 导出文件 /etc/exports

编辑文件:

vi /etc/exports

示例内容:

/data/nfs-share 192.168.10.0/24(rw,sync,no_root_squash)

参数解释:

  • rw:可读写
  • sync:同步写入磁盘(更安全)
  • no_root_squash:允许客户端 root 用户保留 root 权限(K8s 环境必需)
  • 192.168.10.0/24:允许的网段(可换成单个IP)

4️⃣ 启动并设置开机自启

systemctl enable nfs-server --now

检查服务状态:

systemctl status nfs-server

5️⃣ 刷新配置并查看共享目录

exportfs -rav
showmount -e

输出示例:

Export list for nfs-server:
/data/nfs-share 192.168.10.0/24

💻 三、客户端挂载 NFS 共享

1️⃣ 安装 NFS 客户端工具

# CentOS / openEuler
yum install -y nfs-utils

# Ubuntu / Debian
apt install -y nfs-common

2️⃣ 创建挂载点并挂载

mkdir -p /mnt/nfs-share
mount -t nfs 192.168.10.10:/data/nfs-share /mnt/nfs-share

验证:

df -h | grep nfs

测试:

touch /mnt/nfs-share/test.txt
ls /mnt/nfs-share/

如果在服务器 /data/nfs-share/ 也能看到 test.txt,说明挂载成功 ✅


3️⃣ 开机自动挂载(可选)

编辑 /etc/fstab

192.168.10.10:/data/nfs-share /mnt/nfs-share nfs defaults 0 0

立即生效:

mount -a

🔒 四、防火墙与SELinux

如果服务端启用了防火墙:

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

如果启用了 SELinux,执行:

setsebool -P nfs_export_all_rw on

🧩 五、进阶用法(可选)

✅ 1. 查看客户端挂载情况

showmount -a

✅ 2. 取消挂载

umount /mnt/nfs-share

✅ 3. 手动刷新导出列表

exportfs -arv

🧱 六、Kubernetes 场景(如果你是为 K8s 提供存储)

可以直接把这台 NFS Server 暴露出来,创建一个 StorageClass 供 PVC 动态分配使用,例如:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: nfs-storage
provisioner: kubernetes.io/nfs
parameters:
  server: 192.168.10.10
  path: /data/nfs-share
reclaimPolicy: Retain

✅ 七、总结命令速查表

步骤 命令
安装 NFS 服务 yum install -y nfs-utils
创建目录 mkdir -p /data/nfs-share
编辑导出配置 vi /etc/exports
启动服务 systemctl enable --now nfs-server
刷新共享 exportfs -rav
客户端挂载 mount -t nfs 192.168.10.10:/data/nfs-share /mnt/nfs-share
查看导出 showmount -e
标签:linux
    评论
    友情链接