温馨提示×

MinIO在Linux上的存储配置如何设置

小樊
43
2025-12-10 15:50:58
栏目: 云计算

Linux 上 MinIO 存储配置步骤

一 准备与目录权限

  • 创建数据目录(示例:/dataminio),并确保运行 MinIO 的用户对该目录具备读写权限。示例:sudo mkdir -p /dataminio && sudo chown -R $(whoami):$(whoami) /dataminio。如使用 systemd 并以 root 运行服务,目录通常需对 root 可写。为后续扩展,建议准备多块磁盘或挂载点,便于后续扩容或多路径存储。

二 配置环境变量

  • 创建环境文件 /etc/default/minio,设置存储路径、控制台地址及管理员凭据(变量名可按需使用 MINIO_ 前缀或旧写法,保持与 systemd 服务读取一致)。示例:
    • 使用新变量名(推荐):
      MINIO_VOLUMES="/dataminio"
      MINIO_OPTS="--console-address :9001"
      MINIO_ROOT_USER="minioadmin"
      MINIO_ROOT_PASSWORD="minioadmin"
      
    • 使用旧写法(部分教程示例):
      minio_volumes="/dataminio"
      minio_opts="--console-address :9001"
      minio_root_user="minioadmin"
      minio_root_password="minioadmin"
      
    说明:MINIO_VOLUMES 指定数据目录;MINIO_OPTS 可设置控制台端口(如 :9001),API 端口默认 :9000

三 配置 systemd 服务

  • 创建服务文件 /etc/systemd/system/minio.service,使用 EnvironmentFile 加载上述变量并启动服务:
    [Unit]
    Description=MinIO
    Documentation=https://min.io/docs/minio/linux/index.html
    Wants=network-online.target
    After=network-online.target
    AssertFileIsExecutable=/usr/local/bin/minio
    
    [Service]
    WorkingDirectory=/usr/local
    ProtectProc=invisible
    EnvironmentFile=-/etc/default/minio
    ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
    ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
    Restart=always
    LimitNOFILE=65536
    TasksMax=infinity
    TimeoutStopSec=infinity
    SendSigKill=no
    
    [Install]
    WantedBy=multi-user.target
    
    说明:ExecStartPre 用于校验必填变量;LimitNOFILE 提升文件句柄上限,可按需增大。

四 启动与验证

  • 重新加载 systemd 并启动服务:
    sudo systemctl daemon-reload
    sudo systemctl start minio
    sudo systemctl enable minio
    sudo systemctl status minio
    
  • 访问控制台 http://<服务器IP>:9001,使用 MINIO_ROOT_USERMINIO_ROOT_PASSWORD 登录;API 端口默认为 9000(如未修改)。如需从远程访问,请放行防火墙端口(示例:sudo ufw allow 9000firewall-cmd --add-port=9000/tcp --permanent)。

五 扩展与常见场景

  • 多磁盘/多路径:将多个目录用空格分隔加入 MINIO_VOLUMES,例如:MINIO_VOLUMES="/data1 /data2 /data3",MinIO 将进行条带化分布存储。
  • Docker 部署:映射宿主机数据目录并设定环境变量,示例:
    docker run -d --name minio --restart always \
      -p 9000:9000 -p 9001:9001 \
      -e MINIO_ROOT_USER=admin \
      -e MINIO_ROOT_PASSWORD=password123 \
      -v /opt/data/minio:/data \
      minio/minio server /data
    
    如使用 Bitnami 镜像,注意容器内用户与目录权限(常见为 1001:1001)。
  • 安全与运维:建议启用 HTTPS、限制访问 IP、定期备份;使用 mc(MinIO Client)进行桶与对象管理,如 mc alias set myminio http://<IP>:9000 <AK> <SK>mc mb myminio/mybucketmc cp ...

0