安装单机版MinIO(准备2台机器A、B,A、B服务器操作一致)
切换目录并下载MinIO二进制文件
cd /usr/local/bin
wget https://dl.minio.org.cn/server/minio/release/linux-amd64/minio
chmod +x minio
编辑配置文件
vi /etc/default/minio.confMINIO_VOLUMES="/data"
MINIO_OPTS="--address :9000 --console-address :9001"
MINIO_ACCESS_KEY="minio"
MINIO_SECRET_KEY="minio123456"
注册系统服务
创建服务单元文件
vi /usr/lib/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]
User=root
Group=root
EnvironmentFile=/etc/default/minio.conf
ExecStart=/usr/local/bin/minio server $MINIO_VOLUMES $MINIO_OPTS
Restart=always
LimitNOFILE=65536
TimeoutStopSec=infinity
SendSIGKILL=no[Install]
WantedBy=multi-user.target
启动与验证
启动服务并检查状态
systemctl start minio && systemctl status minio
设置开机自启
systemctl enable minio
二、配置互为主从【在其中一台机器操作即可】
1、先安装mc命令
# 切换目录
cd /usr/local/bin# 下载,离线安装请提前下载,上传服务器替换该步骤
wget https://dl.min.io/client/mc/release/linux-amd64/mcchmod +x /usr/local/bin/mc
2、配置
[root@localhost ~]# mc alias set minio1 http://192.168.247.158:9000 admin password123
mc: Configuration written to `/root/.mc/config.json`. Please update your access credentials.
mc: Successfully created `/root/.mc/share`.
mc: Initialized share uploads `/root/.mc/share/uploads.json` file.
mc: Initialized share downloads `/root/.mc/share/downloads.json` file.
Added `minio1` successfully.
[root@localhost ~]# mc alias set minio2 http://192.168.247.145:9000 admin password123
Added `minio2` successfully.
[root@localhost ~]# mc admin replicate add minio1 minio2
Requested sites were configured for replication successfully.
[root@localhost ~]# mc admin replicate info minio1
SiteReplication enabled for:Deployment ID | Site Name | Endpoint | Sync | Bandwidth | ILM Expiry Replication | | | | Per Bucket |
8ffd3069-84ba-4687-8438-93bedff772e6 | minio1 | http://192.168.247.158:9000 | | N/A | false
1319c229-28fa-44e2-a3fb-4ae1680f6090 | minio2 | http://192.168.247.145:9000 | | N/A | false
[root@localhost ~]# mc admin replicate status minio1
Bucket replication status:
No Buckets presentPolicy replication status:
● 5/5 Policies in syncUser replication status:
No Users presentGroup replication status:
No Groups presentILM Expiry Rules replication status:
No ILM Expiry Rules presentObject replication status:
Replication status since 6 minutes
Summary:
Replicated: 0 objects (0 B)
Queued: ● 0 objects, (0 B) (avg: 0 objects, 0 B; max: 0 objects, 0 B)
Received: 0 objects (0 B)
3、验证
(1)AB桶的数据会保持一致,无论在AB桶先写入数据
(2)停掉A 服务器,在B写入或者删除数据后,在启动A,A数据也会同步
4、NGINX负载
upstream minio-server { server 192.168.10.1:9000 weight=25 max_fails=2 fail_timeout=30s; server 192.168.20.2:9000 weight=25 max_fails=2 fail_timeout=30s; } upstream minio-console { ip_hash; server 192.168.10.1:9001 weight=25 max_fails=2 fail_timeout=30s; server 192.168.20.2:9001 weight=25 max_fails=2 fail_timeout=30s; } server { listen 9000; server_name localhost; # To allow special characters in headers ignore_invalid_headers off; # 配置成上传文件不限制大小 client_max_body_size 0; # To disable buffering proxy_buffering off; location / {proxy_pass http://minio-server; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header; expires 0; # 后端服务器连接的超时时间_发起握手等候响应超时时间 proxy_connect_timeout 300; proxy_http_version 1.1; chunked_transfer_encoding off; # 是否开启proxy忽略客户端中断 proxy_ignore_client_abort on; }}server { listen 9001; server_name localhost; # To allow special characters in headers ignore_invalid_headers off; # 配置成上传文件不限制大小 client_max_body_size 0; # To disable buffering proxy_buffering off; location / { proxy_pass http://minio-console; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header; expires 0; # 后端服务器连接的超时时间_发起握手等候响应超时时间 proxy_connect_timeout 300; proxy_http_version 1.1; chunked_transfer_encoding off; # 是否开启proxy忽略客户端中断 proxy_ignore_client_abort on; } }