logo NodeSeekbeta

自建对象存储 MinIO - 构建高效可靠的数据存储系统

简单理解: 对象存储 就是一个网络目录,可以上传文件、下载文件


MinIO 是根据 GNU Affero 通用公共许可证 v3.0 发布的高性能对象存储。它与 Amazon S3 云存储服务 API 兼容。使用 MinIO 为机器学习、分析和应用程序数据工作负载构建高性能基础架构。

GitHub: minio/minio: Multi-Cloud Object Storage (github.com)
官网: MinIO | High Performance, Kubernetes Native Object Storage

MinIO Server

Linux 文档: MinIO Object Storage for Linux — MinIO Object Storage for Linux

安装和维护MinIO Server 安装和维护 - 技焉洲 (vfly2.com)

使用

  • 9000 为 API 端口,用于让程序上传下载,以及充当图床时用的也是它
  • 9001 是 Web 后台 的端口。访问 ip:9001 即可到 Web 管理后台

基本使用流程:

  1. 先到【Buckets】创建新的“桶”,输入 Bucket Name 即可,其他可不填
  2. 点击创建的桶,在【Summary】找到【Access Policy】,这里配置桶的访问权限,有预设的 Private 和 Public,还可以自定义 Custom
  3. 在【Object Browser】中,进入桶,就能创建目录、上传文件等操作;但真正发挥对象存储作用的还要靠它的客户端 mc ,利用编程将 MinIO 作为一个安全可扩展的网络存储。

服务端上文件的下载链接格式(填入 ip 或域名,桶名和文件名就可以了,注意端口是 9000)

http://ip:9000/vfly2/file.name

作为图床、视频床使用: MinIO + PicList | 自建图床、视频音频床方案 - 技焉洲 (vfly2.com)

mc

mc 是 MinIO 的命令行客户端,用于操作和管理 MinIO

使用文档: MinIO Client — MinIO Object Storage for Linux

安装MinIO Client 安装 - 技焉洲 (vfly2.com)

添加服务端

格式为 mc alias set ALIAS HOSTNAME ACCESS_KEY SECRET_KEY,全大写的是要自定义的。比如,我在同一台机器上安装了 MinIO Server,我可以用 local 作为它的别名(ALIAS),那么命令就是:

mc alias set local http://127.0.0.1:9000 vfly2 pass_vfly2_word

# Windows 上的 mc 用法一模一样
D:\Tool\mc\mc.exe alias set local http://127.0.0.1:9000 vfly2 pass_vfly2_word

验证是否能连接服务端

mc admin info local   # local 是上面设置服务端的别名

基本使用

在任何命令后面,加上 --dry-run 不实际执行

复制

# 系统上的文件上传到 别名为 local 的 MinIO 服务端的 vfly2 桶中
mc cp ~/file.name local/vfly2

# 将目录下全部文件上传,同名文件会覆盖
mc cp --recursive ~/mydata/ local/mydata/

# 也能反过来,把 MinIO 的文件复制到系统上
mc cp local/vfly2/file.name ~/

删除

# 删除 local/backup/ImagebedServer/ 下的所有文件包括目录本身
mc rm --recursive --force local/backup/ImagebedServer/ --dry-run

原文链接: https://technique.vfly2.com/2024/02/self-host-object-storage/

版权声明:本博客所有文章除特別声明外,均为 AhFei 原创,采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 技焉洲 (technique.vfly2.com)

  • 不错 搭建到nas上爽歪歪

  • 鸡腿

  • Docker一把梭

    sudo docker run -d --restart=unless-stopped -p 9898:9898 -p 9191:9191 --name minio1 \
    
      -v /路径/data:/data \
    
      -e "MINIO_ROOT_USER=用户名" \
    
      -e "MINIO_ROOT_PASSWORD=密码" \
    
      minio/minio server /data --console-address ":9001"
    
    
    
  • @FCB #3 文章里也有提供 docker compose 的安装,是我以前用的。docker 版本的功能比二进制版本少,不过不影响基本使用。我觉得二进制文件没必要用 docker,并没有更简单

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有15384位seeker

🎉欢迎新用户🎉