Linux环境下MinIO扩容指南
MinIO作为高性能分布式对象存储,支持单节点存储扩展(添加磁盘)和分布式集群扩展(添加节点)两种主要方式,以下是具体操作流程及注意事项:
为避免数据不一致,扩容前需停止MinIO服务:
systemctl stop minio
/dev/sdb,使用ext4文件系统格式化(需根据MinIO要求选择,如XFS更推荐):sudo mkfs.ext4 /dev/sdb
/mnt/newdisk)并挂载:sudo mkdir -p /mnt/newdisk
sudo mount /dev/sdb /mnt/newdisk
/etc/fstab,添加一行:/dev/sdb /mnt/newdisk ext4 defaults 0 0
/etc/minio/minio.conf(或config.json),在[default] section添加新存储路径:[default]
driveType=ssd
driveLetter=/mnt/newdisk
或直接修改config.json,将新路径加入dataDir数组:{
"dataDir": ["/data", "/mnt/newdisk"]
}
systemctl start minio
mc(MinIO命令行工具)检查存储路径是否生效:mc admin info myminio/
输出中应包含新添加的存储路径。access-key、secret-key、节点IP及数据路径):minio server http://existing-node1:9000/export1 http://existing-node2:9000/export2 http://new-node:9000/export1
注:
export1为新节点的存储路径,需与现有节点的export路径数量一致(如现有节点有16个export,新节点也需配置16个)。
使用命令行动态添加:通过mc命令将新节点添加到集群:
mc admin service scale myminio add new-node-ip:9000
注:
myminio为集群别名,new-node-ip:9000为新节点的访问地址。
验证集群状态:使用mc命令检查集群节点是否加入成功:
mc admin info myminio/
输出中应显示新增节点的信息,且总存储容量增加。
MinIO分布式集群必须采用对等扩容,即新增的节点数与磁盘数需为现有集群的整数倍(如现有4个节点,可扩容4、8、12个节点)。这样可以维持原有的纠删码冗余SLA(如3节点集群的纠删码为(n-1)/2,扩容后仍保持相同冗余)。
若需更灵活的扩展(如跨机房部署),可使用etcd作为配置中心:
etcd集群(设置MINIO_ETCD_ENDPOINTS环境变量)。etcd管理集群配置,新增节点时只需在etcd中注册,MinIO会自动同步配置。mc cp命令复制到本地或其他存储)。Prometheus+Grafana监控集群的CPU、内存、磁盘I/O,确保性能稳定。export数量)与现有集群一致,否则会导致数据冗余下降。通过以上步骤,可在Linux环境下完成MinIO的单节点或分布式集群扩容,满足不断增长的存储需求。