1. 首页 > Linux教程 > 正文

Linux教程FG345-NFS网络文件系统

内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。

<

风哥提示:

p>本文档介绍NFS网络文件系统的配置方法。

Part01-NFS服务器配置

1.1 安装NFS服务

# 安装NFS服务
[root@nfs-server ~]# dnf install -y nfs-utils
Updating Subscription Management repositories.
Last metadata expiration check: 0:05:23 ago on Fri Apr 4 19:00:00 2026.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
nfs-utils x86_64 1:2.5.4-15.el9 baseos 500 k

Transaction Summary
================================================================================
Install 1 Package

Total download size: 500 k
Installed size: 1.5 M
Downloading Packages:
nfs-utils-2.5.4-15.el9.x86_64.rpm 1.0 MB/s | 500 kB 00:00
——————————————————————————–
Total 1.0 MB/s | 500 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : nfs-utils-1:2.5.4-15.el9.x86_64 1/1
Running scriptlet: nfs-utils-1:2.5.4-15.el9.x86_64 1/1
Verifying : nfs-utils-1:2.5.4-15.学习交流加群风哥QQ113257174el9.x86_64 1/1

Installed:
nfs-utils-1:2.5.4-15.el9.x86_64

Complete!

# 创建共享目录
[root@nfs-server ~]# mkdir -p /data/share
[root@nfs-server ~]# chmod 777 /data/share

# 配置exports文件
[root@nfs-server ~]# cat > /etc/exports << 'EOF' /data/share 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check) /data/backup 192.168.1.0/24(ro,sync,no_subtree_check) /data/home *(rw,sync,no_subtree_check) EOF # 导出共享 [root@nfs-server ~]# exportfs -rav exporting 192.168.1.0/24:/data/backup exporting 192.168.1.0/24:/data/share exporting *:/data/home # 查看导出列表 [root@nfs-server ~]# exportfs -v /data/share 192.168.1.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash) /data/backup 192.168.1.0/24(sync,学习交流加群风哥微信: itpux-comwdelay,hide,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash) /data/home (sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)

# 启动NFS服务
[root@nfs-server ~]# systemctl enable –now nfs-server
Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /usr/lib/systemd/system/nfs-server.service.

# 验证服务状态
[root@nfs-server ~]# systemctl status nfs-server
● nfs-server.service – NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; preset: disabled)
Active: active (exited) since Fri 2026-04-04 19:05:00 CST; 10s ago
Process: 12345 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
Main PID: 12345 (code=exited, status=0/SUCCESS)

1.2 NFS配置选项说明

# NFS配置选项说明
[root@nfs-server ~]# cat > /root/nfs-options.txt << 'EOF' NFS配置选项说明 ============== 访问权限选项: - ro:只读访问 - rw:读写访问 同步选项: - sync:同步写入磁盘 - async:异步写入,性能更好但风险较高 用户映射选项: - root_squash:将root用户映射为nfsnobody - no_root_squash:不映射root用户 - all_squash:将所有用户映射为nfsnobody - anonuid=xxx:指定匿名用户UID - anongid=xxx:指定匿名用户GID 安全选项: - secure:使用1024以下端口 - insecure:使用1024以上端口 其他选项: - no_subtree_check:不检查子树 - subtree_check:检查子树(默认) - wdelay:延迟写入 - no_wdelay:立即写入 - hide:隐藏子目录 - no_hide:不隐藏子目录 示例配置: # 允许特定网段读写访问 /data/share 192.168.1.0/24(rw,sync,no_root_squash) # 只读访问 /data/backup 192.168.1.0/24(ro,sync) # 允许所有主机访问 /data/public *(rw,sync,no_subtree_check) # 多个网段不同权限 /data/project 192.168.1.0/24(rw) 192.168.2.0/24(ro) EOF

Part02-NFS客户端配置

2.1 挂载NFS共享

# 安装NFS客户端
[root@nfs-client ~]# dnf install -y nfs-utils

# 查看服务器共享
[root@nfs-client ~]# showmount -e 192.168.1.10
Export list for 192.168.1.10:
/data/home *
/data/backup 192.168.1.0/24
/data/share 192.168.1.0/24

# 创建挂载点
[root@nfs-client ~]# mkdir -p /mnt/nfs/share

# 临时挂载
[root@nfs-client ~]# mount -t nfs 192.168.1.10:/data/share /mnt/nfs/share

# 查看挂载
[root@nfs-client ~]# df -h | grep nfs
192.168.1.10:/data/share 100G 50G 50G 50% /mnt/nfs/share

