EC pool errors with some k/m combinations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have a small cluster (4 nodes, 15 OSDs, 3-5 OSDs per node) running bits from the firefly branch (0.78-430-gb8ea656).

I am trying out various k/m combinations for EC pools. Certain k/m combinations are causing rados put to fail on the second 4MB chunk. I realize some of these combinations might not make much sense given the size of my cluster, but I am curious if I am seeing errors because of the size of the cluster or due to some other issue (especially k=3/m=3). I have double checked that the failure domain is set to osd and not host (see below).

++ rados -p testec-22 put xyz sampledata
++ rados -p testec-33 put xyz sampledata
error putting testec-33/xyz: Operation not supported
++ rados -p testec-42 put xyz sampledata
++ rados -p testec-43 put xyz sampledata
++ rados -p testec-52 put xyz sampledata
error putting testec-52/xyz: Operation not supported
++ rados -p testec-53 put xyz sampledata
error putting testec-53/xyz: Operation not supported
++ rados -p testec-62 put xyz sampledata
error putting testec-62/xyz: Operation not supported
++ rados -p testec-63 put xyz sampledata
error putting testec-63/xyz: Operation not supported

Error from OSD to client:

2014-03-29 16:08:14.024912 7f6556d13700 1 -- 198.18.32.12:0/1011811 <== osd.3 198.18.32.15:6800/38109 2 ==== osd_op_reply(2 xyz [write 4194304~4194304] v0'0 uv0 ondisk = -95 (Operation not supported)) v6 ==== 170+0+0 (469808551 0 0) 0x7f65300025e0 con 0x2451db0

Configuration for the pools:

ceph osd erasure-code-profile set profile22 ruleset-failure-domain=osd k=2 m=2
ceph osd crush rule create-erasure ecruleset22 profile22
ceph osd pool create testec-22 20 20 erasure profile22 ecruleset22

ceph osd erasure-code-profile set profile33 ruleset-failure-domain=osd k=3 m=3
ceph osd crush rule create-erasure ecruleset33 profile33
ceph osd pool create testec-33 20 20 erasure profile33 ecruleset33

ceph osd erasure-code-profile set profile42 ruleset-failure-domain=osd k=4 m=2
ceph osd crush rule create-erasure ecruleset42 profile42
ceph osd pool create testec-42 20 20 erasure profile42 ecruleset42

ceph osd erasure-code-profile set profile43 ruleset-failure-domain=osd k=4 m=3
ceph osd crush rule create-erasure ecruleset43 profile43
ceph osd pool create testec-43 20 20 erasure profile43 ecruleset43

ceph osd erasure-code-profile set profile52 ruleset-failure-domain=osd k=5 m=2
ceph osd crush rule create-erasure ecruleset52 profile52
ceph osd pool create testec-52 20 20 erasure profile52 ecruleset52

ceph osd erasure-code-profile set profile53 ruleset-failure-domain=osd k=5 m=3
ceph osd crush rule create-erasure ecruleset53 profile53
ceph osd pool create testec-53 20 20 erasure profile53 ecruleset53

ceph osd erasure-code-profile set profile62 ruleset-failure-domain=osd k=6 m=2
ceph osd crush rule create-erasure ecruleset62 profile62
ceph osd pool create testec-62 20 20 erasure profile62 ecruleset62

ceph osd erasure-code-profile set profile63 ruleset-failure-domain=osd k=6 m=3
ceph osd crush rule create-erasure ecruleset63 profile63
ceph osd pool create testec-63 20 20 erasure profile63 ecruleset63

The CRUSH rulesets all look the same (modulo the name and ids):

        { "rule_id": 1,
          "rule_name": "ecruleset22",
          "ruleset": 1,
          "type": 3,
          "min_size": 3,
          "max_size": 20,
          "steps": [
                { "op": "set_chooseleaf_tries",
                  "num": 5},
                { "op": "take",
                  "item": -1,
                  "item_name": "default"},
                { "op": "choose_indep",
                  "num": 0,
                  "type": "osd"},
                { "op": "emit"}]},

Same with EC profiles:

directory=/usr/lib64/ceph/erasure-code
k=3
m=3
plugin=jerasure
ruleset-failure-domain=osd
technique=reed_sol_van

Thanks,
-mike

_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com




[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux