内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。
本文档详
风哥提示:
细介绍NFS服务器的安装、配置和管理方法。
Part01-NFS安装
1.1 安装NFS服务
$ sudo dnf install -y nfs-utils
Last metadata expiration check: 0:45:23 ago on Thu 03 Apr 2026 23:15:15 AM CST.
Package nfs-utils-1:2.5.4-20.el9.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
# 启动NFS服务
$ sudo systemctl start nfs-server
# 设置开机自启动
$ sudo systemctl enable nfs-server
Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /usr/lib/systemd/system/nfs-server.service.
# 查看服务状态
$ sudo systemctl status nfs-server
● nfs-server.service – NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; preset: disabled)
Drop-In: /run/systemd/generator/nfs-server.service.d
└─order-with-mounts.conf
Active: active (exited) since Thu 2026-04-03 23:15:00 CST; 10s ago
Process: 12368 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
Main PID: 12369 (code=exited, status=0/SUCCESS)
CPU: 15ms
Apr 03 23:15:00 rhel10 systemd[1]: Starting NFS server and services…
Apr 03 23:15:00 rhel10 systemd[1]: Finished NFS server and services.
# 配置防火墙
$ sudo firewall-cmd –permanent –add-service=nfs
success
$ sudo firewall-cmd –permanent –add-service=rpc-bind
success
$ sudo firewall-cmd –permanent –add-service=mountd
success
$ sudo firewall-cmd –reload
success
# 查看NFS版本
$ sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2
Part02-NFS配置文件
2.1 配置exports文件
$ sudo mkdir -p /data/share
$ sudo chmod 777 /data/share
# 编辑exports文件
$ sudo tee /etc/exports << EOF
/data/share 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)
/data/share 192.168.2.0/24(ro,sync,no_subtree_check)
/home *(rw,sync,no_root_squash)
/var/ftp/pub 192.168.1.1更多学习教程公众号风哥教程itpux_com00(rw,sync) 192.168.1.101(ro)
EOF
# 导出配置
$ sudo exportfs -ra
# 查看导出列表
$ sudo exportfs -学习交流加群风哥微信: itpux-comv
/data/share 192.168.1.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
/data/share 192.168.2.0/24(sync,wdelay,hide,no_s学习交流加群风哥QQ113257174ubtree_check,sec=sys,ro,secure,root_squash,no_all_squash)
/home
/var/ftp/pub 192.168.1.100(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/var/ftp/pub 192.168.1.101(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)
# 重新加载NFS服务
$ sudo systemctl reload nfs-server
# 查看NFS统计信息
$ sudo nfsstat -s
Server rpc stats:
calls badcalls badclnt badauth xdrcall
100 0 0 0 0
Server nfs v3:
null getattr setattr lookup access readlink
3 0% 50 50% 10 10% 5 5% 10 10% 2 2%
Part03-NFS客户端配置
3.1 挂载NFS共享
$ sudo dnf install -y nfs-utils
# 查看服务器共享
$ showmount -e 192.168.1.100
Export list for 192.168.1.100:
/data/share 192.168.2.0/24,192.168.1.0/24
/home
# 创建挂载点
$ sudo mkdir -p /mnt/nfs/share
# 临时挂载
$ sudo mount -t nfs 192.168.1.100:/data/share /mnt/nfs/share
# 查看挂载
$ df -h | grep nfs
192.168.1.100:/data/share 50G 10G 40G 20% /mnt/nfs/share
# 测试写入
$ sudo touch /mnt/nfs/share/test.txt
$ ls -l /mnt/nfs/share/test.txt
-rw-r–r–. 1 root root 0 Apr 3 23:20:00 /mnt/nfs/share/test.txt
# 永久挂载
$ sudo tee -a /etc/fstab << EOF
192.168.1.100:/data/share /mnt/nfs/share nfs defaults,_netdev 0 0
EOF
# 挂载所有文件系统
$ sudo mount -a
# 查看挂载选项
$ mount | grep nfs
192.168.1.100:/data/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.10,local_lock=none,addr=192.168.1.100)
# 卸载NFS共享
$ sudo umount /mnt/nfs/share
# 强制卸载
$ sudo umount -l /mnt/nfs/share
Part04-NFS高级配置
4.1 配置NFSv4
$ sudo mkdir -p /export/share
$ sudo mount –bind /data/share /export/share
# 编辑fstab
$ sudo tee -a /etc/fstab << EOF
/data/share /export/share none bind 0 0
EOF
# 配置NFSv4导出
$ sudo tee /etc/exports << EOF
/export 192.168.1.0/24(rw,sync,fsid=0,no_subtree_check)
/export/share 192.168.1.0/24(rw,sync,no_subtree_check)
EOF
# 重新导出
$ sudo exportfs -ra
# 客户端挂载NFSv4
$ sudo mount -t nfs4 192.168.1.100:/share /mnt/nfs/share
# 配置NFS安全
$ sudo tee /etc/sysconfig/nfs << EOF
# NFSv4配置
RPCNFSDARGS="-N 2 -N 3"
RPCNFSDCOUNT=8
RPCMOUNTDOPTS="-p 20048"
STATDARG="-p 20049"
LOCKDARG="-p 20050"
RQUOTADARG="-p 20051"
EOF
# 重启NFS服务
$ sudo systemctl restart nfs-server
# 配置防火墙端口
$ sudo firewall-cmd --permanent --add-port=20048/tcp
$ sudo firewall-cmd --permanent --add-port=20048/udp
$ sudo firewall-cmd --permanent --add-port=20049/tcp
$ sudo firewall-cmd --permanent --add-port=20050/tcp
$ sudo firewall-cmd --permanent --add-port=20051/tcp
$ sudo firewall-cmd --reload
Part05-NFS性能优化
5.1 优化NFS性能
$ sudo tee -a /etc/sysctl.conf << EOF # NFS优化 net.core.rmem_max=16777216 net.core.wmem_max=16777216 net.ipv4.tcp_rmem=4096 87380 16777216 net.ipv4.tcp_wmem=4096 65536 16777216 net.ipv4.tcp_window_scaling=1 net.ipv4.tcp_timestamps=1 net.ipv4.tcp_sack=1 EOF $ sudo sysctl -p # 客户端挂载优化 $ sudo mount -t nfs -o rw,hard,intr,rsize=1048576,wsize=1048576,timeo=600,retrans=2 192.168.1.100:/data/share /mnt/nfs/share # 永久挂载优化 $ sudo tee -a /etc/fstab << EOF 192.168.1.100:/data/share /mnt/nfs/share nfs rw,hard,intr,rsize=1048576,wsize=1048576,timeo=600,retrans=2,_netdev 0 0 EOF # 查看NFS统计 $ sudo nfsstat -c Client rpc stats: calls retrans authrefrsh 100 0 100 Client nfs v4: null read write commit open open_conf 0 0% 50 50% 10 10% 5 5% 10 10% 2 2% # 测试NFS性能 $ sudo dd if=/dev/zero of=/mnt/nfs/share/testfile bs=1M count=100 100+0 rfrom PG视频:www.itpux.comecords in 100+0 records out 104857600 bytes (105 MB, 100 MiB) copied, 1.23456 s, 84.9 MB/s # 监控NFS性能 $ sudo nfsiostat 1 mounted on:/data/share op/s rpc bklog 10.00 0.00 read: ops/s kB/s kB/op retrans avg RTT (ms) avg exe (ms) 5.00 512.0 102.4 0 1.23 2.34 write: ops/s kB/s kB/op retrans avg RTT (ms) avg exe (ms) 5.00 512.0 102.4 0 1.45 2.56
1. 使用NFSv4提高安全性和性能
2. 配置合适的挂载选项
3. 优化网络参数提高传输效率
4. 监控NFS性能和状态
5. 定期检查日志文件
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
