一、概念理解
NFS:
简介:Network File System 的简称,目的是实现文件的共享,使不同的机器(或操作系统)彼此间共享一份数据文件,这样即大大增加了磁盘的剩余空间。如果是在两台类UNIX系统的主机之间实现文件共享的话,比SAMBA服务器更加方便,且配置简单。
功能:让PC机将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中看来,那个远程主机的目录就好像是自己的一个磁盘分区一样。
RPC:
简介:Remote Procedure Call 的简称,即远程调用协议,服务名称为rpcbind。由于NFS支持的功能非常多,而每次启动一个功能就会启用一个端口来传输数据,但是每次启动的端口不固定,这里就会产生客户端连接服务器的问题(客户端需要知道服务端开启的端口才能连接)。那么这里我们就需要用到远程调用协议(RPC)了。
功能:指定每个NFS功能所队用的port number,并通知给客户端,让客户端可以连接到正确的端口上去。服务器在启动NFS时会随机选取数个端口,并主动向RPC注册,因此RPC可以知道每个端口对应的NFS功能。而RPC又是固定使用111端口来监听客户端的请求并向客户端响应正确的端口。
注意:RPC的启动要早于NFS,不然NFS无法向RPC注册。
NFS文件共享功能的实现步骤:
1、客户端会向服务器端的RPC(111端口)发出NFS文件访问功能的查询要求。
2、服务器找到NFS在RPC中注册的端口后,通知给客户端。
3、客户端了解了正确的客户端后,就可以直接与NFS daemon相连。
二、NFS 部署和优化
1、在服务端和客户端上同时安装NFS服务
命令:yum install -y nfs-utils(在安装的同时会装上rpcbind这个包)
2、编辑配置文件,内容为要共享的目录、允许访问的主机ip以及操作权限等
命令:vim /etc/exports
写入内容:/home/ 192.168.1.125(rw,sync,all_squash,anonuid=502,anongid=502)
3、启动服务(服务端与客户端都要操作)
命令:service rpcbind start ; service nfs start
4、共享目录的挂载
命令:showmount -e 192.168.1.124
查看NFS服务端共享出来的目录
命令:mount -t nfs -o nfsvers 192.168.1.124:/home/ /mnt/
将ip为192.168.1.124的主机共享出来的目录/home/挂载到客户端的/mnt/目录下,这里的 -t nfs 是指定挂载时的文件属性为NFS,而此处的 -o nfsvers=3 是为了不让权限混乱。
三、NFS文件系统维护命令:exportfs
常用选项有:
-a:全部挂载或全部卸载
-r:重新挂载
-u:卸载某一个目录
-v:显示共享的目录
使用exportfs命令,当改变/etc/exports配置文件后,不用重启NFS服务,直接用这个exportfs即可。改变了配置文件/etc/exports中的内容之后,直接使用命令 exportfs -arv 即可。然后再在客户端上挂载。
四、开机自动挂载
将要挂载的nfs目录写到客户端的/etc/fstab文件中,挂载时只需要执行命令 mount -a 即可
本文出自 “奇迹的少年” 博客,请务必保留此出处http://raffaelexr.blog.51cto.com/8555551/1722987
原文:http://raffaelexr.blog.51cto.com/8555551/1722987