欢迎来到即将发布的 MinIO 文档版本! 此页面上的内容正在积极开发中 可能随时更改。 如果找不到您要找的内容,请查看我们的 历史文档。 感谢您的耐心等待。 我们期待您贡献自己强大的力量,帮助更多的中国技术开发者![翻译]

核心概念

Table of Contents

纠删码

MinIO 擦除编码是一种数据冗余和可用性功能,允许 MinIO 部署可在运行中自动重建对象,尽管有 集群中的多个驱动器或节点丢失。 纠删码提供 与相邻技术相比开销更少的对象级修复,例如 RAID 或复制。

纠删码将对象拆分为数据块和奇偶校验块,其中奇偶校验块 支持重建丢失或损坏的数据块。 MinIO 分发 数据块和奇偶校验块 minio server 节点和 在一个驱动器 Erasure Set. 取决于 擦除中配置的奇偶校验、节点数和每个节点的驱动器数 设置,MinIO 可以容忍多达一半(N/2)个驱动器的丢失,并且仍然 检索存储的对象。 下表列出了 MinIO 上不同 EC 级别的结果 具有单个 16 驱动器服务器池的租户:

Outcome of Parity Settings on a 16-Drive Server Pool

Parity

Total Storage

Storage Ratio

Minimum Drives for Read Operations

Minimum Drives for Write Operations

EC: 4

12 Tebibytes

0.750

12

13

EC: 6

10 Tebibytes

0.625

10

11

EC: 8

8 Tebibytes

0.500

8

9

由于奇偶校验块需要存储空间,更高级别的奇偶校验 提高对驱动器或吊舱故障的容忍度,代价是 总可用存储容量。

MinIO 支持两种奇偶校验级别:Standard(默认)和 Reduced。 默认的 租户的奇偶校验级别取决于部署在该租户上的 MinIO 版本:

  • 对于 MinIO 版本 RELEASE.2021-01-30T00-20-58Z 然后,

    默认标准 EC 取决于擦除中的卷数 放:

    • For 8 or more volumes, EC:4

    • For 6-7 volumes, EC:3

    • For 4-5 volumes, EC:2

  • 对于 MinIO 版本 RELEASE.2021-01-16T02-19-44Z 或更早,

    默认的 EC 是1/2 擦除集中的驱动器。 例如, 一个 16 驱动器服务器池有``EC:8``.

您可以通过指定自定义纠删码奇偶校验设置 MINIO_STORAGE_CLASS_STANDARDMINIO_STORAGE_CLASS_RRS 环境变量 分别为标准和减少的奇偶校验。 使用 env 将环境变量指定为 MinIO租户``YAML``规范*在创建租户之前*。

有关纠删码的更完整文档,请参阅 Erasure Coding.

存储桶版本控制

MinIO 支持在单个存储桶中保存对象的多个“版本”。 通常会覆盖现有对象的写入操作 导致创建新的版本化对象。 MinIO 版本控制可防止 意外覆盖和删除,同时支持“撤消” 写操作。 存储桶版本控制还支持保留和存档策略。

MinIO 为每个对象生成一个唯一的不可变 ID。 如果 PUT 请求包含 复制现有对象的对象名称,MinIO 不会覆盖 “较旧”的对象。 相反,MinIO 保留所有对象版本,同时考虑 最近将对象的“版本”写为“最新”。 应用程序检索 默认情况下是最新的对象版本,但可以在 该对象的历史。

您可以随时使用 mc version enable 命令。 看 Bucket Versioning 获取更完整的文档。