minio集群部署
1.说明:
| 安装前需要再添加一个磁盘后将磁盘挂载到/opt/minio目录,minio集群部署需要独占磁盘分区,不能使用文件夹代替。 |
运行分布式 MinIO 实例的服务器时间差不应超过15分钟
所有运行分布式 MinIO 设置的节点都是同构的,即相同的操作系统、相同数量的磁盘和相同的网络互连 。
MinIO 的节点需要具有相同的访问密钥和秘密密钥才能连接,即access key 和 MINIO secret key 都要一样。
2.创建目录
| mkdir -p /opt/minio/{run,data} && mkdir -p /etc/minio |
3.挂载新的硬盘
| 挂载/opt/minio目录,忘记的话,搜linux挂载新硬盘 |

挂载完后,记得配置文件 /etc/fstab 也需要增加,不然服务器重启之后,就掉盘了
/dev/sdb1 /opt/minio ext4 defaults 0 0
4.下载Minio到/opt/minio/run
| cd /opt/minio/run |
| wget https://dl.min.io/server/minio/release/linux-amd64/minio |
5.创建启动脚本文件
| vim /opt/minio/run/run.sh |
| |
| |
| |
| |
| |
| |
| export MINIO_ROOT_USER=admin |
| export MINIO_ROOT_PASSWORD=adminbfd123 |
/opt/minio/run/minio server --config-dir /etc/minio
--address "0.0.0.0:9029" --console-address ":9000"
http://172.16.11.1:9029/opt/minio/data
http://172.16.11.2:9029/opt/minio/data > minio_server.log
6.创建停止脚本文件
| cat <<EOF > /opt/minio/run/stop.sh |
| |
!/bin/bash
MinIO停止脚本
ps -ef | grep minio | grep -v 'grep' | awk '{print $2}'| xargs kill -9
if $? != 0;then
echo "minio service stop failed."
exit 1
fi
EOF
7.创建Minio.server
| cat <<EOF > /etc/systemd/system/minio.service |
| |
[Unit]
Description=Minio service
Documentation=https://docs.minio.io/
[Service]
WorkingDirectory=/opt/minio/run/
ExecStart=/opt/minio/run/run.sh
ExecStop=/opt/minio/run/stop.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
8、权限修改
| chmod +x /etc/systemd/system/minio.service && chmod +x /opt/minio/run/minio && chmod +x /opt/minio/run/run.sh && chmod +x /opt/minio/run/stop.sh |
9.启动集群(依次执行命令)
| systemctl daemon-reload |
| systemctl start minio |
| systemctl enable minio |
| systemctl status minio.service |
10.配置nginx代理
| vim minio-cluster.conf |
| 配置文件内容: |
| # websocket |
| map $http_upgrade $connection_upgrade { |
| default upgrade; |
| '' close; |
| } |
| upstream minio_console { |
| server 172.16.11.1:9000 max_fails=3 fail_timeout=5s; |
| server 172.16.11.2:9000 max_fails=3 fail_timeout=5s; |
| |
| } |
| upstream minio_api { |
| server 172.16.11.1:9029 max_fails=3 fail_timeout=5s; |
| server 172.16.11.2:9029 max_fails=3 fail_timeout=5s; |
| |
| } |
| |
| server { |
| listen 80; |
| listen 443 ssl; |
| server_name cons.minio.com; |
| |
| ssl_certificate keys/abcty6/server.crt; |
| ssl_certificate_key keys/abcty6/server.key; |
| ssl_session_cache shared:SSL:1m; |
| ssl_session_timeout 10m; |
| ssl_ciphers HIGH:!aNULL:!MD5; |
| ssl_prefer_server_ciphers on; |
| client_max_body_size 1G; #如果上传文件大于1G,就需要更改这个参数 |
| client_header_timeout 1m; |
| client_body_timeout 1m; |
| proxy_connect_timeout 60s; |
| proxy_read_timeout 1m; |
| proxy_send_timeout 1m; |
| |
| location / { |
| proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header; |
| proxy_set_header Host $host; |
| proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
| proxy_set_header Upgrade $http_upgrade; |
| proxy_set_header Connection $connection_upgrade; |
| proxy_http_version 1.1; |
| proxy_pass http://minio_console; |
| expires 0; |
| |
| } |
| } |
| |
| server { |
| listen 80; |
| listen 443 ssl; |
| server_name apapi.minio.com; |
| |
| ssl_certificate keys/abcty6/server.crt; |
| ssl_certificate_key keys/abcty6/server.key; |
| ssl_session_cache shared:SSL:1m; |
| ssl_session_timeout 10m; |
| ssl_ciphers HIGH:!aNULL:!MD5; |
| ssl_prefer_server_ciphers on; |
| client_max_body_size 1G; |
| client_header_timeout 1m; |
| client_body_timeout 1m; |
| proxy_connect_timeout 60s; |
| proxy_read_timeout 1m; |
| proxy_send_timeout 1m; |
| |
| location / { |
| proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header; |
| proxy_set_header Host $host; |
| proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
| proxy_pass http://minio_api; |
| expires 0; |
| } |
| } |
| 重载配置 |
| ./nginx -s reload |
| 至此,集群成功! |

11.数据迁移
| |
| wget https://dl.min.io/client/mc/release/linux-amd64/mc |
chmod +x mc
./mc --help
./mc config host add hk http://172.16.11.1:9029
11.2给远程主机批量创建桶名
11.3拷贝文件和对象到新的服务器
文章参考:https://blog.csdn.net/weixin_42324463/article/details/126442490