docs(scanner): document runtime scanner controls (#3339)

* docs(scanner): document runtime scanner controls

* docs(scanner): split English and Chinese README

---------

Co-authored-by: Henry Guo <marshawcoco@users.noreply.github.com>
Co-authored-by: majinghe <42570491+majinghe@users.noreply.github.com>
This commit is contained in:
Henry Guo
2026-06-11 12:04:34 +08:00
committed by GitHub
parent 686068d8bd
commit 7191a3abae
8 changed files with 381 additions and 22 deletions
+43 -4
View File
@@ -73,18 +73,57 @@ data:
{{- end }}
{{- end }}
{{- with .Values.config.rustfs.scanner }}
{{- if .speed }}
{{- if ne (toString .speed) "" }}
RUSTFS_SCANNER_SPEED: {{ .speed | quote }}
{{- end }}
{{- if .start_delay_secs }}
{{- if ne (toString .delay) "" }}
RUSTFS_SCANNER_DELAY: {{ .delay | quote }}
{{- end }}
{{- if ne (toString .max_wait_secs) "" }}
RUSTFS_SCANNER_MAX_WAIT_SECS: {{ .max_wait_secs | quote }}
{{- end }}
{{- if ne (toString .cycle_secs) "" }}
RUSTFS_SCANNER_CYCLE: {{ .cycle_secs | quote }}
{{- end }}
{{- if ne (toString .start_delay_secs) "" }}
RUSTFS_SCANNER_START_DELAY_SECS: {{ .start_delay_secs | quote }}
{{- end }}
{{- if .idle_mode }}
{{- if ne (toString .cycle_max_duration_secs) "" }}
RUSTFS_SCANNER_CYCLE_MAX_DURATION_SECS: {{ .cycle_max_duration_secs | quote }}
{{- end }}
{{- if ne (toString .cycle_max_objects) "" }}
RUSTFS_SCANNER_CYCLE_MAX_OBJECTS: {{ .cycle_max_objects | quote }}
{{- end }}
{{- if ne (toString .cycle_max_directories) "" }}
RUSTFS_SCANNER_CYCLE_MAX_DIRECTORIES: {{ .cycle_max_directories | quote }}
{{- end }}
{{- if ne (toString .bitrot_cycle_secs) "" }}
RUSTFS_SCANNER_BITROT_CYCLE_SECS: {{ .bitrot_cycle_secs | quote }}
{{- end }}
{{- if ne (toString .idle_mode) "" }}
RUSTFS_SCANNER_IDLE_MODE: {{ .idle_mode | quote }}
{{- end }}
{{- if .cache_save_timeout_secs }}
{{- if ne (toString .cache_save_timeout_secs) "" }}
RUSTFS_SCANNER_CACHE_SAVE_TIMEOUT_SECS: {{ .cache_save_timeout_secs | quote }}
{{- end }}
{{- if ne (toString .max_concurrent_set_scans) "" }}
RUSTFS_SCANNER_MAX_CONCURRENT_SET_SCANS: {{ .max_concurrent_set_scans | quote }}
{{- end }}
{{- if ne (toString .max_concurrent_disk_scans) "" }}
RUSTFS_SCANNER_MAX_CONCURRENT_DISK_SCANS: {{ .max_concurrent_disk_scans | quote }}
{{- end }}
{{- if ne (toString .yield_every_n_objects) "" }}
RUSTFS_SCANNER_YIELD_EVERY_N_OBJECTS: {{ .yield_every_n_objects | quote }}
{{- end }}
{{- if ne (toString .alert_excess_versions) "" }}
RUSTFS_SCANNER_ALERT_EXCESS_VERSIONS: {{ .alert_excess_versions | quote }}
{{- end }}
{{- if ne (toString .alert_excess_version_size) "" }}
RUSTFS_SCANNER_ALERT_EXCESS_VERSION_SIZE: {{ .alert_excess_version_size | quote }}
{{- end }}
{{- if ne (toString .alert_excess_folders) "" }}
RUSTFS_SCANNER_ALERT_EXCESS_FOLDERS: {{ .alert_excess_folders | quote }}
{{- end }}
{{- end }}
{{- if .Values.config.rustfs.timeout_profile }}
RUSTFS_DRIVE_TIMEOUT_PROFILE: {{ .Values.config.rustfs.timeout_profile | quote }}
+26
View File
@@ -85,12 +85,38 @@ config:
scanner:
# Scanner speed preset: fastest|fast|default|slow|slowest
speed: ""
# Override scanner sleep multiplier (0-10000)
delay: ""
# Override maximum scanner sleep in seconds
max_wait_secs: ""
# Override scanner cycle interval in seconds
cycle_secs: ""
# Override start delay in seconds (optional)
start_delay_secs: ""
# Cap one scanner cycle's runtime in seconds (0 disables)
cycle_max_duration_secs: ""
# Cap objects processed by one scanner cycle (0 disables)
cycle_max_objects: ""
# Cap directories entered by one scanner cycle (0 disables)
cycle_max_directories: ""
# Periodic deep bitrot cycle in seconds; false/off/no/disabled disables
bitrot_cycle_secs: ""
# Enable/disable scanner sleeps for throttling
idle_mode: ""
# Timeout for scanner cache saves in seconds (minimum 1 second)
cache_save_timeout_secs: ""
# Cap concurrent scanner set tasks (0 keeps topology-derived concurrency)
max_concurrent_set_scans: ""
# Cap concurrent scanner disk bucket walks per set (0 keeps disk-count-derived concurrency)
max_concurrent_disk_scans: ""
# Yield to the async runtime every N scanned objects (0 disables extra yield)
yield_every_n_objects: ""
# Version count threshold for scanner alerts
alert_excess_versions: ""
# Retained version byte threshold for scanner alerts
alert_excess_version_size: ""
# Direct subfolder threshold for scanner alerts
alert_excess_folders: ""
# Drive timeout profile preset: default|high_latency
# - default: keep current timeout defaults.
# - high_latency: use higher timeout defaults for scanner-sensitive operations.