双节点部署MinIO集群时从节点报存储API版本不匹配错误如何解决
MinIO集群启动报错问题排查及解决方案
问题根因
你遇到的报错看似是版本一致性问题,实际核心由以下3个配置错误导致:
- 容器内存储路径与集群声明路径不匹配:启动命令中本地目录挂载到容器的路径为
/minio/data{1...4},但集群参数中写的是http://192.168.101.100/minio1/data{1...4},路径中多了一层minio1目录,导致节点间读取配置文件路径完全错位。 - 启动命令存在语法错误:你命令中两个节点地址之间的转义符
\使用错误,转义符仅在换行编写命令时使用,单行编写添加多余转义符会导致集群节点地址解析异常。 - 未保证集群所有节点使用完全相同的MinIO镜像版本:你直接使用
minio/minio镜像未指定版本,两台主机拉取镜像的时间不同,会导致本地镜像实际版本存在差异,哪怕存储API版本显示一致也会触发版本校验失败。若主节点曾单独启动运行过,数据目录已生成旧的format.json配置,直接加入从节点也会被识别为非一致部署触发报错。
修复步骤
- 先清理两台主机上的MinIO容器及残留数据,注意提前备份原有数据:
# 停止并删除容器 docker stop minio && docker rm minio # 清空数据目录 rm -rf /data/minio1/*
- 两台主机使用完全一致的启动命令,注意修正路径、指定固定版本、集群节点列表顺序必须完全相同:
docker run -d --name minio \ --restart=always \ --net=host \ -e MINIO_ACCESS_KEY=minio \ -e MINIO_SECRET_KEY=minio123 \ -v /data/minio1/data1:/minio/data1 \ -v /data/minio1/data2:/minio/data2 \ -v /data/minio1/data3:/minio/data3 \ -v /data/minio1/data4:/minio/data4 \ minio/minio:RELEASE.2021-09-09T21-37-07Z server \ --address :9000 \ http://192.168.101.100/minio/data{1...4} \ http://192.168.101.101/minio/data{1...4}
- 先启动所有从节点,最后启动主节点,保证所有节点同时加入集群完成初始化。
内容的提问来源于stack exchange,提问作者Muhammad Zohaib
相关产品推荐
相关产品推荐

