擺渡了一圈, 大部分教程有些地方寫得不太明白, 我這邊記錄一下
1. 安裝集群
下載MinIO: https://dl.min.io/server/minio/release/linux-amd64/minio
增加可執行權限
配置環境變量:
export MINIO_ROOT_USER=<ACCESS_KEY>
export MINIO_ROOT_PASSWORD=<SECRET_KEY>
啟動節點, 如果是本機啟動多個節點, 必須要修改端口參數, 日志文件名稱, 至於掛載磁盤的目錄則指定在集群參數里, 下面這個集群則啟動了兩個節點, 指定了 /data/minio-node-1 ... 4 這4個目錄, 每個節點各有兩個目錄
具體多硬盤的寫法可以參考: https://docs.min.io/cn/distributed-minio-quickstart-guide.html
nohup ./minio server http://192.168.1.48:9001/data/minio-node-1 http://192.168.1.48:9001/data/minio-node-2 http://192.168.1.49:9001/data/minio-node-3 http://192.168.1.49:9001/data/minio-node-4 --address=0.0.0.0:9001 >>node-1.log 2>&1 &
nohup ./minio server http://192.168.1.48:9001/data/minio-node-1 http://192.168.1.48:9001/data/minio-node-2 http://192.168.1.49:9001/data/minio-node-3 http://192.168.1.49:9001/data/minio-node-4 --address=0.0.0.0:9001 >>node-2.log 2>&1 &
這樣集群就啟動完成了~
2. Nginx配置
話不多說直接上配置文件:
upstream minio { server 192.168.1.48:9001; server 192.168.1.49:9001; } server { listen 9000; #listen [::]:9000; #server_name localhost; # To allow special characters in headers ignore_invalid_headers off; # Allow any size file to be uploaded. # Set to a value such as 1000m; to restrict file size to a specific value client_max_body_size 0; # To disable buffering proxy_buffering off; location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_connect_timeout 300; # Default is HTTP/1, keepalive is only enabled in HTTP/1.1 proxy_http_version 1.1; proxy_set_header Connection ""; chunked_transfer_encoding off; proxy_pass http://minio; } }
重新加載nginx就ok了~
3. MC工具配置賬戶
參考博客鏈接: https://blog.csdn.net/u013595395/article/details/107829555
0. 配置MinIO集群連接地址:
mc config host add minio http://127.0.0.1:9000 username password
1. 新建用戶
mc admin user add minio/ node-test node-test-123 // 密碼至少8個字符
2. 新建策略文件(注意把 //及后面的注釋刪掉)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ // 可以做出的行動(權限) "s3:ListAllMyBuckets", // 查看所有的“桶”列表 "s3:ListBucket", // 查看桶內的對象列表 "s3:GetBucketLocation", "s3:GetObject", // 下載對象 "s3:PutObject", // 上傳對象 "s3:DeleteObject" // 刪除對象 ], "Resource": [ "arn:aws:s3:::*" // (應用到的資源,*表示所有,也可以用路徑來控制范圍。arn:aws:s3是命名空間) ] } ] }
3. 導入策略
mc admin policy add minio/ node-test ./policy/node-test.json // add后面三個東西,分別是minio服務器別名、策略名、策略所在路徑
4. 應用策略
mc admin policy set minio/ node-test user=node-test // 倒數第二個是策略名, 最后是用戶名
