sudo yum update -y
sudo tee /etc/yum.repos.d/minio.repo << EOF
[minio-stable]
name=MinIO stable release
baseurl=https://dl.min.io/server/minio/release/linux/amd64/
enabled=1
gpgcheck=1
gpgkey=https://dl.min.io/server/minio/release/linux/amd64/gpgkey
EOF
sudo yum install -y minio-server
sudo mkdir -p /data/minio
sudo chown minio:minio /data/minio
sudo systemctl start minio-server
sudo systemctl enable minio-server
9000(API)、9001(控制台)。http://<服务器IP>:9001,使用默认账号minioadmin/minioadmin登录(建议首次登录后立即修改)。/dev/sdb1),修改/etc/fstab实现开机自动挂载:/dev/sdb1 /data/minio ext4 defaults,noatime,nodiratime 0 0
noatime:禁用访问时间更新,减少磁盘写操作。nodiratime:禁用目录访问时间更新。编辑/etc/sysctl.conf,添加以下参数以提升网络和文件系统性能:
# TCP参数优化
net.ipv4.tcp_tw_reuse = 1 # 复用TIME-WAIT连接
net.ipv4.tcp_tw_recycle = 1 # 快速回收TIME-WAIT连接(CentOS 8+已弃用,可忽略)
net.ipv4.tcp_fin_timeout = 30 # TIME-WAIT超时时间(秒)
net.ipv4.tcp_keepalive_time = 1200 # 保活时间(秒)
net.ipv4.ip_local_port_range = "1024 65535" # 可用端口范围
net.core.somaxconn = 65535 # 监听队列最大长度
net.core.netdev_max_backlog = 2000 # 网络设备接收队列最大长度
net.ipv4.tcp_max_orphans = 32768 # 最大孤儿连接数
net.ipv4.tcp_syncookies = 1 # 防止SYN洪水攻击
# 文件系统参数
fs.file-max = 1000000 # 系统最大文件描述符数
使配置生效:
sudo sysctl -p
编辑/etc/security/limits.conf,添加以下内容(针对minio用户):
minio soft nofile 65535
minio hard nofile 65535
minio soft nproc 65535
minio hard nproc 65535
nofile:最大文件描述符数(处理并发连接)。nproc:最大进程/线程数。通过环境变量调整MinIO运行参数(在/etc/default/minio中添加):
MINIO_ACCESS_KEY=your_access_key # 替换为强密码(12位以上,含大小写、数字、符号)
MINIO_SECRET_KEY=your_secret_key # 替换为强密码
MINIO_BROKER_THREADS=8 # 工作线程数(根据CPU核心数调整,建议2-4倍)
MINIO_CACHE_SIZE=1073741824 # 缓存大小(1GB,默认0,提升热点数据读取性能)
MINIO_LOG_LEVEL=info # 日志级别(debug/info/warn/error,生产环境建议info)
重启MinIO使配置生效:
sudo systemctl restart minio-server
MinIO默认使用纠删码(Erasure Coding)保证数据可靠性,可通过mc(MinIO Client)调整纠删码参数(如4数据块+2校验块,容忍2块磁盘损坏):
mc alias set myminio http://<服务器IP>:9000 your_access_key your_secret_key
mc admin config set myminio/ erasure-code=4x2
mc admin service restart myminio
分片大小影响读写性能,较大分片提升写入性能,较小分片提升读取性能(默认8MB,可根据业务调整):
mc admin config set myminio/ block-size 16M # 设置为16MB(适用于大文件上传场景)
mc admin service restart myminio
minio server命令指定所有数据目录(如minio server http://node1/data http://node2/data http://node3/data),实现数据分片和高可用。首次登录控制台后,立即修改minioadmin/minioadmin为自定义强密码(包含大小写、数字、符号,长度≥12位)。
/etc/ssl/minio/cert.pem和/etc/ssl/minio/key.pem)。sudo systemctl stop minio-server
MINIO_ACCESS_KEY=your_access_key MINIO_SECRET_KEY=your_secret_key \
minio server /data/minio --certs-dir /etc/ssl/minio
允许MinIO端口(9000、9001),并禁用不必要的端口:
sudo firewall-cmd --zone=public --add-port=9000/tcp --permanent
sudo firewall-cmd --zone=public --add-port=9001/tcp --permanent
sudo firewall-cmd --reload
journalctl -u minio-server -f # 实时查看日志
登录控制台(http://<服务器IP>:9001),查看存储用量、请求速率、延迟等指标。
sudo yum update -y minio-server # 升级到最新稳定版本
通过以上步骤,可在CentOS上完成MinIO的性能优化安装,兼顾高并发、高可靠性和安全性。根据实际业务需求,可进一步调整参数(如线程数、缓存大小)或扩展集群规模。