"); //-->
目前,越来越多的项目不再是单机,而是趋向于分布式部署,所以在分布式部署就需要文件共享,例如A服务器上传的图片,希望在B服务器上也可以访问。因此就需要跨机器共享文件,在这里就简单的采用nfs+rpcbind实现跨机器的文件共享。
1、安装nfs和rpcbind
检查自己的电脑是否已经默认安装了nfs和rpcbind:
# rpm -aq | grep nfs
nfs-utils-1.2.3-54.el6.x86_64
nfs4-acl-tools-0.3.3-6.el6.x86_64
nfs-utils-lib-1.1.5-9.el6.x86_64
# rpm -aq | grep rpcbind
rpcbind-0.2.0-11.el6.x86_64
这表示系统已经默认安装。如果没有安装也没事,可以采用下面的命令安装
# yum install nfs-utils rpcbind
2、配置nfs的配置文件和hosts文件
创建需要共享的目录:默认用/mnt
配置nfs的配置文件:
vim /etc/exports
在这个文件中添加需要输出的目录,如:
/usr/local/static 192.168.0.2(rw)
/usr/local/static:表示的是nfs服务器需要共享给其他客户端服务器的文件夹
192.168.0.2:表示可以挂载服务器目录的客户端ip
(rw):表示该客户端对共享的文件具有读写权限
配置hosts文件:vim /etc/hosts
192.168.10.1 hostname
192.168.10.1:表示服务器本机的ip地址
hostname:表示服务器的机器名
3、启动nfs和rpcbind服务、检测服务状态、已经设置服务开机启动
启动服务:
#service rpcbind start
#service nfs start
检查启动状态:
#service rpcbind status
#service nfs status
4、检测服务器的nfs状态
# showmount -e //查看自己共享的服务
Export list forhostname:
/usr/local/static 192.168.10.2
注意:在执行这个命令的时候如果出现错误,说明DNS不能解析当前的服务器,那就是hosts文件没有配置。
5、客户端挂载NFS中共享的目录
客户端服务器也需要安装nfs 和 rpcbind 服务。
首先是启动nfs和rpcbind服务。
查询服务端共享的文件目录:
# showmount -e 192.168.10.1
Export list for192.168.10.1:
/usr/local/static 192.168.10.2
创建挂载目录:
#cd /mnt
#mkdir static
挂载服务端的共享目录:
# mount -t nfs -o nolock,nfsvers=3,vers=3 192.168.10.1:/usr/local/static /mnt/static
查看挂载的状态:
# 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 /usr/local/static
#touch test123
客户端查看文件:
#cd /mnt/static
#ll
总用量 0
-rw-r--r-- 1 root root 0 May 3 11:44 rest123
到此就结束了,nfs实现文件的共享已经完成。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。