配置NFS服务器
网络文件系统(NFS)允许用户通过网络共享目录和文件。以下是如何搭建并优化NFS服务器的详细步骤。
(1). 实验环境
- NFS服务器:testserver1,IP地址为192.168.10.10
- 客户端主机:testclient1,IP地址为192.168.10.11
NFS基于C/S架构,使用2049端口进行通信。
(2). 搭建步骤
1)在NFS服务器上安装必要组件:
[root@testserver1 ~]# yum -y install nfs-utils rpcbind
2)启动服务并设置开机自启:
[root@testserver1 ~]# systemctl start rpcbind
[root@testserver1 ~]# systemctl enable rpcbind
[root@testserver1 ~]# systemctl start nfs-server
[root@testserver1 ~]# systemctl enable nfs-server
验证NFS是否监听指定端口:
[root@testserver1 ~]# netstat -antup | grep 2049
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
tcp6 0 0 :::2049 :::* LISTEN -
udp 0 0 0.0.0.0:2049 0.0.0.0:* -
udp6 0 0 :::2049 :::* -
3)在客户端安装NFS工具:
[root@testclient1 ~]# yum -y install nfs-utils
4)客户端测试NFS服务器导出列表:
[root@testclient1 ~]# showmount -e 192.168.10.10
Export list for 192.168.10.10:
此时为空,因尚未配置共享目录。
5)编辑服务器的共享配置文件/etc/exports,添加共享路径:
[root@testserver1 ~]# mkdir -p /data/share
[root@testserver1 ~]# chmod 777 /data/share
[root@testserver1 ~]# echo "Hello NFS" > /data/share/test.txt
[root@testserver1 ~]# vim /etc/exports
/data/share 192.168.10.11(rw,sync,no_subtree_check,no_root_squash)
# 刷新配置
[root@testserver1 ~]# exportfs -ra
[root@testserver1 ~]# exportfs
/data/share 192.168.10.11
参数解释:
rw:允许读写。sync:同步写入数据到磁盘。no_subtree_check:减少子树检查以提高性能。no_root_squash:允许root用户访问共享资源。
6)客户端再次检查共享列表:
[root@testclient1 ~]# showmount -e 192.168.10.10
Export list for 192.168.10.10:
/data/share 192.168.10.11
7)在客户端挂载共享目录:
[root@testclient1 ~]# mkdir /mnt/nfs
[root@testclient1 ~]# mount -t nfs 192.168.10.10:/data/share /mnt/nfs
[root@testclient1 ~]# ls /mnt/nfs
test.txt
设置开机自动挂载:
[root@testclient1 ~]# echo "192.168.10.10:/data/share /mnt/nfs nfs defaults 0 0" >> /etc/fstab
8)优化高并发下的挂载性能:
在挂载时可以添加以下选项以提升性能:
noatime:不更新文件访问时间戳。nodiratime:不更新目录访问时间戳。async:异步写入(需谨慎使用,可能影响数据安全性)。
修改挂载命令或/etc/fstab文件:
192.168.10.10:/data/share /mnt/nfs nfs noatime,nodiratime,async 0 0