相关文章推荐
MeterSphere 使用高性能高可用的文件系统服务 Minio 按项目对测试文件进行集中管理,MeterSphere 默认安装包只提供单节点部署,在生产环境中,也需要对 Minio 进行主从配置,提高系统稳定性。 1. Minio 主从安装部署 10.1.13.68 是主服务器(minio_ma

MeterSphere 使用高性能高可用的文件系统服务 Minio 按项目对测试文件进行集中管理,MeterSphere 默认安装包只提供单节点部署,在生产环境中,也需要对 Minio 进行主从配置,提高系统稳定性。

1. Minio 主从安装部署

10.1.13.68 是主服务器(minio_master),默认为 MeterSphere 应用所在主机,默认安装 MeterSphere 所有服务,并已存储了测试数据文件,登录 minio_master 节点的 minio 网站,查看文件个数为 20 个,大小为 93.7MiB。

10.1.13.223 是从服务器(minio_slave),可在 minio_slave 节点上安装 MeterSphere 所有服务,之后卸载服务(msctl uninstall),然后只需进入 /opt/metersphere 目录,使用 docker-compose 命令启动 minio 服务。

2. 同步方法和步骤

2.1 手动同步

将 minio_master 节点的 minio 目录数据复制到 minio_slave 节点的 minio 服务的同一目录

minio_slave 节点,进入目录,使用 docker-compose 命令启动 minio 服务

# 进入目录
cd /opt/metersphere
# 启动 minio 服务
docker-compose -f docker-compose-base.yml -f docker-compose-minio.yml up -dcd /opt/metersphere# 启动 minio 服务docker-compose -f docker-compose-base.yml -f docker-compose-minio.yml up -d

访问 minio_slave 的 minio 服务地址 http://10.1.13.223:9000 ,文件数据都与 minio_master 服务器上的 minio 数据保存一致。

2.2 自动同步

先将 minio_slave 的 /opt/metersphere/data/minio 数据删掉,然后登录 minio_master 的 minio 网页,查看到文件个数为 20 个,大小为 93.7 MiB

登录 minio_slave 的 minio 服务网页,此时没有数据。

在 minio_slave 节点上在线或者离线安装 minio client

安装 minio client

# 在线安装
wget http://dl.minio.org.cn/client/mc/release/linux-amd64/mc -P /usr/local/bin/
# 离线安装
在浏览器下载 minio client, 将其放入从服务器 /usr/local/bin/ 目录

配置 minio 服务的访问权限

# 赋予权限
chmod +x /usr/local/bin/mc
# 配置访问权限
mc config host add minio_master http://10.1.13.68:9000 admin Password123@minio
mc config host add minio_slave http://10.1.13.223:9000 admin Password123@miniochmod +x /usr/local/bin/mc# 配置访问权限mc config host add minio_master http://10.1.13.68:9000 admin Password123@miniomc config host add minio_slave http://10.1.13.223:9000 admin Password123@minio

在 /usr/lib/systemd/system 路径下新建 minioc.service 文件,将内容贴入其中

cd /usr/lib/systemd/system
vi minioc.servicevi minioc.service

[Unit]
Description=startup minioc mirror master to slave
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/mc mirror --remove --overwrite --watch  minio_master  minio_slave
Restart=on-failure
[Install]
WantedBy=multi-user.target

启动服务并设置开机自启

# 启动服务
systemctl start minioc.service
# 设置开机自启
systemctl enable minioc.service
# 查看服务状态
systemctl status minioc.service

查看服务状态,根据日志可看到 minio_master 的 minio 服务上的文件已同步到从节点上

访问 minio_slave 上的 minio 服务,可看到文件都已同步过来

当 minio_master 节点上的 minio 服务挂掉不可用时,此时启用 minio_slave 节点上的 minio 服务。此时若在 minio_slave 节点的服务上传文件,需要将文件同步到 minio_master 节点上,则需新增 minioc1.service 服务并进行启动。

cd /usr/lib/systemd/system
vi minioc1.service

[Unit]
Description=startup minioc mirror slave to master
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/mc mirror --remove --overwrite --watch  minio_slave  minio_master
Restart=on-failure
[Install]
WantedBy=multi-user.target

minioc1.service 脚本设置完后,设置服务启动并设置开机自启

# 启动服务
systemctl start minioc1.service
#设置开机自启
systemctl enable minioc1.service

登录 minio_slave 上的 minio 服务地址,在 minio 网页上上传一个metersphere-2.10.3-lts.tgz 文件

输入查看服务状态的命令,可看到日志里打印了同步日志,且在 minio_master 的 minio 网页上也可以看到该文件同步过来了。

#查看服务状态
systemctl status minioc1.service 

 
推荐文章