您的位置:首页 > 理论基础 > 计算机网络

网络文件系统(NFS)的使用

2017-06-18 00:22 513 查看
一。简介
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

安全设定
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  LINUX NFS