添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

一、背景介绍

项目中,之前是单节点部署服务,关于文件的上传和下载,只要配置好路径即可。

而当集群化部署后,就会有问题。比如:文件上传的时候,访问的是主机1,而想要现在文件的时候,却访问的主机2,这样就会导致文件下载失败。

关于文件共享,可以通过Nginx,Samba,NFS,FastDFS等实现。

本篇博文根据个人项目中的实际使用场景,在不该任何服务代码的情况下,使用NFS最为合适。

二、NFS安装和配置

1、何为NFS?

NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过网络共享资源。

将NFS主机分享的目录,挂载到本地客户端当中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,在客户端看起来,就像访问本地文件一样。

2、 NFS 服务端_安装配置

[ 检查是否安装NFS ]

rpm -qa | grep nfs
rpm -qa | grep rpcbind


[ 安装NFS服务端 ]

yum -y install nfs-utils rpcbind



[ 设置开机启动NFS相关服务 ]

systemctl enable rpcbind && systemctl enable nfs-server && systemctl enable nfs-lock && systemctl enable nfs-idmap
systemctl enable rpcbind

Created symlink from /etc/systemd/system/multi-user.target.wants/rpcbind.service to /usr/lib/systemd/system/rpcbind.service.

systemctl enable nfs-server

Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.

systemctl enable nfs-lock
systemctl enable nfs-idmap



[ 启动NFS相关服务 ]

systemctl start rpcbind && systemctl start nfs-server && systemctl start nfs-lock && systemctl start nfs-idmap
systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock
systemctl start nfs-idmap


[ 创建需要共享的目录 ]

mkdir -p /home/miracle/uploads
chmod -R 777 /home/miracle/uploads


[ 配置需要共享的目录 ]

vim /etc/exports

添加如下内容(可以配置多个共享目录,IP也可以配置单个,或者模糊匹配多个):

/home/miracle/uploads 192.168.169.2(rw,sync,all_squash)


[ 将服务端共享目录挂载到本地目录 ]

mount -t nfs 192.168.169.1:/home/miracle/uploads /home/miracle/uploads

至此,共享目录的安装和配置已完成,可以创建一个文件,检验共享功能是否正常。


[ 取消挂载 ]

如果目录挂载错误的情况下,可以取消挂载。

umount 192.168.166.1:/home/miracle/uploads
umount /home/miracle/uploads

补充说明

如果现场环境是不允许访问外网,只能离线安装的情况下,就需要提前下载好安装包。

1、下载离线安装包(只下载,不安装)

1)下载NFS服务端安装文件,存放到 /home/miacle/nfs-server 目录下,命令如下:

yum install --downloadonly --downloaddir=/home/miracle/nfs-server  nfs-utils rpcbind

可以将下载的NFS服务端安装文件打包,命令如下:

tar -zcvf nfs-server.tar /home/miracle/nfs-server

2)下载NFS客户端端安装文件,存放到 /home/miacle/nfs-client 目录下,命令如下:

yum install --downloadonly --downloaddir=/home/miracle/nfs-client  nfs-utils

可以将下载的NFS服务端安装文件打包,命令如下:

tar -zcvf nfs-client.tar /home/miracle/nfs-client


2、批量安装 rpm 文件

rpm -Uvh --force --nodeps *.rpm