文档文档

使用 MinIO 进行对象存储

MinIO 用作 InfluxDB 3 Core 实例的对象存储。InfluxDB 使用 MinIO S3 兼容 API 与您的 MinIO 服务器或集群进行交互。

MinIO 是一个高性能、S3 兼容的对象存储解决方案,根据 GNU AGPL v3.0 许可证发布。它旨在实现速度和可扩展性,以行业领先的性能为 AI/ML、分析和数据密集型工作负载提供支持。

MinIO GitHub 存储库

MinIO 提供了开源版本(MinIO Community Edition)和企业版本(MinIO AIStor)。虽然两者都可以用作您的 InfluxDB 3 Core 对象存储,**但本指南将介绍如何使用 MinIO Community Edition**。

设置 MinIO

  1. 安装和部署 MinIO 服务器或集群.

    您可以在本地安装 MinIO 进行测试和开发,也可以部署一个跨多个机器的生产 MinIO 集群。MinIO 文档提供了详细的安装和部署 MinIO 的说明,具体取决于您的目标操作系统。

  2. 下载并安装 MinIO 客户端 (mc).

    MinIO 客户端,即 mc CLI,允许您对 MinIO 服务器或集群执行管理任务,例如创建用户、分配访问策略等。为您的本地操作系统和体系结构下载并安装 mc CLI。

    请参阅 MinIO 下载页面的 **MinIO 客户端** 部分.

  3. 配置 mc CLI 以连接到您的 MinIO 服务器或集群.

    mc CLI 使用“别名”来连接到 MinIO 服务器或集群。别名指一组用于连接到您的 MinIO 服务器并对其进行授权的凭证。

    使用 mc alias set 命令并提供以下信息:

    • 别名:此凭证集(ALIAS)的唯一名称或标识符
    • MinIO URL:您的 MinIO 服务器或集群的 URL(如果本地运行,则为 https://:9000
    • Root 用户名:设置 MinIO 服务器或集群时指定的 root 用户名(ROOT_USERNAME
    • Root 密码:设置 MinIO 服务器或集群时指定的 root 密码(ROOT_PASSWORD
    mc alias set 
    ALIAS
    https://:9000
    ROOT_USERNAME
    ROOT_PASSWORD
  4. 创建 MinIO 存储桶.

    使用MinIO Consolemc mb命令在您的 MinIO 服务器或集群中创建一个新存储桶。

    MinIO Console 是一个图形用户界面,允许您管理和浏览 MinIO 服务器或集群中的存储桶。默认情况下,控制台运行在端口 9001 上。

    如果 MinIO 在您的本地计算机上运行,请访问 https://:9001 来访问 MinIO Console。如果 MinIO 在远程服务器上运行,请使用您的自定义域名或 IP 来访问 MinIO Console。

    1. 在 Minio Console 中,点击 **Create Bucket**。
    2. 输入一个存储桶名称。在本指南中,请使用 influxdb3
    3. 点击 **Create Bucket**。

    使用 mc mb 命令创建一个名为 influxdb3 的新 MinIO 存储桶。提供在 第 3 步中配置的 MinIO 别名以及存储桶名称,使用 ALIAS/BUCKET_NAME 语法 — 例如:

    mc mb 
    ALIAS
    /influxdb3
  5. 创建 MinIO 用户.

    使用 mc admin user add 命令创建一个新用户。提供以下信息:

    • MinIO 别名:要添加用户的 MinIO 服务器别名(在 第 3 步中创建)(ALIAS
    • 用户名:用户的唯一用户名(MINIO_USERNAME
    • 密码:用户的密码(MINIO_PASSWORD
    mc admin user add 
    ALIAS
    MINIO_USERNAME
    MINIO_PASSWORD

    MinIO 用户凭证等同于您通常用于授权 AWS S3 的凭证。

    • MinIO 用户名等同于 AWS 访问密钥 ID。
    • MinIO 密码等同于 AWS 密钥。
  6. 创建一个允许完全访问 influxdb3 存储桶的访问策略.

    MinIO 使用 S3 兼容的访问策略来授权对存储桶的访问。要创建一个新的访问策略:

    1. 创建一个名为 influxdb3-policy.json 的文件,其中包含以下 JSON:

      {
        "Version": "2012-10-17",
        "Statement": [
          {
            "Action": [
              "s3:GetBucketLocation",
              "s3:ListBucket"
            ],
            "Effect": "Allow",
            "Resource": ["arn:aws:s3:::influxdb3"]
          },
          {
            "Action": [
              "s3:PutObject",
              "s3:GetObject",
              "s3:DeleteObject"
            ],
            "Effect": "Allow",
            "Resource": ["arn:aws:s3:::influxdb3/*"]
          }
        ]
      }
    2. 使用 mc admin policy create 命令在您的 MinIO 服务器或集群中创建新的访问策略。提供以下信息:

      • MinIO 别名:要添加访问策略的 MinIO 服务器别名(在 第 3 步中创建)(ALIAS
      • 策略名称:策略的唯一名称(POLICY_NAME
      • 策略文件:您的 influxdb3-policy.json 策略文件的相对或绝对文件路径(/path/to/influxdb3-policy.json
      mc admin policy create \
        
      ALIAS
      \
      POLICY_NAME
      \
      /path/to/influxdb3-policy.json
  7. 将访问策略附加到您的用户。

    使用 mc admin policy attach 命令将访问策略附加到您的用户。

    MinIO 支持将访问策略附加到用户和用户组。用户组中的所有用户都将继承附加到该组的策略。有关管理 MinIO 用户组的信息,请参阅 MinIO Group Management

    提供以下内容

    • MinIO 别名:在 第 3 步中创建的 MinIO 服务器别名(ALIAS
    • 策略名称:策略的唯一名称(POLICY_NAME
    • 用户名组名:要分配策略的用户或用户组(MINIO_USERNAMEMINIO_GROUP_NAME
    mc admin policy attach 
    ALIAS
    POLICY_NAME
    --user
    MINIO_USERNAME
    mc admin policy attach 
    ALIAS
    POLICY_NAME
    --group
    MINIO_GROUP_NAME

您的 MinIO 服务器或集群现已设置完毕,可以与 InfluxDB 3 Core 一起使用。

配置 InfluxDB 连接到 MinIO

要将您的 MinIO 服务器或集群用作 InfluxDB 3 Core 实例的对象存储,请在 influxdb3 serve 命令中提供以下选项或环境变量:

  • --node-id:您的 InfluxDB 3 Core 节点 ID(INFLUXDB_NODE_ID
  • --object-stores3
  • --bucketinfluxdb3
  • --aws-endpoint:您的 MinIO URL(如果本地运行,则为 https://:9000
  • --aws-access-key-id:您的 MinIO 用户名(MINIO_USERNAME
  • --aws-secret-access-key:您的 MinIO 密码(MINIO_PASSWORD
  • --aws-allow-http(可选) 如果**不**使用 HTTPS 连接到您的 MinIO 服务器或集群,请包含此项。
influxdb3 serve \
  --node-id 
INFLUXDB_NODE_ID
\
--object-store s3 \ --bucket influxdb3 \ --aws-endpoint
https://:9000
\
--aws-access-key-id
MINIO_USERNAME
\
--aws-secret-access-key
MINIO_PASSWORD
\
--aws-allow-http
  • INFLUXDB3_NODE_IDENTIFIER_PREFIX:您的 InfluxDB 3 Core 节点 ID(INFLUXDB_NODE_ID
  • INFLUXDB3_OBJECT_STOREs3
  • INFLUXDB3_BUCKETinfluxdb3
  • AWS_ENDPOINT:您的 MinIO URL(如果本地运行,则为 https://:9000
  • AWS_ACCESSKEY_ID:您的 MinIO 用户名(MINIO_USERNAME
  • AWS_SECRET_ACCESS_KEY:您的 MinIO 密码(MINIO_PASSWORD
  • AWS_ALLOW_HTTP(可选) 如果**不**使用 HTTPS 连接到您的 MinIO 服务器或集群,请设置为 true(默认为 false)。
export INFLUXDB3_NODE_IDENTIFIER_PREFIX=
INFLUXDB_NODE_ID
export INFLUXDB3_OBJECT_STORE=s3 export INFLUXDB3_BUCKET=influxdb3 export AWS_ENDPOINT=
https://:9000
export AWS_ACCESS_KEY_ID=
MINIO_USERNAME
export AWS_SECRET_ACCESS_KEY=
MINIO_PASSWORD
export AWS_ALLOW_HTTP=true influxdb3 serve

确认对象存储正在工作

InfluxDB 3 Core 启动时,它将使用必要的目录结构初始化您的 MinIO 对象存储,并开始在那里存储数据。确认对象存储正常运行:

  1. 查看 influxdb3 serve 的日志输出,以确认服务器正在正确运行。

  2. 检查您的 MinIO influxdb3 存储桶的内容,以确认已创建必要的目录结构。您可以使用 **MinIO Console** 或 **mc ls 命令** 来查看存储桶的内容 — 例如:

    mc ls 
    ALIAS
    /influxdb3

此页面是否有帮助?

感谢您的反馈!


InfluxDB 3.8 新特性

InfluxDB 3.8 和 InfluxDB 3 Explorer 1.6 的主要增强功能。

查看博客文章

InfluxDB 3.8 现已适用于 Core 和 Enterprise 版本,同时发布了 InfluxDB 3 Explorer UI 的 1.6 版本。本次发布着重于操作成熟度,以及如何更轻松地部署、管理和可靠地运行 InfluxDB。

更多信息,请查看

InfluxDB Docker 的 latest 标签将指向 InfluxDB 3 Core

在 **2026 年 2 月 3 日**,InfluxDB Docker 镜像的 latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。

如果使用 Docker 来安装和运行 InfluxDB,latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。例如,如果使用 Docker 运行 InfluxDB v2,请将 latest 版本标签替换为 Docker pull 命令中的特定版本标签 — 例如

docker pull influxdb:2