NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
目前,越来越多的项目不再是单机,而是趋向于分布式部署,所以在分布式部署就需要文件共享,例如A服务器上传的图片,希望在B服务器上也可以访问。因此就需要跨机器共享文件,在这里就简单的采用nfs+rpcbind实现跨机器的文件共享。
这表示系统已经默认安装。如果没有安装也没事,可以采用下面的命令安装 输入此命令 : yum install nfs-utils rpcbind
启动服务: 输入命令 :service rpcbind start 输入命令 :service nfs start 检查启动状态: 输入命令 :service rpcbind status 输入命令 :service nfs status
输入命令 showmount -e //查看自己共享的服务 Export list forhostname: /mnt 119.29.92.120 注意:在执行这个命令的时候如果出现错误,说明DNS不能解析当前的服务器,那就是hosts文件没有配置。
客户端服务器也需要安装nfs 和 rpcbind 服务。 首先是启动nfs和rpcbind服务。 查询服务端共享的文件目录: 输入命令: showmount -e 120.76.154.117 Export list for 客户机IP : /mnt 120.76.154.117
创建挂载目录: 输入命令:cd /mnt 创建文件夹,这里没有创建 挂载服务端的共享目录: 输入命令 mount -t nfs -o nolock,nfsvers=3,vers=3 120.76.154.117:/mnt /mnt/
查看挂载的状态: 输入命令: mount | grep nfs nfsd on /proc/fs/nfsd type nfsd (rw,relatime) 192.168.10.1:/usr/local/static on /mnt/static type nfs (rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.10.1,mountvers=3,mountport=20048,mountproto=udp,local_lock=all,addr=192.168.10.1)
6、测试共享 服务器创建文件: 输入命令:cd /mnt 输入命令:touch 123
客户端查看文件: 输入命令:cd /mnt 输入命令:ll 总用量 0 -rw-r–r– 1 root root 0 May 3 11:44 rest123
出现如下错误提示:
mount.nfs: access denied by server while mounting 172.16.12.140:/home/liangwode/test 那我们可以用以下的方法进行解决:
修改/etc/sysconfig/nfs文件,将 增加: RPCNFSDARGS=”-N 4” /把这句话的#号去掉/ NFS分为三个版本,即NFS-2 NFS-3 NFS-4,该配置文件默认关闭了这三个的NFS版本,我们只需要打开 NFS-4即可。
/mnt 119.29.92.120(rw,sync,no_subtree_check,no_root_squash)