一。简介
NFS--Network FileSystem,即网络文件系统,主要功能是让网络上的不同操作系统之间共享数据。
远程服务器端共享出文件或目录,然后远羰共享出来的文件或目录就可通过挂 载的方式挂 接到本的不同操作系统上,最后本地系统就可以方便的使用远端提代的文件服务。实现数据共享
上图可以看出,NFS由两部分组成:NFS客户端和NFS服务器。
二。实现原理
NFS服务器启动后,开启对客户端连接对应的端口号(1-1024),但每次启动NFS服务器,相应服务器端口号都各不相同。
为确保客户端每次都能正确连接,NFS通过RPC(Remote Procedure Call)协议来协助NFS服务器完成连接。程序通过使用这种协议向网络中另一台计算机上的程序请求服务。NFS中,RPC最主要的功能就是指定并监控NFS守护进程对应的商品号,并将端口信息通知给客户端,让客户端连接到正确的端口上来。
三。安装与配置
1.查看是否安装:
rpm -qa|grep rpcbind
rpm -qa|grep nfs
如果没有输出,需要NFS对应的rpm包进行安装
2.NFS服务器端的设定
设置配置文件:/etc/exports
设置格式:共享资源路径 [主机地址] [选项]
例子:/webdata *(sync,rw,all_squash)
/tmp *(rw,no_root_squash)
/home/share 192.168.1 *(rw,root_squash) *(ro)
/opt/data 192.168.1.18(rw)
/usr/local/doc *.ixdba.net(rw, anonuid=686,anongid=686)
说明:共享资源路径:如上面的/tmp, /home/share目录等
主机地址:可以是主机名/域名/IP等
选项:
ro:read only,客户端仅有读权限
rw:read write
no_root_squash:根据用户UID判断,如果登录NFS主机的用户是root,那么
该用户有最高权限。不安全,不建议使用
root_squash:系统预设值,当登录NFS主机的用户root时,这个使用者的权限将缩减成匿名使用者。UID和GID都会变成nfsnobody身份,只有可读权限。
all_squash:不管登录NFS主机的是什么用户,都会将共享文件的UID和GID映射到匿名用户nfsnobody.
no_all_squash:当客户端用户的UID和GID与服务器端共享文件UID和GID相同时,才有对共享文件的读写权限,保证共享文件的用户和组权限不会改变
anonuid:将登入NFS主机的用户都设定成指定的UID,此UID必须存在于NFS服务器端/etc/passwd中
anongid:与anonuid类似
sync:资料同步写入磁盘。默认
async:资料暂时放在内存中,不直接写入磁盘
2.启动停止NFS服务器
systemctl start/stop/restart/enable nfs
systemctl start/stop/restart/enable rpcbind
start:启动
stop:关闭
restart:重启
enable:服务器开机自启动
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
3.NFS客户端的设定
安装nfs-utils和rpcbind两个服务
yum -y install nfs-utils
systemctl start rpcbind
systemctl enable rpcbind
查看NFS服务器端提供的服务
showmount [-ea]
-e:此选项后跟服务器主机地址,显示当前已导出 的目录
-a:服务器上用使用时后面无参数; 客户端使用时跟上服务器主机地址
挂载共享资源 mount
mount -t nfs Hostname(orIP) :/directory /mountpoint
Hostname:指定NFS服务器地址
/directory:表示NFS服务器共享的目录资源
/mountpoint:客户端主机指定的挂载点
开机自动挂载NFS目录
192.168.60.133:/mydata /data/nfs nfs default 0 0
卸载NFS目录
umount /mountpoint
安全设定
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。