首页主机资讯如何在Ubuntu中使用MinIO进行文件共享

如何在Ubuntu中使用MinIO进行文件共享

时间2026-01-20 13:34:04发布访客分类主机资讯浏览806
导读:在 Ubuntu 中使用 MinIO 进行文件共享 一 架构与准备 角色划分:在 Ubuntu 上部署 MinIO 服务器用于对象存储,客户端通过 S3 兼容接口或 s3fs 挂载为本地目录进行读写,实现文件共享。 端口与访问:MinIO...

在 Ubuntu 中使用 MinIO 进行文件共享

一 架构与准备

  • 角色划分:在 Ubuntu 上部署 MinIO 服务器用于对象存储,客户端通过 S3 兼容接口s3fs 挂载为本地目录进行读写,实现文件共享。
  • 端口与访问:MinIO API 默认端口 9000,控制台默认端口 9001;如启用了 TLS/反向代理,API 也可能在 443。确保防火墙放行对应端口(如 ufw allow 9000,9001 或云安全组放行)。
  • 基本环境:准备一个 Bucket(如:files),并为客户端生成 Access Key/Secret Key。如使用自签名证书或反向代理,注意客户端需信任对应证书。

二 安装与启动 MinIO 服务器

  • 方式一 手动二进制(简单直观)

    1. 下载并安装
      wget https://dl.min.io/server/minio/release/linux-amd64/minio
      chmod +x minio
      sudo mv minio /usr/local/bin/
      mkdir -p ~/minio-data
      
    2. 设置管理员账户(环境变量)
      echo 'export MINIO_ROOT_USER=admin' >
          >
           ~/.bashrc
      echo 'export MINIO_ROOT_PASSWORD=StrongPassw0rd!' >
          >
           ~/.bashrc
      source ~/.bashrc
      
    3. 启动服务(API 9000,控制台 9001)
      nohup minio server ~/minio-data --address ":9000" --console-address ":9001" >
           ~/minio.log 2>
          &
          1 &
          
      
    4. 访问控制台:浏览器打开 http://< 服务器IP> :9001,使用上一步设置的账号登录。
  • 方式二 systemd 服务(生产推荐)

    1. 创建系统用户与数据目录
      sudo useradd -r -s /usr/sbin/nologin minio-user
      sudo mkdir -p /data/minio
      sudo chown minio-user:minio-user /data/minio
      
    2. 创建服务文件 /etc/systemd/system/minio.service
      [Unit]
      Description=MinIO Server
      After=network.target
      
      [Service]
      Type=notify
      User=minio-user
      Group=minio-user
      EnvironmentFile=/etc/default/minio
      ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
      Restart=always
      LimitNOFILE=1048576
      
      [Install]
      WantedBy=multi-user.target
      
    3. 创建环境文件 /etc/default/minio
      MINIO_ROOT_USER=admin
      MINIO_ROOT_PASSWORD=StrongPassw0rd!
      MINIO_VOLUMES="/data/minio"
      MINIO_OPTS="--address :9000 --console-address :9001"
      
    4. 启动与开机自启
      sudo systemctl daemon-reload
      sudo systemctl enable --now minio
      
    5. 防火墙放行
      sudo ufw allow 9000,9001/tcp    # 如使用云主机,还需在安全组放行
      

三 方式一 S3 挂载共享(s3fs 将 Bucket 挂载为本地目录)

  • 适用场景:希望像本地磁盘一样访问 MinIO 上的 Bucket,多台主机可同时挂载同一 Bucket 进行共享协作。
  • 安装与准备
    sudo apt-get update
    sudo apt-get install -y fuse s3fs
    echo "ACCESS_KEY:SECRET_KEY" >
         ~/.passwd-s3fs
    chmod 600 ~/.passwd-s3fs
    mkdir -p ~/minio-mount
    
  • 挂载命令(示例)
    s3fs mybucket ~/minio-mount \
      -o passwd_file=~/.passwd-s3fs \
      -o url=http://<
        MINIO_IP>
        :9000 \
      -o use_path_request_style \
      -o allow_other
    
    说明:
    • mybucket 替换为你的 Bucket 名称,< MINIO_IP> 替换为服务器地址。
    • 如 MinIO 启用了 TLS(HTTPS),将 url 改为 https://…;如使用自签名证书,需将 CA 证书加入受信任根并在挂载时通过 -o cert_file=… 指定。
  • 开机自动挂载(/etc/fstab)
    s3fs#mybucket  /home/ubuntu/minio-mount  fuse  _netdev,allow_other,passwd_file=/home/ubuntu/.passwd-s3fs,url=http://<
        MINIO_IP>
        :9000,use_path_request_style  0  0
    
  • 验证
    ls ~/minio-mount
    echo "Hello MinIO" >
         ~/minio-mount/test.txt
    cat ~/minio-mount/test.txt
    
  • 注意事项
    • 挂载为“按需访问”,性能受网络影响;离线时不可用(除非配置了缓存/本地副本)。
    • 多机并发写同一对象可能产生写冲突;建议按目录/前缀进行写入隔离或使用应用层锁。

四 方式二 同步共享(mc mirror,适合备份与分发)

  • 适用场景:将本地目录与 Bucket 双向/单向保持同步,适合备份、镜像、离线可用等。
  • 安装 mc
    wget https://dl.min.io/client/mc/release/linux-amd64/mc
    chmod +x mc
    sudo mv mc /usr/local/bin/
    mc --version
    
  • 配置别名并同步
    mc alias set myminio http://<
        MINIO_IP>
        :9000 ACCESS_KEY SECRET_KEY
    
    # 一次性全量同步
    mc mirror /path/to/local/folder myminio/mybucket
    
    # 持续监听并增量同步(单向)
    mc mirror --watch /path/to/local/folder myminio/mybucket
    
    # 双向实时(两个终端各跑一条)
    mc mirror --watch /path/to/local/folder  myminio/mybucket
    mc mirror --watch myminio/mybucket /path/to/local/folder
    
  • 说明
    • 同步是“复制数据”而非挂载,目标端会持久化保存一份副本;无网时仍可使用上次同步的文件。

五 方式三 生成临时下载链接(无需挂载与同步)

  • 适用场景:对外临时分享文件下载链接,链接可设置有效期
  • 步骤
    1. 配置别名
      mc alias set myminio http://<
          MINIO_IP>
          :9000 ACCESS_KEY SECRET_KEY
      
    2. 生成共享链接(示例:有效期 12 小时,递归整个 Bucket)
      mc share download --recursive --expire=12h myminio/mybucket/ >
           links.txt
      
    3. 查看 links.txt,每行即为可访问的下载 URL;也可将链接提供给迁移/下游系统使用。
  • 提示
    • 链接有效期最长通常不超过 7 天(168 小时);如需长期共享,请考虑设置 Bucket/对象策略或使用程序化签名 URL。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何在Ubuntu中使用MinIO进行文件共享
本文地址: https://pptw.com/jishu/787204.html
MinIO在Ubuntu中的存储效率如何 Ubuntu环境下MinIO安全性怎样保障

游客 回复需填写必要信息