Minio下载与安装及其多驱多节点部署

一、Minio概述

MinIO是一个开源的分布式对象存储服务器,它兼容Amazon S3服务接口。它是一个轻量级、高性能、高可用性的存储解决方案,可用于存储和检索大规模数据对象。

二、Minio的下载与安装

1.rpm方式部署

https://min.io/

sudo rpm -i minio_package.rpm

配置MinIO:打开MinIO配置文件(通常在/etc/minio目录下),根据您的需求进行配置,包括监听地址、认证信息、存储路径等。

sudo systemctl start minio

2.二进制文件方式安装部署

wget https://dl.min.io/server/minio/release/linux-amd64/minio

chmod +x minio

创建用户组和创建用户,创建minIO的配置文件

vi minio.conf

MINIO_VOLUMES="/home/minio/data"
MINIO_OPTS="-C /home/minio/etc --address 172.16.99.213:9099 --console-address 172.16.99.213:9098"
MINIO_ACCESS_KEY="root"
MINIO_SECRET_KEY="12345678"

注意:MINIO_ACCESS_KEY长度大于等于3。
MINIO_SECRET_KEY长度大于等于8。

创建一个minio.service服务,启动

vim /etc/systemd/system/minio.service

[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/home/minio/minio

[Service]
User=minio
Group=minio
WorkingDirectory=/home/minio/data
EnvironmentFile=/home/minio/etc/minio.conf
ExecStartPre=/bin/bash -c "[ -n \"${MINIO_VOLUMES}\" ] || echo \"Variable MINIO_VOLUMES not set in /home/minio/etc/minio.conf\""
ExecStart=/home/minio/minio server $MINIO_OPTS $MINIO_VOLUMES

Restart=always
StandardOutput=journal
StandardError=inherit

LimitNOFILE=65536

TimeoutStopSec=0
KillSignal=SIGTERM
SendSIGKILL=no
SuccessExitStatus=0

[Install]
WantedBy=multi-user.target

启动服务

systemctl daemon-reload
systemctl enable minio.service
systemctl disable minio.service
systemctl start minio.service
systemctl status minio.service
systemctl stop minio.service

3.安装 MinIO 客户端

wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /usr/local/bin/mc
chmod +x /usr/local/bin/mc

mc alias set myminio http://localhost:9099 admin YourPassword

mc anonymous set public myminio/你的桶名称

三、Minio的多驱多节点安装

wget https://dl.min.io/server/minio/release/linux-amd64/minio

磁盘挂载

lsblk -f
创建分区
fdisk /dev/vdb
说明:开始分区后输入n,新增分区,然后选择p,分区类型为主分区。两次回车默认剩余全部空间,最后输入w写入分区并退出,若不保存退出输入q
格式化磁盘
mkfs -t xfs /dev/vdb1
挂载分区
mount /dev/vdb1 /minio

创建运行脚本

vim run.sh
内容如下
export MINIO_ROOT_USER=minio
export MINIO_ROOT_PASSWORD=xxx
export MINIO_ACCESS_KEY=minio
export MINIO_SECRET_KEY=xxx
nohup /usr/local//minio/minio server /minio/data{1…6} --console-address ":9001" --address ":9000" > /usr/local//minio/log/minio_server1.log 2>&1 &
nohup /usr/local//minio/minio server /minio/data{1…6} --console-address ":9003" --address ":9002" > /usr/local//minio/log/minio_server2.log 2>&1 &
nohup /usr/local//minio/minio server /minio/data{1…6} --console-address ":9005" --address ":9004" > /usr/local//minio/log/minio_server3.log 2>&1 &

说明

MINIO_ROOT_USER和MINIO_ROOT_PASSWORD是页面登录的账号密码
MINIO_ACCESS_KEY和MINIO_SECRET_KEY是项目连接minio需要的密钥
/minio/data{1…6}是存储数据的路径 ,需要挂载
–console-address ":9001"进入web页面的端口
address “:9004” 服务的端口


minio在多台服务器

export MINIO_ROOT_USER=minio
export MINIO_ROOT_PASSWORD=xxx
export MINIO_ACCESS_KEY=minio
export MINIO_SECRET_KEY=xxx

nohup /usr/local//minio/minio server /minio/data{1…6} --console-address ":9001" --address ":9000" > /usr/local//minio/log/minio_server1.log 2>&1 &
修改成
nohup /usr/local//minio/minio server 对应每一个minio的存储路径 --console-address ":9001" --address ":9000" > /usr/local//minio/log/minio_server1.log 2>&1 &
类似于
nohup /usr/local//minio/minio server http://192.168.1.200/minio1 http://192.168.1.200/minio2 http://192.168.1.200/minio3 http://192.168.1.200/minio4 http://192.168.1.141/minio1 http://192.168.1.141/minio2 http://192.168.1.141/minio3 http://192.168.1.141/minio4 --console-address ":9001" --address ":9000" > /usr/local//minio/log/minio_server1.log 2>&1 &