在 Ubuntu 上部署和优化 MinIO 性能,通常可以从硬件、系统、MinIO 配置、网络、客户端使用方式几个层面来做。下面按实战优先级给你一份优化清单。
mkfs.xfs -f /dev/sdX
/dev/sdX /mnt/disk1 xfs defaults,noatime,nodiratime 0 0
✅ 不要使用 RAID(MinIO 自身做擦除码)
编辑 /etc/sysctl.conf:
# 网络
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.ip_local_port_range = 1024 65535
# 文件
fs.file-max = 1000000
应用:
sysctl -p
编辑 /etc/security/limits.conf:
* soft nofile 100000
* hard nofile 100000
swapoff -a
并注释 /etc/fstab 中 swap 行
uname -r
建议 Ubuntu 22.04+,内核 5.15+
示例(4 节点 × 4 盘):
minio server \
http://node{1...4}/data{1...4}
export MINIO_OPTS="--console-address :9001"
常用环境变量:
export MINIO_ROOT_USER=minioadmin
export MINIO_ROOT_PASSWORD=minioadmin
export MINIO_API_REQUESTS_MAX=2000
export MINIO_API_CLUSTER_DEADLINE=30s
/etc/systemd/system/minio.service 示例:
[Service]
User=minio
Group=minio
EnvironmentFile=/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_VOLUMES $MINIO_OPTS
Restart=always
systemctl daemon-reload
systemctl restart minio
ip link set eth0 mtu 9000
mc 并发上传mc cp --recursive --parallel=32 local/ myminio/bucket/
MinIO 原生支持:
export MINIO_PROMETHEUS_AUTH_TYPE=public
✅ SSD / NVMe
✅ 多盘 + 分布式
✅ 10G 网络
✅ 关闭 swap
✅ 调整 fd & 内核参数
✅ 使用并发客户端
如果你愿意,可以告诉我:
我可以给你定制化的 MinIO 优化方案。