怎样搭建NFS?
NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系
统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、
不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于
服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。
NFS(网络文件系统):让网络上的不同linux/unix系统机器实现文件共享
nfs本身只是一种文件系统,没有提供文件传递的功能,但却能让我们进行文件的共享,原因在于 NFS 使用RPC服务,用到NFS的地方都需要启动RPC服务,无论是NFS客户端还是服务端
nfs和rpc的关系:nfs是一个文件系统,负责管理分享的目录;rpc负责文件的传递
nfs启动时至少有rpc.nfsd和rpc.mountd2个daemon
rpc.nfsd主要是管理客户机登陆nfs服务器时,判断改客户机是否能登陆,和客户机ID信息。
Rpc.mountd主要是管理nfs的文件系统。当客户机顺利登陆nfs服务器时,会去读/etc/exports文件中的配置,然后去对比客户机的权限。
协议使用端口:
RPC:111 tcp/udp
nfsd: 2049 tcp/udp
mountd:RPC服务在 nfs服务启动时默认会为 mountd动态选取一个随机端口(32768--65535)来进行通讯 ,可以在/etc/nfsmount.conf文件中指定mountd的端口
NFS服务器搭建
安装
[root@master ~]# yum install nfs* -y
配置
[root@master ~]# vim /etc/exports /data/ *(rw,no_root_squash,no_all_squash,sync)
ro 只读访问
rw 读写访问
sync 所有数据在请求时写入共享
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squash root用户具有根目录的完全管理访问权限
服务启动
[root@master ~]# systemctl start nfs [root@master ~]# systemctl enable nfs
客户端挂载
[root@node ~]# yum install nfs-utils -y [root@node ~]# mount -t nfs 10.168.1.110:/data /mnt
[root@node ~]# df -hT|grep data 10.168.1.110:/data nfs4 36G 1.5G 35G 5% /mnt
挂载成功