本文主要是介绍CentOS7.2 通过nfs设置共享文件夹,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
NFS简介NFS是Network File System的缩写,即网络文件系统。一种使用于分散式文件协定,有SUN公司开发。功能是通过网络让不同的机器、不同的操作系统能够分享个人数据,让应用程序通过网络可以访问位于服务器磁盘中的数据。NFS在文件传送或信息传送的过过程中,依赖于RPC协议。RPC,远程过程调用(Remote Procedure Call),是使客户端能够执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,就是因为NFS使用了RPC提供的传输协议,可以说NFS就是使用PRC的一个程序。NFS服务端、RPC协议、客户端三者可以理解为房源、中介、租客之间的关系:
类似Windows中的文件夹共享,如下有三台机器A, B, C,它们需要访问同一个目录,目录中都是图片,传统的做法是把这些图片分别放到A, B, C。但是使用NFS只需要放到A上,然后A共享给B和C即可。访问的时候,B和C是通过网络的方式去访问A上的那个目录。
在A机上安装 NFS 服务器所需的软件包: yum install -y nfs-utils 安装的过程中,会自动安装rpcbind。编辑exports文件,添加客户端主机:
vi /etc/exports
/home/nfs 192.168.222.201(rw,sync,fsid=0) 192.168.222.202(rw,sync,fsid=0) 192.168.12.0/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)
配置说明:这一行分为三个部分:第一部分:/home/nfs ,这个是本地要共享出去的目录。第二部分:允许访问的主机,可以是一个IP:192.168.222.201,也可以是一个IP段:192.168.12.0/24第三部分:括号中部分rw表示可读写,ro只读;sync :同步模式,内存中数据时时写入磁盘;async :不同步,把内存中数据定期写入磁盘中;no_root_squash :客户机用root访问该共享文件夹时,不映射root用户,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;root_squash:和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;all_squash:不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。fsid=0表示将/home/nfs整个目录包装成根目录,insecure 允许从这台机器过来的非授权访问启动A机上nfs服务 先为rpcbind和nfs做开机启动:
systemctl enable rpcbind.service
systemctl enable nfs-server.service
然后分别启动rpcbind和nfs服务:
systemctl start rpcbind.service
systemctl start nfs-server.service
确认NFS服务器启动成功:
rpcinfo -pprogram vers proto port service100000 4 tcp 111 portmapper100000 3 tcp 111 portmapper100000 2 tcp 111 portmapper100000 4 udp 111 portmapper100000 3 udp 111 portmapper100000 2 udp 111 portmapper100024 1 udp 30385 status100024
这篇关于CentOS7.2 通过nfs设置共享文件夹的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!