由于开发系统过程中,前后台由于部署在不同的机器上,一些文件需要放在同一个地方(比如图片文件),考虑到目前系统不是很大,所以决定将公共文件集中放在一台内网机器磁盘上,前台、后台服务器通过硬盘映射的方式来访问文件资源
假设公共文件服务器内网IP:192.168.1.1,文件存放目录为:/data/images,前台服务器IP:192.168.1.2
- 两台机器安装nfs,portmap
yum install -y nfs-utils portmap
- 服务器端启动nfs服务
修改192.168.1.1服务器上/etc/exports的内容,加入如下配置:/data/images 192.168.1.*(rw,sync,no_root_squash)
表示开放本机器上面/data/images目录, 对主机网段192.168.1.* 拥有该目录rw权限。其他参数可以去查看nsf文档,这里不解释
启动portmap和nfs(需按顺序启动)systemctl start rpcbind systemctl start nfs
如果防火墙打开了,需要开发如下服务的端口,(在/etc/services文件中查看服务对应的端口)
sunrpc 111 tcp/udp #portmapper rpcbind nfs 2049 tcp/udp/sctp mountd 2048 tcp/udp
firewall-cmd --add-service=nfs --permanent
firewall-cmd --add-service=mountd --permanent
配置过程中遇到的问题及解决
- 安装nfs时遇到如下错误:
Transaction check error: file /usr/lib/systemd/system/blk-availability.service from install of device-mapper-7:1.02.107-5.el7_2.1.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64 file /usr/sbin/blkdeactivate from install of device-mapper-7:1.02.107-5.el7_2.1.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64 file /usr/share/man/man8/blkdeactivate.8.gz from install of device-mapper-7:1.02.107-5.el7_2.1.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64
解决方案:先升级lvm2
先执行:yum upgrade lvm2
后执行:yum install nfs-utils -
mount挂载时如果超时,有可能是防火墙的问题,需要关闭防火墙或开放上述服务端口