NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。对于大多数负载均衡群来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,且数据在网络上的明文传输,所以安全性很差,一般只在局域网中使用
NFS服务的实现依赖于RPC机制,已完成远程到本地的映射过程。所以需要安装nfs-utils、rpcbind软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC的支持
nfs/nfs_acl 端口:2049 udp/tcp;
portmapper 端口:111 udp/tcp;
一、服务端配置
安装rpc协议包和nfs服务
yum install -y rpcbind nfs-utils
配置文件路径
[root@192 ~]# ll /etc/exports
-rw-r--r--. 1 root root 0 6月 7 2013 /etc/exports
配置文件参数说明:
rw #读写权限
ro #只读权限
root_squash #当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户(不常用)
no_root_squash #当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员(不常用)
all_squash #无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户(常用)
no_all_squash #无论NFS客户端使用什么账户访问,都不进行压缩
sync #同时将数据写入到内存与硬盘中,保证不丢失数据
async #优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据
anonuid #配置all_squash使用,指定NFS的用户UID,必须存在系统
anongid #配置all_squash使用,指定NFS的用户GID,必须存在系统
配置文件:
[root@192 ~]# cat /etc/exports
/data 192.168.100.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
启动服务:
启动服务
[root@192 ~]# systemctl start nfs
[root@192 ~]#
[root@192 ~]# systemctl start rpcbind
二、客户端配置
安装rpc协议包和nfs服务:
yum install -y rpcbind nfs-utils
检查连通情况:
[root@192 ~]# showmount -e 192.168.100.100
Export list for 192.168.100.100:
/data 192.168.100.0/24
挂载测试:
[root@192 ~]# mkdir /data
[root@192 ~]# mount -t nfs 192.168.100.100:/data/ /data/
[root@192 ~]# df -Th|grep nfs
192.168.100.100:/data nfs4 36G 3.5G 32G 10% /data
开机自动挂载:
cat >> /etc/fstab << 'EOF'
192.168.100.100:/data /data nfs defaults 0 0
EOF
[root@192 ~]# mount -a
三、验证
服务端创建文件:
客户端也可查到: