擦除码设置
此页面介绍用于配置擦除码 奇偶校验以用于写入 MinIO 集群的对象的设置。这会影响 MinIO 如何使用驱动器上的空间以及 MinIO 如何恢复存储在丢失驱动器上的对象或类似问题。
您可以通过定义以下内容来建立或修改设置
在启动或重新启动 MinIO 服务器之前,在主机系统上设置一个环境变量。有关如何定义环境变量,请参阅您的操作系统的文档。
使用
mc admin config set
设置一个配置设置。使用MinIO 控制台的管理员 > 设置页面设置一个配置设置。
如果同时定义了环境变量和类似的配置设置,则 MinIO 将使用环境变量值。
某些设置只有环境变量或配置设置,但并非两者兼而有之。
重要
每个配置设置都控制 MinIO 的基本行为和功能。MinIO **强烈建议**在应用于生产环境之前,在较低的环境(如 DEV 或 QA)中测试配置更改。
标准存储类
注意
MinIO 存储类与AWS 存储类不同。
AWS 存储类指的是用于存储给定对象的特定存储层,例如hot
或glacier
存储。MinIO 存储类会影响使用的擦除码奇偶校验设置,并与对象的可用性和弹性相关。
对于从一种存储类型到另一种存储类型的分层(例如出于成本管理目的),请参阅对象转换(“分层”)。
部署的奇偶校验级别。MinIO 使用此奇偶校验值对使用默认STANDARD
存储类写入的对象进行分片。
MinIO 参考请求元数据中的x-amz-storage-class
标头来确定要为对象分配哪个存储类。设置标头的特定语法或方法取决于您首选与 MinIO 服务器交互的方法。
使用EC:M
表示法指定值,其中M
表示为对象创建的奇偶校验块数。
下表列出了基于部署中初始服务器池的擦除集大小的默认值
擦除集大小 |
默认奇偶校验 (EC:N) |
---|---|
1 |
EC:0 |
2-3 |
EC:1 |
4-5 |
EC:2 |
6 - 7 |
EC:3 |
8 - 16 |
EC:4 |
最低支持值为0
,表示没有擦除编码保护。这些部署完全依赖于存储控制器或资源来保证可用性和弹性。
最大值取决于部署中初始服务器池的擦除集大小,其中上限为\(\frac{\text{ERASURE_SET_SIZE}}{\text{2}}\)。例如,擦除集条带大小为 16 的部署的最大标准奇偶校验为 8。
您可以在启动后将此值更改为0
和擦除集大小上限之间的任何值。MinIO 仅将更改后的奇偶校验应用于新写入的对象。现有对象保留其创建时存在的奇偶校验值。
降低冗余存储类
注意
MinIO 存储类与AWS 存储类不同。
AWS 存储类指的是用于存储给定对象的特定存储层,例如hot
或glacier
存储。MinIO 存储类会影响使用的擦除码奇偶校验设置,并与对象的可用性和弹性相关。
对于从一种存储类型到另一种存储类型的分层(例如出于成本管理目的),请参阅对象转换(“分层”)。
使用REDUCED
存储类写入的对象的奇偶校验级别。
MinIO 参考请求元数据中的x-amz-storage-class
标头来确定要为对象分配哪个存储类。设置标头的特定语法或方法取决于您首选与 MinIO 服务器交互的方法。
使用EC:M
表示法指定值,其中M
表示为对象创建的奇偶校验块数。
此值**必须**小于或等于MINIO_STORAGE_CLASS_STANDARD
。
对于擦除集大小小于 2 的部署,您无法设置此值。对于擦除集大小大于 1 的部署,默认为EC:1
。对于擦除集大小为 1 的部署,默认为EC:0
。
奇偶校验保留优化
默认情况下,MinIO 会自动“升级”对象的奇偶校验,如果目标擦除集保持写入仲裁但有一个或多个驱动器脱机。此行为有助于确保给定对象保持与写入健康擦除集的对象相同的可用性。
将capacity
指定为此设置,以指示 MinIO 不为对象创建任何其他奇偶校验。这优先考虑集群的整体容量,但代价是在该擦除集中的更多驱动器发生故障时可能降低对象可用性。
注释
向存储类设置添加注释。