68 机器的minio-cluster-start.sh 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #!/bin/bash
  2. # MinIO集群模式启动脚本(68机器 - 节点3和节点4)
  3. # 版本: 2.0
  4. # 描述: 基于现有启动脚本改造为集群模式,68机器提供2个数据目录
  5. # 集群配置: 67机器(2个目录) + 68机器(2个目录) = 4节点集群
  6. # MinIO安装目录
  7. MINIO_HOME="/iflytek/soft/minio"
  8. MINIO_BINARY="${MINIO_HOME}/minio"
  9. # MinIO数据目录 - 集群模式需要多个数据目录
  10. # 68机器提供2个数据目录(节点3和节点4)
  11. MINIO_DATA_DIR1="${MINIO_HOME}/data1"
  12. MINIO_DATA_DIR2="${MINIO_HOME}/data2"
  13. # MinIO配置目录
  14. MINIO_CONFIG_DIR="${MINIO_HOME}/conf"
  15. # MinIO日志目录
  16. MINIO_LOG_DIR="${MINIO_HOME}/logs"
  17. # 创建必要的目录
  18. mkdir -p "${MINIO_DATA_DIR1}" "${MINIO_DATA_DIR2}" "${MINIO_CONFIG_DIR}" "${MINIO_LOG_DIR}"
  19. # MinIO服务器地址和端口
  20. MINIO_ADDRESS=":9000"
  21. MINIO_CONSOLE_ADDRESS=":9001"
  22. # 集群节点配置
  23. # 67机器IP
  24. NODE67_IP="172.16.0.67"
  25. # 68机器IP
  26. NODE68_IP="172.16.0.68"
  27. # 设置内存限制 - 最大32GB
  28. export MINIO_ROOT_USER="minioadmin"
  29. export MINIO_ROOT_PASSWORD="minioadmin@123456"
  30. # 性能优化参数
  31. export MINIO_API_REQUESTS_MAX=10000 # 提高API请求限制
  32. export MINIO_API_REQUESTS_DEADLINE=300 # 请求超时时间(秒)
  33. # 内存管理优化
  34. export MINIO_MAX_MEMORY="32GiB" # 限制MinIO最大内存使用
  35. export MINIO_MAX_HEAP="28GiB" # 最大堆内存
  36. export MINIO_MIN_HEAP="16GiB" # 初始堆内存
  37. # 垃圾回收优化 - 针对小文件场景
  38. export MINIO_GC="gcthreads=4" # GC线程数
  39. # 网络和IO优化
  40. export MINIO_NETWORK=on # 启用网络优化
  41. export MINIO_BUFFER_SIZE="64MiB" # 缓冲区大小
  42. # 集群模式启动命令
  43. # MinIO分布式模式:67机器2个目录 + 68机器2个目录 = 4节点集群(满足最小4驱动器要求)
  44. # ⚠️ 关键:两台机器必须使用完全相同的端点列表
  45. # ⚠️ 使用双引号让shell展开变量,然后传递给MinIO
  46. # 启动MinIO集群服务器
  47. exec "${MINIO_BINARY}" server \
  48. --address "${MINIO_ADDRESS}" \
  49. --console-address "${MINIO_CONSOLE_ADDRESS}" \
  50. --config-dir "${MINIO_CONFIG_DIR}" \
  51. --quiet \
  52. --anonymous \
  53. --json \
  54. "http://172.16.0.{67...68}:9000${MINIO_DATA_DIR1}" "http://172.16.0.{67...68}:9000${MINIO_DATA_DIR2}" \
  55. >> "${MINIO_LOG_DIR}/minio.log" 2>&1 &
  56. # 记录进程ID
  57. echo $! > "${MINIO_HOME}/minio.pid"
  58. echo "MinIO集群服务器已启动,PID: $(cat ${MINIO_HOME}/minio.pid)"
  59. echo "集群节点: 67机器(2个目录) + 68机器(2个目录) = 4节点集群"
  60. echo "控制台地址: http://${NODE68_IP}:9001"
  61. echo "API地址: http://${NODE68_IP}:9000"
  62. echo "数据目录: ${MINIO_DATA_DIR1}, ${MINIO_DATA_DIR2}"