Files
2025-11-27 00:02:01 +08:00

62 lines
1.8 KiB
Bash

#!/bin/bash
# MinIO优化启动脚本
# 版本: 1.0
# 描述: 针对小文件场景优化,限制内存使用32G
# MinIO安装目录
MINIO_HOME="/iflytek/soft/minio"
MINIO_BINARY="${MINIO_HOME}/minio"
# MinIO数据目录 (请根据实际情况修改)
MINIO_DATA_DIR="${MINIO_HOME}/data"
# MinIO配置目录
MINIO_CONFIG_DIR="${MINIO_HOME}/conf"
# MinIO日志目录
MINIO_LOG_DIR="${MINIO_HOME}/logs"
# 创建必要的目录
mkdir -p "${MINIO_DATA_DIR}" "${MINIO_CONFIG_DIR}" "${MINIO_LOG_DIR}"
# MinIO服务器地址和端口
MINIO_ADDRESS=":9000"
MINIO_CONSOLE_ADDRESS=":9001"
# 设置内存限制 - 最大32GB
export MINIO_ROOT_USER="minioadmin"
export MINIO_ROOT_PASSWORD="minioadmin@123456"
# 性能优化参数
export MINIO_API_REQUESTS_MAX=10000 # 提高API请求限制
export MINIO_API_REQUESTS_DEADLINE=300 # 请求超时时间(秒)
# 内存管理优化
export MINIO_MAX_MEMORY="32GiB" # 限制MinIO最大内存使用
export MINIO_MAX_HEAP="28GiB" # 最大堆内存
export MINIO_MIN_HEAP="16GiB" # 初始堆内存
# 垃圾回收优化 - 针对小文件场景
export MINIO_GC="gcthreads=4" # GC线程数
# 网络和IO优化
export MINIO_NETWORK=on # 启用网络优化
export MINIO_BUFFER_SIZE="64MiB" # 缓冲区大小
# 启动MinIO服务器
exec "${MINIO_BINARY}" server "${MINIO_DATA_DIR}" \
--address "${MINIO_ADDRESS}" \
--console-address "${MINIO_CONSOLE_ADDRESS}" \
--config-dir "${MINIO_CONFIG_DIR}" \
--quiet \
--anonymous \
--json \
>> "${MINIO_LOG_DIR}/minio.log" 2>&1 &
# 记录进程ID
echo $! > "${MINIO_HOME}/minio.pid"
echo "MinIO服务器已启动,PID: $(cat ${MINIO_HOME}/minio.pid)"
echo "控制台地址: http://$(hostname -I | awk '{print $1}'):9001"
echo "API地址: http://$(hostname -I | awk '{print $1}'):9000"