start-minio-cluster.sh 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. #!/bin/bash
  2. # MinIO集群快速启动脚本
  3. # 版本: 1.0
  4. # 描述: 同时启动67和68机器的MinIO集群节点
  5. # 使用方法: ./start-minio-cluster.sh
  6. # 配置参数
  7. NODE67_IP="172.16.0.67"
  8. NODE68_IP="172.16.0.68"
  9. NODE67_USER="root" # 根据实际情况修改
  10. NODE68_USER="root" # 根据实际情况修改
  11. MINIO_SCRIPT_PATH="/iflytek/soft/minio/minio-cluster-start.sh"
  12. # 颜色输出
  13. RED='\033[0;31m'
  14. GREEN='\033[0;32m'
  15. YELLOW='\033[1;33m'
  16. NC='\033[0m' # No Color
  17. echo -e "${GREEN}========================================${NC}"
  18. echo -e "${GREEN}MinIO集群启动脚本${NC}"
  19. echo -e "${GREEN}========================================${NC}"
  20. echo ""
  21. # 检查SSH连接
  22. echo -e "${YELLOW}[1/4] 检查SSH连接...${NC}"
  23. if ! ssh -o ConnectTimeout=5 ${NODE67_USER}@${NODE67_IP} "echo 'SSH连接成功'" > /dev/null 2>&1; then
  24. echo -e "${RED}错误: 无法连接到67机器 (${NODE67_IP})${NC}"
  25. echo "请检查:"
  26. echo " 1. SSH密钥配置"
  27. echo " 2. 网络连通性"
  28. echo " 3. 用户名是否正确"
  29. exit 1
  30. fi
  31. if ! ssh -o ConnectTimeout=5 ${NODE68_USER}@${NODE68_IP} "echo 'SSH连接成功'" > /dev/null 2>&1; then
  32. echo -e "${RED}错误: 无法连接到68机器 (${NODE68_IP})${NC}"
  33. echo "请检查:"
  34. echo " 1. SSH密钥配置"
  35. echo " 2. 网络连通性"
  36. echo " 3. 用户名是否正确"
  37. exit 1
  38. fi
  39. echo -e "${GREEN}✓ SSH连接正常${NC}"
  40. echo ""
  41. # 检查MinIO脚本是否存在
  42. echo -e "${YELLOW}[2/4] 检查MinIO启动脚本...${NC}"
  43. if ! ssh ${NODE67_USER}@${NODE67_IP} "test -f ${MINIO_SCRIPT_PATH}"; then
  44. echo -e "${RED}错误: 67机器上找不到MinIO启动脚本: ${MINIO_SCRIPT_PATH}${NC}"
  45. exit 1
  46. fi
  47. if ! ssh ${NODE68_USER}@${NODE68_IP} "test -f ${MINIO_SCRIPT_PATH}"; then
  48. echo -e "${RED}错误: 68机器上找不到MinIO启动脚本: ${MINIO_SCRIPT_PATH}${NC}"
  49. exit 1
  50. fi
  51. echo -e "${GREEN}✓ MinIO启动脚本存在${NC}"
  52. echo ""
  53. # 停止现有MinIO服务
  54. echo -e "${YELLOW}[3/4] 停止现有MinIO服务...${NC}"
  55. ssh ${NODE67_USER}@${NODE67_IP} "pkill -f 'minio server' || true"
  56. ssh ${NODE68_USER}@${NODE68_IP} "pkill -f 'minio server' || true"
  57. sleep 2
  58. echo -e "${GREEN}✓ 已停止现有服务${NC}"
  59. echo ""
  60. # 同时启动集群节点
  61. echo -e "${YELLOW}[4/4] 启动MinIO集群节点...${NC}"
  62. echo -e "${GREEN}正在启动67机器节点...${NC}"
  63. ssh ${NODE67_USER}@${NODE67_IP} "cd /iflytek/soft/minio && nohup ${MINIO_SCRIPT_PATH} > /dev/null 2>&1 &"
  64. echo -e "${GREEN}正在启动68机器节点...${NC}"
  65. ssh ${NODE68_USER}@${NODE68_IP} "cd /iflytek/soft/minio && nohup ${MINIO_SCRIPT_PATH} > /dev/null 2>&1 &"
  66. # 等待服务启动
  67. echo -e "${YELLOW}等待服务启动(5秒)...${NC}"
  68. sleep 5
  69. # 验证服务状态
  70. echo ""
  71. echo -e "${YELLOW}验证服务状态...${NC}"
  72. if ssh ${NODE67_USER}@${NODE67_IP} "pgrep -f 'minio server' > /dev/null"; then
  73. echo -e "${GREEN}✓ 67机器MinIO服务运行中${NC}"
  74. else
  75. echo -e "${RED}✗ 67机器MinIO服务未运行${NC}"
  76. fi
  77. if ssh ${NODE68_USER}@${NODE68_IP} "pgrep -f 'minio server' > /dev/null"; then
  78. echo -e "${GREEN}✓ 68机器MinIO服务运行中${NC}"
  79. else
  80. echo -e "${RED}✗ 68机器MinIO服务未运行${NC}"
  81. fi
  82. echo ""
  83. echo -e "${GREEN}========================================${NC}"
  84. echo -e "${GREEN}MinIO集群启动完成!${NC}"
  85. echo -e "${GREEN}========================================${NC}"
  86. echo ""
  87. echo "集群访问地址:"
  88. echo " 67机器控制台: http://${NODE67_IP}:9001"
  89. echo " 68机器控制台: http://${NODE68_IP}:9001"
  90. echo " 67机器API: http://${NODE67_IP}:9000"
  91. echo " 68机器API: http://${NODE68_IP}:9000"
  92. echo ""
  93. echo "验证集群状态:"
  94. echo " mc admin info minio-cluster"
  95. echo ""