MinIO 是一个基于 S3 协议的对象存储服务,适合用于本地开发、文件共享、对象存储实验以及轻量级私有云场景。本文整理了 Linux 环境下安装 MinIO、配置服务、挂载 S3FS 以及启用 FTP 协议的常用步骤。
1. 下载 MinIO
可以直接下载 MinIO 二进制文件:
1 2
| wget https://dl.min.io/server/minio/release/linux-amd64/minio chmod +x minio
|
如果你使用的是其他架构,例如 ARM,请前往 MinIO 官方下载页面获取对应版本。
2. 创建 MinIO 用户与目录
建议新建一个独立的系统用户来运行 MinIO:
1
| sudo useradd -r -m -s /bin/bash minio
|
然后创建所需目录:
1 2 3
| sudo mkdir -p /home/minio/bin /home/minio/conf /home/minio/data sudo cp minio /home/minio/bin/ sudo chown -R minio:minio /home/minio
|
3. 编写 MinIO 配置文件
创建配置文件:
1
| sudo vim /home/minio/conf/minio.conf
|
写入内容:
1 2 3 4
| MINIO_VOLUMES=/home/minio/data MINIO_OPTS="--console-address 0.0.0.0:9001 --address 0.0.0.0:9000" MINIO_ROOT_USER=minio MINIO_ROOT_PASSWORD=minio
|
说明:
MINIO_VOLUMES:MinIO 数据目录
MINIO_OPTS:控制台端口和 API 端口
MINIO_ROOT_USER:管理员账号
MINIO_ROOT_PASSWORD:管理员密码
4. 创建 systemd 服务
创建服务文件:
1
| sudo vim /etc/systemd/system/minio.service
|
示例内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| [Unit] Description=Minio Documentation=https://docs.minio.io Wants=network.target remote-fs.target nss-lookup.target After=network.target remote-fs.target nss-lookup.target AssertFileIsExecutable=/usr/local/bin/minio
[Service] WorkingDirectory=/home/minio User=minio Group=minio PermissionsStartOnly=true EnvironmentFile=-/home/minio/conf/minio.conf ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES StandardOutput=journal StandardError=inherit LimitNOFILE=65536 TimeoutStopSec=0 KillSignal=SIGTERM SendSIGKILL=no SuccessExitStatus=0
[Install] WantedBy=multi-user.target
|
注意事项
- 这里的
ExecStart 路径要与实际安装路径一致
- 如果 MinIO 文件安装在
/home/minio/bin/minio,则应将路径改为该位置
EnvironmentFile 指向的配置文件需要和实际文件路径一致
5. 启动与管理 MinIO
重新加载 systemd 配置:
1
| sudo systemctl daemon-reload
|
启动服务:
1
| sudo systemctl start minio.service
|
停止服务:
1
| sudo systemctl stop minio.service
|
重启服务:
1
| sudo systemctl restart minio.service
|
查看状态:
1
| sudo systemctl status minio.service
|
开机自启:
1
| sudo systemctl enable minio.service
|
6. 访问 MinIO 控制台
启动成功后,可以通过浏览器访问:
- 控制台地址:
http://127.0.0.1:9001
- API 地址:
http://127.0.0.1:9000
默认用户名和密码:
MINIO_ROOT_USER=minio
MINIO_ROOT_PASSWORD=minio
建议第一次登录后及时修改密码。
7. 安装并使用 s3fs 挂载
如果你希望把 MinIO 的对象存储挂载到本地文件系统,可以安装 s3fs:
创建密码文件:
内容:
设置权限:
1
| chmod 600 ~/.passwd_s3fs
|
挂载命令示例:
1 2 3 4 5 6
| s3fs test /minio/ \ -o passwd_file=/home/deepstream/.passwd_s3fs \ -o url=http://127.0.0.1:9000/ \ -o use_path_request_style \ -o umask=0002 \ -o uid=1000,gid=1000
|
说明:
test:目标 bucket 名称
/minio/:本地挂载目录
use_path_request_style:使用路径样式访问 S3
8. 调试参数
在排查挂载或访问问题时,可以加入调试参数:
1
| -o dbglevel=info -f -o curldbg
|
这些参数会输出更详细的调试信息,便于定位问题。
9. 取消挂载
1
| fusermount -u /home/ai/record
|
10. MinIO 开启 FTP 协议
MinIO 也支持 FTP 文件传输协议。可以参考官方文档:
minio 启用 FTP / SFTP 协议
示例命令:
1 2 3 4 5
| ./minio server /mnt/ \ --console-address 0.0.0.0:32120 \ --address 0.0.0.0:32119 \ --ftp="address=:32121" \ --ftp="passive-port-range=32122-42122"
|
11. 常见问题与建议
1)服务启动失败
先查看状态:
1
| sudo systemctl status minio.service
|
如果失败,可以查看日志:
1
| sudo journalctl -u minio.service -n 50
|
2)控制台无法访问
检查:
MINIO_OPTS 中的端口是否正确
- 防火墙是否放行相应端口
- MinIO 是否已成功启动
3)挂载失败
检查:
~/.passwd_s3fs 权限是否正确
- bucket 名称是否存在
url 是否指向正确的 MinIO 服务地址
12. 总结
MinIO 是一个轻量、易部署的对象存储解决方案,适合:
- 私有对象存储
- 本地开发环境测试
- 文件共享与备份场景
- 与 S3 客户端工具配合使用
如果你正在搭建自己的对象存储服务,MinIO 的部署与挂载流程是一个非常实用的入门方案。