文档

部署 MinIO:单节点单驱动器

此页面上的过程涵盖了在单节点单驱动器 (SNSD) 配置中部署 MinIO,以便进行早期开发和评估。SNSD 部署使用零奇偶校验擦除码后端,除了底层存储卷实现之外,不提供任何额外的可靠性或可用性。这些部署最适合本地测试和评估,或对于没有可用性或性能要求的小规模数据工作负载。

重要

RELEASE.2022-10-29T06-21-33Z 完全删除了已弃用的网关/文件系统 后端。如果 MinIO 启动并检测到现有的文件系统后端文件,则会返回错误。

要从 FS 后端部署迁移,请使用mc mirrormc cp 将您的数据复制到新的 MinIO SNSD 部署中。您还应该在 SNSD 部署上重新创建任何必要的用户、组、策略和存储桶配置。

预先存在的数据

MinIO 的启动行为取决于指定存储卷或路径的内容。服务器检查 MinIO 内部后端数据和现有文件夹和文件的结构。下表列出了可能的存储卷状态和 MinIO 行为

存储卷状态

行为

为空,没有文件、文件夹或 MinIO 后端数据

MinIO 以 SNSD 模式启动并创建零奇偶校验后端

现有的 SNSD 零奇偶校验对象和 MinIO 后端数据

MinIO 以 SNSD 模式恢复

现有的文件系统文件夹、文件,但没有 MinIO 后端数据

MinIO 返回错误且不启动

现有的文件系统文件夹、文件和旧版“FS 模式”后端数据

MinIO 返回错误且不启动

在版本 RELEASE.2022-10-29T06-21-33Z 中更改。

先决条件

存储要求

以下要求总结了 MinIO 硬件建议的存储 部分

使用本地存储

直连存储 (DAS) 与网络存储(NASSANNFS)相比,具有显著的性能和一致性优势。MinIO 强烈建议使用闪存(NVMe、SSD)作为主要数据或“热”数据。

为驱动器使用 XFS 格式化

MinIO 强烈建议为存储配置使用 XFS 格式化的驱动器。MinIO 在其内部测试和验证套件中使用 XFS,从而在所有规模下对性能和行为提供额外的信心。

在重启后持久化驱动器挂载和映射

使用 /etc/fstab 来确保在节点重启后一致的驱动器到挂载点的映射。

非 Linux 操作系统应使用等效的驱动器挂载管理工具。

驱动器的独占访问

MinIO **需要**对用于对象存储的驱动器或卷拥有独占访问权限。任何其他进程、软件、脚本或人员都不应对提供给 MinIO 的驱动器或卷,或 MinIO 在其上放置的对象或文件执行任何操作。

除非 MinIO 工程师指示,否则请勿使用脚本或工具直接修改、删除或移动提供的驱动器上的任何数据分片、奇偶校验分片或元数据文件,包括从一个驱动器或节点到另一个驱动器或节点。此类操作极有可能导致广泛的损坏和数据丢失,超出 MinIO 的修复能力。

内存需求

在版本 RELEASE.2024-01-28T22-35-53Z 中更改: MinIO 在启动时预分配 2GiB 的系统内存。

MinIO 建议每个主机至少拥有 32GiB 的内存。请参阅 内存,以获取有关 MinIO 中内存分配的更多指导。

部署单节点单驱动器 MinIO

以下过程部署由单个 MinIO 服务器和单个驱动器或存储卷组成的 MinIO。

网络文件系统卷破坏一致性保证

MinIO 严格的写入后读取写入后列出一致性模型需要本地驱动器文件系统。

如果底层存储卷是 NFS 或类似的网络附加存储卷,则 MinIO 无法提供一致性保证。

1) 下载 MinIO 服务器

从以下 URL 下载 MinIO 可执行文件

https://dl.min.io/server/minio/release/windows-amd64/minio.exe

下一步包括运行可执行文件的说明。您无法从资源管理器或通过双击文件来运行可执行文件。相反,您需要调用可执行文件来启动服务器。

2) 为 MinIO 准备数据路径

确保数据路径为空且不包含任何现有文件,包括任何隐藏文件或 Windows 系统文件。

如果指定了未专用于 MinIO 使用的驱动器,请考虑创建一个专用于存储 MinIO 数据的文件夹,例如 D:/Minio

3) 启动 MinIO 服务器

打开命令提示符或 PowerShell 并发出以下命令以在该会话中启动 MinIO SNSD 部署

minio.exe server D:/minio --console-address ":9001"

输出应类似于以下内容

Status:         1 Online, 0 Offline.
API: http://192.168.2.100:9000  http://127.0.0.1:9000
Console: http://192.168.2.100:9001 http://127.0.0.1:9001

Command-line: https://min-io.cn/docs/minio/linux/reference/minio-mc.html
   $ mc alias set myminio http://10.0.2.100:9000 minioadmin minioadmin

Documentation: https://min-io.cn/docs/minio/linux/index.html

API 块列出了客户端可以访问 MinIO S3 API 的网络接口和端口。Console 块列出了客户端可以访问 MinIO Web 控制台的网络接口和端口。

4) 连接到 MinIO 服务器

您可以通过在首选浏览器中输入 MinIO 服务器 Console 块中的任何主机名或 IP 地址来访问 MinIO 控制台,例如 https://127.0.0.1:9001

使用在指定给容器的环境文件中配置的 MINIO_ROOT_USERMINIO_ROOT_PASSWORD 登录。

MinIO Console displaying Buckets view in a fresh installation

您可以使用 MinIO 控制台执行通用管理任务,例如身份和访问管理、指标和日志监控或服务器配置。每个 MinIO 服务器都包含其自己的嵌入式 MinIO 控制台。

如果您的本地主机防火墙允许外部访问控制台端口,则同一网络上的其他主机可以使用本地主机的 IP 或主机名访问控制台。

您可以使用 MinIO 客户端 (mc) 通过终端或 Shell 访问 MinIO 部署。有关安装 mc 的说明,请参阅 MinIO 客户端安装快速入门

创建一个对应于 MinIO 部署的新 别名。指定 MinIO 服务器 API 块中的任何主机名或 IP 地址,例如 https://127.0.0.1:9000

mc alias set myminio https://127.0.0.1:9000 myminioadmin minio-secret-key-change-me
  • myminio 替换为要用于别名的所需名称。

  • myminioadmin 替换为在指定给容器的环境文件中指定的 MINIO_ROOT_USER 值。

  • minio-secret-key-change-me 替换为在指定给容器的环境文件中指定的 MINIO_ROOT_PASSWORD 值。

然后,您可以使用任何 mc 命令与容器进行交互。如果您的本地主机防火墙允许外部访问 MinIO S3 API 端口,则同一网络上的其他主机可以使用本地主机的 IP 或主机名访问 MinIO 部署。