一、环境
minio版本:minio-20230320201618.0.0.x86_64.rpm
二、安装
将下载好的rpm包放在文件夹下,然后cd到该目录
sudo rpm -ivh minio-20230320201618.0.0.x86_64.rpm
三、启动
1、minio的位置
which minio
cd /usr/local/bin
2、启动 (可以先不起,后面配置以后再起)
./minio server /opt/minio/data --console-address "0.0.0.0:9001"
四、开机自启
1、设置开机自启
必须执行:systemctl enable minio
2、编辑minio.service
vi /etc/systemd/system/minio.service
编辑完保存后必须执行systemctl daemon-reload
3、修改或新增:/etc/default下的minio文件
cd /etc/default
vi minio
修改内容如下
MINIO_VOLUMES="/opt/minio/data"
MINIO_OPTS="--console-address 0.0.0.0:9001 --address :9000"
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin
测试minio是否启动:http://localhost:9001/login
账号密码默认都为minioadmin
五、集群安装(双机部署,多机相同)
1、编辑minio.service
vi /etc/systemd/system/minio.service
重新设置
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio[Service]
WorkingDirectory=/usr/local/bin/
ExecStart=/usr/local/bin/cluster-start.shUser=root
Group=root
#ProtectProc=invisible#EnvironmentFile=-/etc/default/minio
#ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
#ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES# Let systemd restart this service always
Restart=always# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=1048576# Specifies the maximum number of threads this process can create
TasksMax=infinity# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no[Install]
WantedBy=multi-user.target# Built for ${project.name}-${project.version} (${project.name})
2、在/usr/local/bin目录下创建 cluster-start.sh
vi cluster-start.sh
#!/bin/bash
export MINIO_ROOT_USER=minioadmin
export MINIO_ROOT_PASSWORD=minioadmin1
/usr/local/bin/minio server --config-dir /etc/minio \--address "0.0.0.0:9000" --console-address ":9001" \http://xxx.xxx.xxx.103:9000/minioDisk2/minio http://xxx.xxx.xxx.104:9000/minioDisk2/minio \http://xxx.xxx.xxx.103:9000/minioDisk1/minio http://xxx.xxx.xxx.104:9000/minioDisk1/minio >> /minio/log/minio.log
中间过程可以使用到的命令
可使用到命令:
systemctl daemon-reload
systemctl restart systemd-journald
journalctl -u minio.service
systemctl status minio.service
chmod +x /etc/systemd/system/minio.service && chmod +x /usr/local/bin/cluster-start.sh
成功如下
查看集群是否成功
四台机器部署后如下:
六、数据迁移
下载安装迁移工具mc
下载文件原名不叫mc,可对文件名进行修改
mv mc.RELEASE.2023-03-20T17-17-53Z mc
chmod +x ./mc
下载的文件在自定义目录中, 每次都要进入 目录或者指定mc所在目录,才能使用。
如果我们想在任何目录中使用 mc。把 mc文件放到 /usr/local/sbin/目录中,就可以了。
mv ./mc /usr/local/sbin/
mc --help
1)在线迁移
全量迁移,重名文件不覆盖,如bucket不存在,会自动创建
1.设置别名:
mc alias set minio2023_103 http://xxx.xxx.xxx.103:9000 minioadmin minioadmin1
mc alias set minio2021_121 http://xxx.xxx.xxx.121:9000 minioadmin1 minioadmin1
2、全量迁移
mc mirror minio2021_121 minio2023_103
3、只迁移某个bucket,以msp为例,迁移的目标bucket需要提前创建
mc mirror minio2021_121/msp minio2023_103/msp #msp 要提前在minio2023_103中创建
4、 加上--overwrite参数,覆盖重名文件
mc mirror --overwrite minio2021_121 minio2023_103
mc mirror --overwrite minio2021_121/msp minio2023_103/msp
2)离线迁移
1.设置别名:
mc alias set minio2023_103 http://192.168.220.103:9000 minioadmin minioadmin1
mc alias set minio2021_121 http://192.168.220.121:9000 minioadmin1 minioadmin1
2.备份数据到自定义目录下
#1 创建备份目录
mkdir /app/minio_back
3.备份文件
mc cp --recursive minio2021_121/msp/ /app/minio_back/tt_$(date +"%F-%H-%M-%S")
4.恢复(103数据)通过下面命令将备份数据恢复到minio2023_103的msp桶(注意:msp桶需提前创建,否则报错)
mc cp --recursive /app/minio_back/tt_2024-01-25-18-23-40/ minio2023_103/msp/
其他:
删除所有文件:
mc rm --force --recursive minio2023_103/bucket