Linux 安装 MinIO 与基础使用

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
sudo apt install s3fs

创建密码文件:

1
vim ~/.passwd_s3fs

内容:

1
minio:minio

设置权限:

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 的部署与挂载流程是一个非常实用的入门方案。


Linux 安装 MinIO 与基础使用
https://jgq12138.github.io/2023/06/19/linux_install_minio/
作者
JGQ12138
发布于
2023年6月19日
许可协议