一、minio基础概念
默认使用纠删码策略,默认配置是4,代码可坏的盘数量,一般盘的个数为4,6,8,10,12,14,16。
基本原理:
当你上传一个对象时,MinIO会将其分成“数据分片(默认n-4)”和“校验分片(默认4)”,然后随机存储到各个盘上。
数据盘:存储原始数据分片。
校验盘:存储通过算法计算出的冗余校验分片。
只要丢失的盘数不超过校验盘的数量,数据就可以完整恢复。
关键概念:EC:N:
这表示纠删码的配置。例如
EC:4。N代表校验盘的数量,也就是允许同时故障的驱动器数量。MinIO的默认策略是
EC:4,即使用4个校验盘。你可以在创建存储桶时自定义。
存储桶独立:
每个存储桶的纠删码集合是独立计算的。一个桶的数据损坏不会影响其他桶。
二、minio集群的搭建(单服务器,4个盘,EC:N=2)
1.盘配置注意
1.同一台服务器部署写法
minio{1...8}表示8节点,节点的服务名为minio1-minio8/data1表示每个服务器的盘映射数,/data1是容器内的路径
2.多台服务器搭建写法
http://192.168.1.{101...104}/data/minio192.168.1.101~192.168.1.104:4台服务器的实际IP地址/data/minio:每台服务器上的数据目录路径{101...104}:大括号扩展语法,MinIO会自动展开
场景 | 宿主机路径 | 容器内路径 | 启动命令片段 |
|---|---|---|---|
单盘部署 |
|
|
|
多盘部署(Docker) |
|
|
|
2.单服务器,4个卷,docker-compose 文件
version: '3.8' services: minio: image: minio/minio:RELEASE.2025-12-24T15-30-00Z container_name: minio restart: always environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin123 volumes: - ./data/disk1:/data1 - ./data/disk2:/data2 - ./data/disk3:/data3 - ./data/disk4:/data4 expose: - "9000" - "9001" command: server --address :9000 --console-address :9001 /data{1...4}