MinIO 單機及集群部署


一、Linux單機部署

二、Linux集群部署

  簡介:分布式MinIO可以將多塊硬盤(分布在多台機器上)組成一個對象存儲服務,從而避免了單點故障,還確保完整的數據保護,MinIO在分布式和單機模式下,所有的讀寫操作都遵守read-after-write模型。

  1. 基礎知識點

    A. 數據保護是采用糾刪碼來防范多個節點宕機和位衰減,MinIO將對象拆分為N/2數據和N/2奇偶檢驗塊;

    B. 單機MinIO服務存在單點故障,集群至少需要4個節點,如果搭建N個節點的MinIO集群,只要用N/2節點在線服務,數據就是安全的,但至少需要N/2+1個節點來創建新的對象;

    C. 存放數據目錄需要是新目錄,分布式MinIO節點服務器之間的間隔應小於15分鍾,可以使用NYP服務來確保時間相同;

三、Linux Docker單機部署

  1. 拉取鏡像:docker pull minio/minio;

  2. 部署文件docker-compose.yml

復制代碼
version: "3.8"

services:
 # minio文件系統
  minio:
    image: minio/minio:latest
    ports:
      - "9000:9000"
    volumes:
      - "/var/minio/data:/data"
      - "/var/minio/config:/root/.minio"
    environment:
      MINIO_ACCESS_KEY: "root"
      MINIO_SECRET_KEY: "root@123456"
    command: server /data

 

四、Linux Docker集群部署

  簡介:至少4台機器,擴容需要偶數台機器遞增

# MinIO文件服務集群
    minio-1: 
        image: minio/minio:latest
        hostname: minio-1
        command: server http://minio-{1...4}/export
        deploy:
            mode: global
            placement:
                constraints:
                    - node.labels.minio-1 == true
            restart_policy:
                delay: 10s
                max_attempts: 10
                window: 60s
        healthcheck:
            test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
            interval: 30s
            timeout: 20s
            retries: 3
        networks:
            - rws-mp
        volumes:
            - minio-1-data:/export
    minio-2:
        image: minio/minio:latest
        hostname: minio-2
        command: server http://minio-{1...4}/export
        deploy:
            mode: global
            placement:
                constraints:
                    - node.labels.minio-2 == true
        networks:
            - rws-mp
        volumes:
            - minio-2-data:/export
    minio-3:
        image: minio/minio:latest
        hostname: minio-3
        command: server http://minio-{1...4}/export
        deploy:
            mode: global
            placement:
                constraints:
                    - node.labels.minio-3 == true
        networks:
            - rws-mp
        volumes:
            - minio-3-data:/export
    minio-4:
        image: minio/minio:latest
        hostname: minio-4
        command: server http://minio-{1...4}/export
        deploy:
            mode: global
            placement:
                constraints:
                    - node.labels.minio-4 == true
        networks:
            - rws-mp
        volumes:
            - minio-4-data:/export

五、FAQ

  1. 修改密碼:找到安裝的minio文件路徑.minio.sys/config

    A. 打開config.json文件,更改access_key 和 secret_key的值即可;

    B. 刪除config.json和iam文件,重新設置;

  

 

可參考:MinIO分布式集群搭建

    MinIO集群擴容方法


免責聲明!

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



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