之前采用linux开发机+samba进行本地文件共享的开发模式,但是在实际操作的时候还是觉得速度较慢,而且samba服务器的搭建相对复杂一些,因此想尝试使用NFS进行文件的共享,在实际搭建过程中还是遇到了一些问题,因此写下这篇文章做下记录。
NFS(Network File System),即网络文件系统,作用是可以使同一个网络中的计算机之间共享文件资源,使得开发人员可以在自己的本地计算机中可视化的显示NFS服务器上文件,方便操作。
1、NFS的搭建相对简单,首先检验服务端是否已经安装了nfs以及提供中介服务的rpcbind(CentOS5使用的portmap服务,CentOS6.6以后的版本是rpcbind服务)。
rpm -qa | grep nfs
rpm -qa | grep rpcbind (postmap)
如果没有安装,可以使用yum安装:
yum install nfs-utils
2、安装完成之后,修改配置文件 /etc/exports
vim /etc/exports
进行如下配置
/home/work *(rw,sync,insecure,anonuid=500,anongid=500,all_squash)
3、启动(或重启)NFS服务器(先 rpcbind ,后 nfs 两个服务。停止时候停 nfs 就好,rpcbind 可能会被其他服务所需要)
service rpcbind start(restart)
service nfs start(restart)
4、设置两个服务开机自动启动
chkconfig --level 35 rpcbind on
chkconfig --level 35 nfs on
根据实际需要更改下要共享的文件夹的权限
chmod -R 777 /home/work
至此,服务器端的配置就完成了,接下来进行客户端的配置。
5、查看服务器的共享状态,显示如下状态表示成功。
showmount -e 服务器IP
6、进行客户端配置,完成挂载
mount -t nfs 192.168.218.106:/home/work /private/nfs
7、注:在进行挂载的时候,由于使用的mac系统,使用上述命令之后显示Operation not permitted错误,百度之后得知是苹果在OS X 10.11中加入了Rootless机制,很多系统目录不再能够随心所欲的读写了,即使设置 root 权限也不行,目的是为了防止恶意程序的入侵。解决方法是关闭Rootless机制,但是担心关闭之后电脑出现其他问题,迟迟不敢操作,后来发现有大神直接使用如下命令即可解决问题:
mount -o resvport 192.168.218.106:/home/work /private/nfs