公司经常会有上传图片的功能, 但一般图片都不放在应用服务器的上,而是多台应用服务器全部上传到本地目录,但是本地目录指向的是一台公用的远程服务器的目录,该服务器磁盘一般有好几个T,结合我们线上的应用,我也自己在虚拟机上搭建了一个,一来是备忘, 而来是给不会的同学做个小demo
测试环境:centos6.5
需求:将某个服务器的某个目录挂载到另外一台服务器的另外一个目录
演示:将192.168.182.171服务器的/usr/local/src/mounttest挂在到192.168.182.172服务器上的/usr/local/src/mounttest目录
1)、在两台服务器上分别新建目录
mkdir -p /usr/local/src/mounttest
2)、给目录赋可读写权限
chmod 777 /usr/local/src/mounttest/
3)、在192.168.182.171机器编辑/etc/exports,增加可被挂载的权限
#vi /etc/exports
内容如下:
/usr/local/src/mounttest 192.168.0.0/16(insecure,rw)
注释:
/usr/local/src/mounttest:表示要共享出的文件夹(可以被挂载到的目录)
192.168.0.0/16:表示挂在方的ip地址(需要挂载在哪台机器, /16表示B类ip地址,我这么个写法是表示所有192.168内网都可挂载,如果需要指定只有某台机器可挂载,将该值替换成具体ip即可)
rw:表示目录可以读写
4)、然后启动nfs服务
/etc/init.d/nfs start
5)、关闭192.168.182.171的防火墙
不关闭防火墙的话需要放开mountd,nfs,nlockmgr,portmapper,rquotad这五个服务的端口,除了nfs和prtmapper,其他几个服务的端口是动态的,比较麻烦,我们线上服务器我看也是关闭的防火墙
临时关闭:service iptables stop
永久性关闭则执行:chkconfig iptables off
6)、到服务器192.168.182.172上执行挂载命令
mount -t nfs 192.168.182.171:/usr/local/src/mounttest /usr/local/src/mounttest
7)、让192.168.182.172服务器在重启后也可以自动挂载
在192.168.182.172上执行
vi /etc/rc.local
加入如下内容
mount -t nfs 192.168.182.171:/usr/local/src/mounttest/ /usr/local/src/mounttest/
即可实现开机启动
8)、取消挂载
在182.172机器上执行:umount /usr/local/src/mounttest/
即可取消挂载