# 永久挂载
[root@nfs-client ~]# echo “192.168.1.10:/data/share /mnt/nfs/share nfs defaults 0 0” >> /etc/fstab

# 挂载所有
[root@nfs-client ~]# mount -a

# 验证挂载
[root@nfs-client ~]# mount | grep nfs
192.168.1.10:/dat更多学习教程公众号风哥教程itpux_coma/share on /mnt/nfs/share type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.更多视频教程www.fgedu.net.cn20,local_lock=none,addr=192.168.1.10)

# 测试写入
[root@nfs-client ~]# echo “test” > /mnt/nfs/share/test.txt
[root@nfs-client ~]# cat /mnt/nfs/share/test.txt
test

2.2 NFS挂载选项

# 常用挂载选项
[root@nfs-client ~]# cat > /root/nfs-mount-options.txt << 'EOF' NFS挂载选项说明 ============== 性能选项: - rsize=32768:设置读块大小 - wsize=32768:设置写块大小 - hard:硬挂载,网络中断后一直重试 - soft:软挂载,网络中断后超时返回错误 - timeo=600:超时时间(单位0.1秒) - retrans=2:重试次数 - noac:禁用属性缓存 - actimeo=60:属性缓存时间 安全选项: - sec=sys:使用本地系统认证 - sec=krb5:使用Kerberos认证 - sec=krb5i:使用Kerberos完整性保护 - sec=krb5p:使用Kerberos隐私保护 其他选项: - vers=4.2:指定NFS版本 - tcp:使用TCP协议 - udp:使用UDP协议 - intr:允许中断挂起操作 - nointr:不允许中断 示例: # 高性能配置 mount -t nfs -o rw,rsize=1048576,wsize=1048576,hard,intr 192.168.1.10:/data/share /mnt/nfs # 高可靠性配置 mount -t nfs -o rw,hard,timeo=600,retrans=2 192.168.1.10:/data/share /mnt/nfs # 自动挂载配置 /etc/fstab: 192.168.1.10:/data/share /mnt/nfs/share nfs rw,rsize=1048576,wsize=1048576,hard,intr 0 0 EOF # 使用autofs自动挂载 [root@nfs-client ~]# dnf install -y autofs [root@nfs-client ~]# cat > /etc/auto.master << 'EOF' /mnt/nfs /etc/auto.nfs --timeout=60 EOF [root@nfs-client ~from PG视频:www.itpux.com]# cat > /etc/auto.nfs << 'EOF' share -rw,rsize=1048576,wsize=1048576 192.168.1.10:/data/share backup -ro 192.168.1.10:/data/backup EOF [root@nfs-client ~]# systemctl enable --now autofs Created symlink /etc/systemd/system/multi-user.target.wants/autofs.service → /usr/lib/systemd/system/autofs.service. # 测试自动挂载 [root@nfs-client ~]# ls /mnt/nfs/share [root@nfs-client ~]# df -h | grep nfs 192.168.1.10:/data/share 100G 50G 50G 50% /mnt/nfs/share

Part03-NFS故障排查

3.1 常见问题处理

# 检查NFS服务状态
[root@nfs-server ~]# systemctl status nfs-server
● nfs-server.service – NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; preset: disabled)
Active: active (exited) since Fri 2026-04-04 19:10:00 CST; 10min ago

# 检查RPC服务
[root@nfs-server ~]# rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl

# 检查防火墙
[root@nfs-server ~]# firewall-cmd –list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh nfs mountd rpc-bind
ports:
protocols:

# 配置防火墙
[root@nfs-server ~]# firewall-cmd –permanent –add-service=nfs
success
[root@nfs-server ~]# firewall-cmd –permanent –add-service=mountd
success
[root@nfs-server ~]# firewall-cmd –permanent –add-service=rpc-bind
success
[root@nfs-server ~]# firewall-cmd –reload
success

# 查看NFS日志
[root@nfs-server ~]# journalctl -u nfs-server -f
— Logs begin at Fri 2026-04-04 00:00:00 CST. —
Apr 04 19:10:00 nfs-server systemd[1]: Starting NFS server and services…
Apr 04 19:10:00 nfs-server systemd[1]: Finished NFS server and services.

# 测试连接
[root@nfs-client ~]# telnet 192.168.1.10 2049
Trying 192.168.1.10…
Connected to 192.168.1.10.
Escape character is ‘^]’.

风哥针对NFS配置建议:

  • 使用NFSv4版本
  • 配置防火墙规则
  • 使用autofs自动挂载
  • 合理设置挂载选项
  • 定期检查连接状态

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息