1、服务器列表 IP 持载的盘 192.168.254.201 /data1/ data2/ 192.168.254.202 /data1/ /data2/
2、下载minio的服务端 wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /usr/local/bin/minio && chmod +x /usr/local/bin/minio
如果下载不下来,可以先下载再上传到对应的目录,再给此文件授权
chmod +x /usr/local/bin/minio
3、下载minio的客户端 wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /usr/local/bin/mc && chmod +x /usr/local/bin/mc
如果下载不下来,可以先在本机下下载再上传到对应的目录再给此文件授权
chmod +x /usr/local/bin/mc
4、创建配置文件/etc/default/minio cat <<EOT >> /etc/default/minio
MINIO_VOLUMES=http://192.168.245.20{1...2}/data{1...2}
MINIO_OPTS="--address 0.0.0.0:9199"
MINIO_ACCESS_KEY=D99KGE6ZTQXSATTJWU24
MINIO_SECRET_KEY=QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ
MINIO_REGION="cn-south-1"
#MINIO_DOMAIN=minio.zmd.com
EOT
说明:
MINIO_VOLUMES:是我们连接的服务器地址
MINIO_OPTS 指定监听端口(也可以不监听具体ip,只写 :9199即可)
MINIO_ACCESS_KEY Access key,相当于账号
MINIO_SECRET_KEY Secret key,相当于密码
MINIO_REGION 区域值,这是完全自己写的,比如你愿意的话写“abcd”也行,但标准格式是“国家-区域-编号”, 如“中国-华北-1号”就可写成“cn-north-1”,又比如“美国-西部-2号”可写成“us-west-1”
MINIO_DOMAIN 域名
5、设置开机自启动 wget https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/distributed/minio.service -O /usr/lib/systemd/system/minio.service
编辑minio.service
vi /usr/lib/systemd/system/minio.service
把其中的 User Group 注释掉,也可以指定具体用户
#User=minio-user
#Group=minio-user
重载minio.service文件
6、配置客户端信息 mc config host add minio http://192.168.245.201:9199 D99KGE6ZTQXSATTJWU24 QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ
7、查看集群信息 # mc admin info minio
● 192.168.245.202:9199
Uptime: 13 minutes
Version: 2021-04-22T15:44:28Z
Network: 2/2 OK
Drives: 2/2 OK
● 192.168.245.201:9199
Uptime: 13 minutes
Version: 2021-04-22T15:44:28Z
Network: 2/2 OK
Drives: 2/2 OK
4 drives online, 0 drives offline
上传一些数据,用于验证扩容后数据可正常使用
mc mb minio/bucket01
mc cp * minio/bucket01
anaconda-ks.cfg: 1.21 KiB / 1.21 KiB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 93.66 KiB/s 0s [root@minio-01 ~]# ░░░░░░░░░░░░░░░░░░░░░▓┃
登录控制台查看上传正常
minio的集群与扩容 8、扩容 8.1、服务列表 IP 持载的盘 说明 192.168.254.201 /data1/ 原盘 /data2/ 192.168.254.202 /data1/ 原盘 /data2/ 192.168.254.203 /data1/ 扩容 /data2/ 192.168.254.204 /data1/ 扩容 /data2/
在扩容集群时用到了2组http://{...}的语法参数,所以旧集群以及扩容都必须使用这种语法形式创建,命令行中的每组server称为一个zone,此示例中有2 server pools,对于外部的写数据请求,minio server会首先查找可用空间多的zone,然后再在zone内选择set和disk drive。
注意:添加的每个zone必须具有与原始zone相同的set集大小,以便维持相同的数据冗余SLA。例如,如果您的第一个zone是8个磁盘,则可以添加每个server pools包含16、32或1024个磁盘的zone。您只需确保部署SLA是原始数据冗余SLA的倍数。
8.2、停止原服务 在192.168.254.201与192.168.254.202停卡minio服务
systemctl stop minio.service
8.3、在扩容的机器上192.168.254.203与192.168.254.203安装minio 具体参考:上面2与3、5小节
8.4、修改原来192.168.254.201与192.168.254.202的配置文件 vi /etc/default/minio
#把MINIO_VOLUMES=http://192.168.245.20{1...2}/data{1...2} 改为MINIO_VOLUMES=http://192.168.245.20{1...2}/data{1...2} http://192.168.245.20{3...4}/data{1...2}
8.5、在新加的扩容机器192.168.254.203与192.168.254.203加入配置文件 cat <<EOT >> /etc/default/minio
MINIO_VOLUMES=http://192.168.245.20{1...2}/data{1...2} http://192.168.245.20{3...4}/data{1...2}
MINIO_OPTS="--address 0.0.0.0:9199"
MINIO_ACCESS_KEY=D99KGE6ZTQXSATTJWU24
MINIO_SECRET_KEY=QyVqGnhIQQE734UYSUFlGOZViE6+ZlDEfUG3NjhJ
MINIO_REGION="cn-south-1"
#MINIO_DOMAIN=minio.zmd.com
EOT
8.6、启动所有机器上面服务 systemctl start minio.service
8.7、验证配置 # mc admin info minio
● 192.168.245.202:9199
Uptime: 1 hour
Version: 2021-04-22T15:44:28Z
Network: 2/2 OK
Drives: 2/2 OK
● 192.168.245.203:9199
Uptime: 3 seconds
Version: 2021-04-22T15:44:28Z
Network: 4/4 OK
Drives: 0/0 OK
● 192.168.245.204:9199
Uptime: 3 seconds
Version: 2021-04-22T15:44:28Z
Network: 4/4 OK
Drives: 0/0 OK
● 192.168.245.201:9199
Uptime: 13 minutes
Version: 2021-04-22T15:44:28Z
Network: 4/4 OK
Drives: 0/0 OK
2 drives online, 0 drives offline
[root@minio-01 bin]#
上传一些数据,用于验证扩容后数据可正常使用
#上传以前建的桶
touch 123 > test.txt
mc cp test.txt minio/bucket01
0 B / ? ┃░░░░░░░░░░░
#新建一个桶看新桶是否正常
mc mb minio/bucket02
Bucket created successfully `minio/bucket02`.
mc cp test.txt minio/bucket02
0 B / ? ┃░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓
minio的集群与扩容 9、nginx配置互载代理 配置文件如下,http
upstream minio-server {
server 192.168.245.201:9199 weight=25 max_fails=2 fail_timeout=30s;
server 192.168.245.202:9199 weight=25 max_fails=2 fail_timeout=30s;
server 192.168.245.203:9199 weight=25 max_fails=2 fail_timeout=30s;
server 192.168.245.204:9199 weight=25 max_fails=2 fail_timeout=30s;
}
server {
listen 9000;
server_name localhost;
charset utf-8;
default_type text/html;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
client_body_buffer_size 10M;
client_max_body_size 10G;
proxy_buffers 1024 4k;
proxy_read_timeout 300;
proxy_next_upstream error timeout http_404;
proxy_pass http://minio-server;
}
}