MinIO 服务器配置(动态系统)

在 MinIO 服务中,以下子系统是动态的,即可以在服务器运行时更改每个子系统的配置参数,而无需重新启动。

api                   manage global HTTP API call specific features, such as throttling, authentication types, etc.
                      管理全局 HTTP API 调用特定功能,例如限制、身份验证类型等。
heal                  manage object healing frequency and bitrot verification checks
                      管理对象修复频率和 bitrot 验证检查
scanner               manage namespace scanning for usage calculation, lifecycle, healing and more
                      管理命名空间扫描以进行使用计算、生命周期、修复等

注意:如果您使用 ENV 设置以下任何子系统配置,则不支持动态行为。

使用扫描器(Usage scanner)

默认情况下启用数据扫描。以下配置设置允许在使用计算方面有更多的交错延迟。扫描仪适应系统速度并在系统负载时完全暂停。可以调整扫描仪的速度,从而反映更新延迟。扫描仪每次操作之间的延迟可以通过 mc admin config set alias/ delay=15.0.0 进行调整。默认情况下,该值为 10.0。这意味着扫描仪的休眠时间是每次操作所需时间的 10 倍。

在大多数设置中,这将使扫描仪保持足够慢,不会影响整体系统性能。将延迟键设置为较低的值将使扫描器更快,将其设置为 0 将使扫描器全速运行(不建议在生产中使用)。将其设置为更高的值将使扫描程序变慢,消耗更少的资源,同时不会以最快的速度收集诸如修复和磁盘使用等操作的指标。

D:\server\minio>mc admin config set local/ scanner
KEY:
scanner  manage namespace scanning for usage calculation, lifecycle, healing and more
         管理命名空间扫描以进行使用计算、生命周期、修复等
ARGS:
delay     (float)     scanner delay multiplier, defaults to '10.0'
                      扫描延迟倍数,默认为 “10.0”
max_wait  (duration)  maximum wait time between operations, defaults to '15s'
                      操作之间的最长等待时间,默认为 “15s”
cycle     (duration)  time duration between scanner cycles, defaults to '1m'
                      扫描周期之间的持续时间,默认为 “1m”

示例

以下设置会将扫描仪速度降低 3 倍,从而减少系统资源使用,但会增大更新延迟。

mc admin config set alias/ scanner delay=30.0

设置后,扫描仪设置将自动应用,无需重新启动服务器。

注意:网关部署不支持数据使用扫描器。

Healing

默认情况下启用修复。以下配置设置允许在愈合方面更交错延迟。默认情况下,修复系统会适应系统速度,并且当系统具有 max_io 并发请求数时,每个对象最多暂停“1 秒”。可以调整值,从而提高愈合速度。治疗程序的每个操作之间的延迟可以通过进行调整,并且在我们开始放慢速度之前允许的最大并发请求可以通过进行配置。默认情况下,超过 10 个并发操作的等待延迟为 1 秒。这意味着如果并发客户端请求超过 10 个,则每次治疗操作时治疗器最多会休眠 1 秒。

在大多数设置中,这足以在驱动器更换后修复内容。将 max_delay 设置为较低的值并将 max_io 设置为较高的值将使治愈速度更快。

D:\server\minio>mc admin config set local/ heal
KEY:
heal  manage object healing frequency and bitrot verification checks
      管理对象修复频率和 bitrot 验证检查

ARGS:
bitrotscan  (on|off)    perform bitrot scan on disks when checking objects during scanner
                        在扫描仪期间检查对象时在磁盘上执行 bitrot 扫描
max_sleep   (duration)  maximum sleep duration between objects to slow down heal operation. eg. 2s
                        对象之间的最大睡眠持续时间以减慢修复操作。 例如。 2s
max_io      (int)       maximum IO requests allowed between objects to slow down heal operation. eg. 3
                        对象之间允许的最大 IO 请求以减慢修复操作。 例如。 3

示例

以下设置将通过允许修复操作无延迟运行最多 100 个并发请求来提高修复操作速度,并且每个修复操作之间的最大延迟设置为 300 毫秒

mc admin config set alias/ heal max_delay=300ms max_io=100

一旦设置,heal 设置将自动应用,无需重新启动服务器。

注意:网关部署不支持修复。


说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号