Linux : 安裝MinIO集群+Nginx高可用/負載均衡+MC工具配置賬戶權限


擺渡了一圈, 大部分教程有些地方寫得不太明白, 我這邊記錄一下

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     // 倒數第二個是策略名, 最后是用戶名

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM