非常游戏网
Linux怎么安装MinIO对象存储_Linux MinIO分布式存储部署【高级】

Linux怎么安装MinIO对象存储_Linux MinIO分布式存储部署【高级】

2026-03-30系统教程19100

需准备四节点分布式环境、下载分发MinIO二进制文件、配置systemd服务、生成分发统一访问凭证,最后同时启动所有节点并验证集群状态。

如果您希望在Linux系统上部署MinIO对象存储服务,并构建高可用的分布式集群,需满足特定硬件与网络条件。以下是完成此部署的步骤:

一、准备四节点分布式环境

MinIO分布式模式要求节点数为2至32个,且所有节点必须具有相同数量的磁盘路径,所有磁盘容量需一致,所有节点时间必须同步。每个节点将运行一个MinIO服务器实例,共同组成一个逻辑存储集群。

1、确保四台Linux主机(如192.168.1.10~192.168.1.13)已安装相同版本的Linux发行版(推荐CentOS 7.9+或Ubuntu 20.04+)。

2、在每台主机上创建统一的数据目录,例如:mkdir -p /data/minio{1..4},共四个子目录用于模拟四块磁盘。

3、使用chrony或ntp同步所有节点系统时间,执行:systemctl enable chronyd && systemctl start chronyd

4、关闭各节点防火墙或放行MinIO默认端口9000及控制台端口9001,命令为:firewall-cmd --add-port=9000-9001/tcp --permanent && firewall-cmd --reload

二、下载并分发MinIO二进制文件

MinIO官方仅提供静态链接的单文件二进制程序,无需编译或依赖安装,适合跨节点快速部署。必须确保所有节点使用完全相同的MinIO版本,否则集群无法启动。

1、在任一节点执行下载命令:curl -O https://dl.min.io/server/minio/release/linux-amd64/minio

2、赋予可执行权限:chmod +x minio

3、使用scp将minio文件复制到其余三台节点的相同路径(如/home/user/),命令示例:scp minio user@192.168.1.11:/home/user/

4、在所有四台节点上将minio移动至/usr/local/bin目录:sudo mv minio /usr/local/bin/

三、配置系统级服务与启动脚本

为保障MinIO进程在后台稳定运行、自动重启并继承系统环境变量,需创建systemd服务单元文件。该方式优于直接前台运行或使用nohup,支持日志集成与健康检查。

1、在所有节点创建服务文件:sudo tee /etc/systemd/system/minio.service <<'EOF'

博特妙笔

公职人员公文写作平台,集查、写、审、学为一体。

2、输入以下内容后保存(注意替换IP地址为实际节点地址):[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
User=root
Group=root
EnvironmentFile=/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
Restart=always
RestartSec=10
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
EOF

3、在每台节点创建环境变量文件:sudo tee /etc/default/minio <<'EOF',并写入:MINIO_VOLUMES="http://192.168.1.10/data/minio{1...4} http://192.168.1.11/data/minio{1...4} http://192.168.1.12/data/minio{1...4} http://192.168.1.13/data/minio{1...4}"

4、重载systemd配置并启用服务:sudo systemctl daemon-reload && sudo systemctl enable minio

四、生成并分发加密访问凭证

MinIO 2022年后默认强制启用TLS与凭证认证,分布式模式下必须预先定义统一的Access Key和Secret Key,否则各节点无法相互认证通信。凭证须通过环境变量注入,不可在命令行中明文传递。

1、在首节点生成强随机密钥对,执行:export MINIO_ROOT_USER=$(openssl rand -hex 12) && export MINIO_ROOT_PASSWORD=$(openssl rand -base64 24)

2、将生成的两个变量值记录下来,例如:MINIO_ROOT_USER=Qz9xKmLrVtYn && MINIO_ROOT_PASSWORD=J8aB3cDfGhIjKlMnOpQrStUv

3、在所有节点的/etc/default/minio文件末尾追加两行:MINIO_ROOT_USER=Qz9xKmLrVtYn
MINIO_ROOT_PASSWORD=J8aB3cDfGhIjKlMnOpQrStUv

4、验证变量加载是否生效:执行source /etc/default/minio && echo $MINIO_ROOT_USER,应输出对应值。

五、启动分布式集群并验证节点状态

启动顺序不影响集群形成,但所有节点必须在同一时刻启动,且网络连通性需实时就绪。MinIO采用去中心化共识机制,无主从概念,任一节点均可作为入口接收请求。

1、在全部四台节点上同时执行:sudo systemctl start minio

2、检查服务状态:sudo systemctl status minio | grep "active (running)",确认返回活跃状态。

3、查看集群日志以确认节点发现过程:sudo journalctl -u minio -n 50 -f | grep "peer",应出现类似“Found 3 more peers”字样。

4、在任意节点执行健康检查命令:mc admin info local(需提前配置mc客户端),输出中应显示4/4节点在线且磁盘状态为“ok”。