是的,基本正确! 但需要注意以下几点:
67 机器的minio-cluster-start.sh68 机器的minio-cluster-start.sh在67机器上:
# 测试到68机器的连通性
ping 172.16.0.68
telnet 172.16.0.68 9000 # 应该能连接
在68机器上:
# 测试到67机器的连通性
ping 172.16.0.67
telnet 172.16.0.67 9000 # 应该能连接
在67机器上:
# 检查数据目录是否存在
ls -ld /iflytek/soft/minio/data1
ls -ld /iflytek/soft/minio/data2
# 如果不存在,创建目录
mkdir -p /iflytek/soft/minio/data1
mkdir -p /iflytek/soft/minio/data2
chmod 755 /iflytek/soft/minio/data1 /iflytek/soft/minio/data2
在68机器上:
# 检查数据目录是否存在
ls -ld /iflytek/soft/minio/data1
ls -ld /iflytek/soft/minio/data2
# 如果不存在,创建目录
mkdir -p /iflytek/soft/minio/data1
mkdir -p /iflytek/soft/minio/data2
chmod 755 /iflytek/soft/minio/data1 /iflytek/soft/minio/data2
在67机器上:
# 查找并停止现有MinIO进程
ps aux | grep minio
pkill -f 'minio server' || true
# 如果存在PID文件,删除
rm -f /iflytek/soft/minio/minio.pid
在68机器上:
# 查找并停止现有MinIO进程
ps aux | grep minio
pkill -f 'minio server' || true
# 如果存在PID文件,删除
rm -f /iflytek/soft/minio/minio.pid
# 复制集群启动脚本到MinIO目录
cp "67 机器的minio-cluster-start.sh" /iflytek/soft/minio/minio-cluster-start.sh
# 赋予执行权限
chmod +x /iflytek/soft/minio/minio-cluster-start.sh
# 验证脚本内容
cat /iflytek/soft/minio/minio-cluster-start.sh | grep CLUSTER_ENDPOINTS
# 复制集群启动脚本到MinIO目录
cp "68 机器的minio-cluster-start.sh" /iflytek/soft/minio/minio-cluster-start.sh
# 赋予执行权限
chmod +x /iflytek/soft/minio/minio-cluster-start.sh
# 验证脚本内容
cat /iflytek/soft/minio/minio-cluster-start.sh | grep CLUSTER_ENDPOINTS
⚠️ 重要:MinIO集群要求所有节点同时启动(时间差不超过几秒)。
如果您有SSH免密登录配置,可以使用统一启动脚本:
# 在任意一台机器上执行
cd /path/to/部署文档/生产环境双机部署方案/部署脚本/
./start-minio-cluster.sh
步骤:
在67机器上:
cd /iflytek/soft/minio
./minio-cluster-start.sh
在68机器上(几乎同时执行):
cd /iflytek/soft/minio
./minio-cluster-start.sh
时间差要求:两个启动命令的执行时间差不超过10秒。
如果无法同时操作,可以先启动67机器,然后在10秒内启动68机器:
# 在67机器上启动
cd /iflytek/soft/minio
./minio-cluster-start.sh
# 立即(10秒内)在68机器上启动
cd /iflytek/soft/minio
./minio-cluster-start.sh
在67机器上:
# 检查MinIO进程是否运行
ps aux | grep minio | grep -v grep
# 检查端口是否监听
netstat -tlnp | grep 9000
netstat -tlnp | grep 9001
# 检查日志
tail -f /iflytek/soft/minio/logs/minio.log
在68机器上:
# 检查MinIO进程是否运行
ps aux | grep minio | grep -v grep
# 检查端口是否监听
netstat -tlnp | grep 9000
netstat -tlnp | grep 9001
# 检查日志
tail -f /iflytek/soft/minio/logs/minio.log
# 安装MinIO客户端(如果未安装)
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/
# 配置集群别名(连接到67机器)
mc alias set minio-cluster http://172.16.0.67:9000 minioadmin minioadmin@123456
# 查看集群信息
mc admin info minio-cluster
# 查看集群节点状态
mc admin service status minio-cluster
正常输出示例:
● 172.16.0.67:9000
Uptime: 1h
Version: RELEASE.2025-04-22T22-12-26Z
Drives: 2/2 OK
...
● 172.16.0.68:9000
Uptime: 1h
Version: RELEASE.2025-04-22T22-12-26Z
Drives: 2/2 OK
...
# 创建测试存储桶
mc mb minio-cluster/test-bucket
# 上传测试文件
echo "test cluster" > test.txt
mc cp test.txt minio-cluster/test-bucket/
# 列出文件
mc ls minio-cluster/test-bucket/
# 从68机器读取(验证同步)
mc alias set minio68 http://172.16.0.68:9000 minioadmin minioadmin@123456
mc cat minio68/test-bucket/test.txt
可能原因:
解决方法:
# 检查网络
ping 172.16.0.67
ping 172.16.0.68
# 检查防火墙
sudo firewall-cmd --list-ports # CentOS/RHEL
sudo ufw status # Ubuntu
# 检查日志
tail -f /iflytek/soft/minio/logs/minio.log
可能原因:
解决方法:
# 检查端点配置(两个脚本的CLUSTER_ENDPOINTS必须完全一致)
cat /iflytek/soft/minio/minio-cluster-start.sh | grep CLUSTER_ENDPOINTS
# 检查数据目录路径
ls -ld /iflytek/soft/minio/data1
ls -ld /iflytek/soft/minio/data2
# 重新同时启动
pkill -f 'minio server'
# 然后同时执行启动脚本
解决方法:
# 查看集群健康状态
mc admin heal minio-cluster --dry-run
# 修复集群数据
mc admin heal minio-cluster
# 查看详细错误信息
mc admin service status minio-cluster
启动前检查:
启动时检查:
启动后验证:
启动流程:
关键点:
📝 文档版本: v1.0
🔄 最后更新: 2025-01-27
✅ 适用场景: MinIO集群启动步骤说明