mirror of
https://github.com/rustfs/rustfs.git
synced 2026-07-26 08:18:18 +00:00
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:
@@ -34,9 +34,22 @@ RustFS helm chart supports **standalone and distributed mode**. For standalone m
|
||||
| config.rustfs.metrics.enabled | bool | `false` | Toggle metrics export. |
|
||||
| config.rustfs.metrics.endpoint | string | `""` | Dedicated metrics endpoint. |
|
||||
| config.rustfs.scanner.speed | string | `""` | Scanner speed preset: `fastest`, `fast`, `default`, `slow`, `slowest`. |
|
||||
| config.rustfs.scanner.delay | string | `""` | Override scanner sleep multiplier with `RUSTFS_SCANNER_DELAY` (`0` through `10000`). |
|
||||
| config.rustfs.scanner.max_wait_secs | string | `""` | Override maximum scanner sleep in seconds with `RUSTFS_SCANNER_MAX_WAIT_SECS`. |
|
||||
| config.rustfs.scanner.cycle_secs | string | `""` | Override scanner cycle interval in seconds with `RUSTFS_SCANNER_CYCLE`. |
|
||||
| config.rustfs.scanner.start_delay_secs | string | `""` | Override scanner cycle interval in seconds with `RUSTFS_SCANNER_START_DELAY_SECS`. |
|
||||
| config.rustfs.scanner.cycle_max_duration_secs | string | `""` | Cap one scanner cycle's runtime in seconds with `RUSTFS_SCANNER_CYCLE_MAX_DURATION_SECS` (`0` disables). |
|
||||
| config.rustfs.scanner.cycle_max_objects | string | `""` | Cap objects processed by one scanner cycle with `RUSTFS_SCANNER_CYCLE_MAX_OBJECTS` (`0` disables). |
|
||||
| config.rustfs.scanner.cycle_max_directories | string | `""` | Cap directories entered by one scanner cycle with `RUSTFS_SCANNER_CYCLE_MAX_DIRECTORIES` (`0` disables). |
|
||||
| config.rustfs.scanner.bitrot_cycle_secs | string | `""` | Override periodic deep bitrot cycle with `RUSTFS_SCANNER_BITROT_CYCLE_SECS`; `false`, `off`, `no`, or `disabled` disables it. |
|
||||
| config.rustfs.scanner.idle_mode | string | `""` | Override scanner idle throttling flag (`RUSTFS_SCANNER_IDLE_MODE`). |
|
||||
| config.rustfs.scanner.cache_save_timeout_secs | string | `""` | Override scanner cache save timeout in seconds with `RUSTFS_SCANNER_CACHE_SAVE_TIMEOUT_SECS` (minimum `1`). |
|
||||
| config.rustfs.scanner.max_concurrent_set_scans | string | `""` | Cap concurrent scanner set tasks with `RUSTFS_SCANNER_MAX_CONCURRENT_SET_SCANS` (`0` keeps topology-derived concurrency). |
|
||||
| config.rustfs.scanner.max_concurrent_disk_scans | string | `""` | Cap concurrent scanner disk bucket walks per set with `RUSTFS_SCANNER_MAX_CONCURRENT_DISK_SCANS` (`0` keeps disk-count-derived concurrency). |
|
||||
| config.rustfs.scanner.yield_every_n_objects | string | `""` | Yield to the async runtime every N scanned objects with `RUSTFS_SCANNER_YIELD_EVERY_N_OBJECTS` (`0` disables extra yield). |
|
||||
| config.rustfs.scanner.alert_excess_versions | string | `""` | Set version count threshold for scanner alerts with `RUSTFS_SCANNER_ALERT_EXCESS_VERSIONS`. |
|
||||
| config.rustfs.scanner.alert_excess_version_size | string | `""` | Set retained version byte threshold for scanner alerts with `RUSTFS_SCANNER_ALERT_EXCESS_VERSION_SIZE`. |
|
||||
| config.rustfs.scanner.alert_excess_folders | string | `""` | Set direct subfolder threshold for scanner alerts with `RUSTFS_SCANNER_ALERT_EXCESS_FOLDERS`. |
|
||||
| config.rustfs.obs_endpoint.enabled | bool | `false` | Whether to send metrics/logs/traces/profilings to remote endpoint, eg, OLTP. |
|
||||
| config.rustfs.obs_endpoint.base_endpoint | string | `""` | Root OTLP/HTTP endpoint, e.g. http://otel-collector:4318. |
|
||||
| config.rustfs.obs_endpoint.use_stdout | bool | `false` | Whether to output logs to stdout in addition the OLTP. |
|
||||
@@ -166,6 +179,10 @@ uer. `ClusterIssuer` or `Issuer`. |
|
||||
| gatewayApi.existingGateway.name | string | `""` | The existing gateway name, instead of creating a new one. |
|
||||
| gatewayApi.existingGateway.namespace | string | `""` | The namespace of the existing gateway, if not the local namespace. |
|
||||
|
||||
Scanner values map directly to scanner environment variables. For tuning
|
||||
workflow and `/v3/scanner/status` interpretation, see
|
||||
[Scanner Runtime Controls](../docs/operations/scanner-runtime-controls.md).
|
||||
|
||||
---
|
||||
|
||||
**NOTE**:
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user