]> git.proxmox.com Git - ceph.git/blobdiff - ceph/doc/rados/operations/erasure-code.rst
import 15.2.0 Octopus source
[ceph.git] / ceph / doc / rados / operations / erasure-code.rst
index 03567d9309760ea54bd1827184338b9a2c8bbd2f..23e23bb8f9a640aaba7f38675e8ab71b0387b26d 100644 (file)
@@ -18,7 +18,7 @@ The simplest erasure coded pool is equivalent to `RAID5
 <https://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_5>`_ and
 requires at least three hosts::
 
-    $ ceph osd pool create ecpool 12 12 erasure
+    $ ceph osd pool create ecpool erasure
     pool 'ecpool' created
     $ echo ABCDEFGHI | rados --pool ecpool put NYAN -
     $ rados --pool ecpool get NYAN -
@@ -30,14 +30,14 @@ requires at least three hosts::
 Erasure code profiles
 ---------------------
 
-The default erasure code profile sustains the loss of a single OSD. It
-is equivalent to a replicated pool of size two but requires 1.5TB
-instead of 2TB to store 1TB of data. The default profile can be
+The default erasure code profile sustains the loss of a two OSDs. It
+is equivalent to a replicated pool of size three but requires 2TB
+instead of 3TB to store 1TB of data. The default profile can be
 displayed with::
 
     $ ceph osd erasure-code-profile get default
     k=2
-    m=1
+    m=2
     plugin=jerasure
     crush-failure-domain=host
     technique=reed_sol_van
@@ -56,7 +56,7 @@ the following profile can be defined::
        k=3 \
        m=2 \
        crush-failure-domain=rack
-    $ ceph osd pool create ecpool 12 12 erasure myprofile
+    $ ceph osd pool create ecpool erasure myprofile
     $ echo ABCDEFGHI | rados --pool ecpool put NYAN -
     $ rados --pool ecpool get NYAN -
     ABCDEFGHI
@@ -165,6 +165,21 @@ the *hot-storage* and benefit from its flexibility and speed.
 More information can be found in the `cache tiering
 <../cache-tiering>`_ documentation.
 
+Erasure coded pool recovery
+---------------------------
+If an erasure coded pool loses some shards, it must recover them from the others.
+This generally involves reading from the remaining shards, reconstructing the data, and
+writing it to the new peer.
+In Octopus, erasure coded pools can recover as long as there are at least *K* shards
+available. (With fewer than *K* shards, you have actually lost data!)
+
+Prior to Octopus, erasure coded pools required at least *min_size* shards to be
+available, even if *min_size* is greater than *K*. (We generally recommend min_size
+be *K+2* or more to prevent loss of writes and data.)
+This conservative decision was made out of an abundance of caution when designing the new pool
+mode but also meant pools with lost OSDs but no data loss were unable to recover and go active
+without manual intervention to change the *min_size*.
+
 Glossary
 --------