diff --git a/source/administration/bucket-replication.rst b/source/administration/bucket-replication.rst index 07851923..e24e0b6d 100644 --- a/source/administration/bucket-replication.rst +++ b/source/administration/bucket-replication.rst @@ -203,6 +203,10 @@ feature. The time required to fully synchronize a bucket depends on a number of factors, including but not limited to the current cluster replication load, overall cluster load, and the size of the namespace (all objects in the bucket). +.. include:: /includes/common/scanner.rst + :start-after: start-scanner-speed-config + :end-before: end-scanner-speed-config + If versioning was not previously enabled when configuring bucket replication, existing objects have a ``versionid = null``. These objects do replicate. diff --git a/source/administration/object-management/object-lifecycle-management.rst b/source/administration/object-management/object-lifecycle-management.rst index 76d218ea..bc888d17 100644 --- a/source/administration/object-management/object-lifecycle-management.rst +++ b/source/administration/object-management/object-lifecycle-management.rst @@ -123,6 +123,10 @@ Scanner performance typically depends on the available node resources, the size For example, a cluster that starts with 100TB of data that then grows to 200TB of data may require more time to scan the entire namespace of buckets and objects given the same hardware and workload. As the cluster or workload increases, scanner performance decreases as it yields more frequently to ensure priority of normal S3 operations. +.. include:: /includes/common/scanner.rst + :start-after: start-scanner-speed-config + :end-before: end-scanner-speed-config + Consider regularly checking cluster metrics, capacity, and resource usage to ensure the cluster hardware is scaling alongside cluster and workload growth: - :ref:`minio-metrics-and-alerts` diff --git a/source/includes/common/scanner.rst b/source/includes/common/scanner.rst new file mode 100644 index 00000000..c1c24bca --- /dev/null +++ b/source/includes/common/scanner.rst @@ -0,0 +1,43 @@ +.. start-scanner-speed-config + +You can adjust how MinIO balances the scanner performance with read/write operations using either the :envvar:`MINIO_SCANNER_SPEED` environment variable or the :mc-conf:`scanner speed ` configuration setting. + +.. end-scanner-speed-config + + +.. start-scanner-speed-values + +MinIO utilizes the scanner for :ref:`bucket replication `, :ref:`site replication `, and :ref:`lifecycle management ` tasks. + +Valid values include: + +.. list-table:: + :stub-columns: 1 + :widths: 30 70 + :width: 100% + + * - ``fastest`` + - Removes scanner wait on read/write latency, allowing the scanner to operate at full-speed and IOPS consumption. + This setting may result in reduced read and write performance. + + * - ``fast`` + - Sets a short scanner wait time on read/write latency, allowing the scanner to operate at a higher speed and IOPS consumption. + This setting may result in reduced read and write performance. + + * - ``default`` + - Sets a moderate scanner wait time on read/write latency, allowing the scanner to operate at a balanced speed and IOPS consumption. + This setting seeks to maintain read and write performance while allowing ongoing scanner activity. + + * - ``slow`` + - Sets a medium scanner wait time on read/write latency, where the scanner operates at a reduced speed and IOPS consumption. + This setting allows better read and write performance while reducing scanner performance. + + May impact scanner-dependent features, such as lifecycle management and replication. + + * - ``slowest`` + - Sets a large scanner wait time on read/write latency, where the scanner operates at a substantially lower speed and IOPS consumption. + This setting prioritizes read and write operations at the potential cost of scanner operations. + + May impact scanner-dependent features, such as lifecycle management and replication. + +.. end-scanner-speed-values \ No newline at end of file diff --git a/source/operations/install-deploy-manage/multi-site-replication.rst b/source/operations/install-deploy-manage/multi-site-replication.rst index 1a6dcc6c..d61c2969 100644 --- a/source/operations/install-deploy-manage/multi-site-replication.rst +++ b/source/operations/install-deploy-manage/multi-site-replication.rst @@ -105,6 +105,10 @@ Any MinIO deployment in the site replication configuration can resynchronize dam If one site loses data for any reason, resynchronize the data from another healthy site with :mc-cmd:`mc admin replicate resync`. This launches an active process that resynchronizes the data without waiting for the passive MinIO scanner to recognize the missing data. +.. include:: /includes/common/scanner.rst + :start-after: start-scanner-speed-config + :end-before: end-scanner-speed-config + Synchronous vs Asynchronous Replication ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/source/reference/minio-mc-admin/mc-admin-config.rst b/source/reference/minio-mc-admin/mc-admin-config.rst index 36dcd5df..8b041ab2 100644 --- a/source/reference/minio-mc-admin/mc-admin-config.rst +++ b/source/reference/minio-mc-admin/mc-admin-config.rst @@ -115,6 +115,22 @@ API Configuration .. _minio-server-config-logging-logs: +Scanner +~~~~~~~ + +.. mc-conf:: scanner + + Configuration settings that affect the scanner process. + MinIO utilizes the scanner for :ref:`bucket replication `, :ref:`site replication `, and :ref:`lifecycle management ` tasks. + + .. mc-conf:: speed + + This configuration setting corresponds with the :envvar:`MINIO_SCANNER_SPEED` environment variable. + + .. include:: /includes/common/scanner.rst + :start-after: start-scanner-speed-values + :end-before: end-scanner-speed-values + HTTP Webhook Log Target ~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/source/reference/minio-server/minio-server.rst b/source/reference/minio-server/minio-server.rst index 89735369..e7658577 100644 --- a/source/reference/minio-server/minio-server.rst +++ b/source/reference/minio-server/minio-server.rst @@ -294,6 +294,16 @@ Core Configuration If this setting is omitted, the default is to only accept path-style requests. For example, ``minio.example.net/data``. +.. _minio-scanner-speed-options: + +.. envvar:: MINIO_SCANNER_SPEED + + Manage the maximum wait period for the scanner when balancing MinIO read/write performance to scanner processes. + + .. include:: /includes/common/scanner.rst + :start-after: start-scanner-speed-values + :end-before: end-scanner-speed-values + Root Credentials ~~~~~~~~~~~~~~~~