From 4308f69541baa3c79c08d85fc5f83cda02707351 Mon Sep 17 00:00:00 2001 From: ravindk89 Date: Wed, 8 Sep 2021 21:05:20 -0400 Subject: [PATCH] DOCS-369: Fix incorrect erasure code parity calculation --- source/concepts/erasure-coding.rst | 179 ++++++++---------- source/images/erasure-code.jpg | Bin 0 -> 108244 bytes .../deployment-and-management.rst | 9 +- source/monitoring/healthcheck-probe.rst | 6 +- 4 files changed, 86 insertions(+), 108 deletions(-) create mode 100644 source/images/erasure-code.jpg diff --git a/source/concepts/erasure-coding.rst b/source/concepts/erasure-coding.rst index 9975f114..9c8022c3 100644 --- a/source/concepts/erasure-coding.rst +++ b/source/concepts/erasure-coding.rst @@ -16,84 +16,48 @@ loss of multiple drives or nodes in the cluster. Erasure Coding provides object-level healing with less overhead than adjacent technologies such as RAID or replication. -Erasure Coding splits objects into data and parity blocks, where parity blocks -support reconstruction of missing or corrupted data blocks. MinIO distributes -both data and parity blocks across :mc:`minio server` nodes and drives in an -:ref:`Erasure Set `. Depending on the configured parity, -number of nodes, and number of drives per node in the Erasure Set, MinIO can -tolerate the loss of up to half (``N/2``) of drives and still retrieve stored -objects. +MinIO splits each new object into data and parity blocks, where parity blocks +support reconstruction of missing or corrupted data blocks. MinIO writes these +blocks to a single :ref:`erasure set ` in the deployment. +Since erasure set drives are striped across the deployment, a given node +typically contains only a portion of data or parity blocks for each object. +MinIO can therefore tolerate the loss of multiple drives or nodes in the +deployment depending on the configured parity and deployment topology. -For example, consider a small-scale MinIO deployment consisting of a -single :ref:`Server Pool ` with 4 :mc:`minio server` -nodes. Each node in the deployment has 4 locally attached ``1Ti`` drives for -a total of 16 drives. +.. image:: /images/erasure-code.jpg + :width: 600px + :alt: MinIO Erasure Coding example + :align: center -MinIO creates :ref:`Erasure Sets ` by dividing the total -number of drives in the deployment into sets consisting of between 4 and 16 -drives each. In the example deployment, the largest possible Erasure Set size -that evenly divides into the total number of drives is ``16``. +At maximum parity, MinIO can tolerate the loss of up to half the drives per +erasure set (``N/2-1``) and still perform read and write operations. MinIO +defaults to 4 parity blocks per object with tolerance for the loss of 4 drives +per erasure set. For more complete information on selecting erasure code parity, +see :ref:`minio-ec-parity`. -MinIO uses a Reed-Solomon algorithm to split objects into data and parity blocks -based on the size of the Erasure Set. MinIO then uniformly distributes the -data and parity blocks across the Erasure Set drives such that each drive -in the set contains no more than one block per object. MinIO uses -the ``EC:N`` notation to refer to the number of parity blocks (``N``) in the -Erasure Set. +Erasure coding requires a minimum of 4 drives is only available with +:ref:`distributed ` MinIO deployments. Erasure +coding is is a core requirement for the following MinIO features: -The number of parity blocks in a deployment controls the deployment's relative -data redundancy. Higher levels of parity allow for higher tolerance of drive -loss at the cost of total available storage. For example, using EC:4 in our -example deployment results in 12 data blocks and 4 parity blocks. The parity -blocks take up some portion of space in the deployment, reducing total storage. -*However*, the parity blocks allow MinIO to reconstruct the object with only -8 data blocks, increasing resilience to data corruption or loss. +- :ref:`Object Versioning ` +- :ref:`Server-Side Replication ` +- :ref:`Write-Once Read-Many Locking ` -The following table lists the outcome of varying EC levels on the example -deployment: - -.. list-table:: Outcome of Parity Settings on a 16 Drive MinIO Cluster - :header-rows: 1 - :widths: 20 20 20 20 20 - :width: 100% - - * - Parity - - Total Storage - - Storage Ratio - - Minimum Drives for Read Operations - - Minimum Drives for Write Operations - - * - ``EC: 4`` (Default) - - 12 Tebibytes - - 0.750 - - 12 - - 13 - - * - ``EC: 6`` - - 10 Tebibytes - - 0.625 - - 10 - - 11 - - * - ``EC: 8`` - - 8 Tebibytes - - 0.500 - - 8 - - 9 - -- For more information on Erasure Sets, see :ref:`minio-ec-erasure-set`. - -- For more information on selecting Erasure Code Parity, see - :ref:`minio-ec-parity` +Use the MinIO `Erasure Code Calculator +`__ when planning and +designing your MinIO deployment to explore the effect of erasure code settings +on your intended topology. .. _minio-ec-erasure-set: Erasure Sets ------------ -An *Erasure Set* is a set of drives in a MinIO deployment that support -Erasure Coding. MinIO evenly distributes object data and parity blocks among -the drives in the Erasure Set. +An *Erasure Set* is a set of drives in a MinIO deployment that support Erasure +Coding. MinIO evenly distributes object data and parity blocks among the drives +in the Erasure Set. MinIO randomly and uniformly distributes the data and parity +blocks across drives in the erasure set with *no overlap*. Each unique object +has no more than one data or parity block per drive in the set. MinIO calculates the number and size of *Erasure Sets* by dividing the total number of drives in the :ref:`Server Pool ` into sets @@ -131,50 +95,59 @@ Erasure Code Parity (``EC:N``) ------------------------------ MinIO uses a Reed-Solomon algorithm to split objects into data and parity blocks -based on the size of the Erasure Set. MinIO uses parity blocks to automatically -heal damaged or missing data blocks when reconstructing an object. MinIO uses -the ``EC:N`` notation to refer to the number of parity blocks (``N``) in the -Erasure Set. +based on the :ref:`Erasure Set ` size in the deployment. +For a given erasure set of size ``M``, MinIO splits objects into ``N`` parity +blocks and ``M-N`` data blocks. -MinIO uses a hash of an object's name to determine into which Erasure Set to -store that object. MinIO always uses that erasure set for objects with a -matching name. For example, MinIO stores all :ref:`versions -` of an object in the same Erasure Set. +MinIO uses the ``EC:N`` notation to refer to the number of parity blocks (``N``) +in the deployment. MinIO defaults to ``EC:4`` or 4 parity blocks per object. +MinIO uses the same ``EC:N`` value for all erasure sets and +:ref:`server pools ` in the deployment. -After MinIO selects an object's Erasure Set, it divides the object based on the -number of drives in the set and the configured parity. MinIO creates: +MinIO can tolerate the loss of up to ``N`` drives per erasure set and +continue performing read and write operations ("quorum"). If ``N`` is equal +to exactly 1/2 the drives in the erasure set, MinIO write quorum requires +``N+1`` drives to avoid data inconsistency ("split-brain"). -- ``(Erasure Set Drives) - EC:N`` Data Blocks, *and* -- ``EC:N`` Parity Blocks. +Setting the parity for a deployment is a balance between availability +and total usable storage. Higher parity values increase resiliency to drive +or node failure at the cost of usable storage, while lower parity provides +maximum storage with reduced tolerance for drive/node failures. +Use the MinIO `Erasure Code Calculator +`__ to explore the +effect of parity on your planned cluster deployment. -MinIO randomly and uniformly distributes the data and parity blocks across -drives in the erasure set with *no overlap*. While a drive may contain both data -and parity blocks for multiple unique objects, a single unique object has no -more than one block per drive in the set. For versioned objects, MinIO selects -the same drives for both data and parity storage while maintaining zero overlap -on any single drive. +The following table lists the outcome of varying erasure code parity levels on +a MinIO deployment consisting of 1 node and 16 1TB drives: -The specified parity for an object also dictates the minimum number of Erasure -Set drives ("Quorum") required for MinIO to either read or write that object: +.. list-table:: Outcome of Parity Settings on a 16 Drive MinIO Cluster + :header-rows: 1 + :widths: 20 20 20 20 20 + :width: 100% -.. _minio-read-quorum: + * - Parity + - Total Storage + - Storage Ratio + - Minimum Drives for Read Operations + - Minimum Drives for Write Operations -Read Quorum - The minimum number of Erasure Set drives required for MinIO to - serve read operations. MinIO can automatically reconstruct an object - with corrupted or missing data blocks if enough drives are online to - provide Read Quorum for that object. - - MinIO Read Quorum is ``DRIVES - (EC:N)``. + * - ``EC: 4`` (Default) + - 12 Tebibytes + - 0.750 + - 12 + - 12 -.. _minio-write-quorum: + * - ``EC: 6`` + - 10 Tebibytes + - 0.625 + - 10 + - 10 -Write Quorum - The minimum number of Erasure Set drives required for MinIO - to serve write operations. MinIO requires enough available drives to - eliminate the risk of split-brain scenarios. - - MinIO Write Quorum is ``(DRIVES - (EC:N)) + 1``. + * - ``EC: 8`` + - 8 Tebibytes + - 0.500 + - 8 + - 9 .. _minio-ec-storage-class: @@ -225,6 +198,8 @@ MinIO provides the following two storage classes: The maximum value is half of the total drives in the :ref:`Erasure Set `. + The minimum value is ``2``. + ``STANDARD`` parity *must* be greater than or equal to ``REDUCED_REDUNDANCY``. If ``REDUCED_REDUNDANCY`` is unset, ``STANDARD`` parity *must* be greater than 2 diff --git a/source/images/erasure-code.jpg b/source/images/erasure-code.jpg new file mode 100644 index 0000000000000000000000000000000000000000..440f307bc585e10d4bedcd2e85f4aaa1a85e4bf9 GIT binary patch literal 108244 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 Cs4AEM literal 0 HcmV?d00001 diff --git a/source/installation/deployment-and-management.rst b/source/installation/deployment-and-management.rst index 1b31fa6b..a09e6dc5 100644 --- a/source/installation/deployment-and-management.rst +++ b/source/installation/deployment-and-management.rst @@ -25,10 +25,13 @@ Standalone Deployments to the full set of MinIO's advanced S3 features and functionality. Distributed Deployments - Two or more MinIO servers with multiple storage volumes per server. - Distributed deployments are best for production environments and + One or more MinIO servers with *at least* four total storage volumes across + all servers. Distributed deployments are best for production environments and workloads and support all of MinIO's core and advanced S3 features and - functionality. + functionality. + + MinIO recommends a baseline topology of 4 nodes with 4 drives each + for production environments. .. _minio-installation-comparison: diff --git a/source/monitoring/healthcheck-probe.rst b/source/monitoring/healthcheck-probe.rst index 829460d4..056a00fe 100644 --- a/source/monitoring/healthcheck-probe.rst +++ b/source/monitoring/healthcheck-probe.rst @@ -43,7 +43,7 @@ Cluster Write Quorum -------------------- Use the following endpoint to test if a MinIO cluster has -:ref:`write quorum `: +:ref:`write quorum `: .. code-block:: shell :class: copyable @@ -76,7 +76,7 @@ Cluster Read Quorum -------------------- Use the following endpoint to test if a MinIO cluster has -:ref:`read quorum `: +:ref:`read quorum `: .. code-block:: shell :class: copyable @@ -104,7 +104,7 @@ Cluster Maintenance Check ------------------------- Use the following endpoint to test if the MinIO cluster can maintain -both :ref:`read ` and :ref:`write ` +both :ref:`read ` and :ref:`write ` if the specified MinIO server is taken down for maintenance: .. code-block:: shell