Re: EC pool creation results in incorrect M value?

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

 



Hi Eric,

With regards to "From the output of “ceph osd pool ls detail” you can see
min_size=4, the crush rule says min_size=3 however the pool does NOT
survive 2 hosts failing.  Am I missing something?"

For your EC profile you need to set the pool min_size=3 to still read/write
to the pool with two host failures.
RUN:  sudo ceph osd pool set ec32pool min_size 3

Kind regards
Geoffrey Rhodes

On Mon, 27 Jan 2020 at 22:11, <ceph-users-request@xxxxxxx> wrote:

> Send ceph-users mailing list submissions to
>         ceph-users@xxxxxxx
>
> To subscribe or unsubscribe via email, send a message with subject or
> body 'help' to
>         ceph-users-request@xxxxxxx
>
> You can reach the person managing the list at
>         ceph-users-owner@xxxxxxx
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of ceph-users digest..."
>
> Today's Topics:
>
>    1. Re: EC pool creation results in incorrect M value? (Paul Emmerich)
>    2. Re: EC pool creation results in incorrect M value? (Smith, Eric)
>    3. Re: EC pool creation results in incorrect M value? (Smith, Eric)
>    4. data loss on full file system? (Håkan T Johansson)
>
>
> ----------------------------------------------------------------------
>
> Date: Mon, 27 Jan 2020 17:14:55 +0100
> From: Paul Emmerich <paul.emmerich@xxxxxxxx>
> Subject:  Re: EC pool creation results in incorrect M
>         value?
> To: "Smith, Eric" <Eric.Smith@xxxxxxxx>
> Cc: "ceph-users@xxxxxxx" <ceph-users@xxxxxxx>
> Message-ID:
>         <
> CAD9yTbFb28FX_XaNXRUUxQ1UqAYa_ouhO_fkE+Vbts1VXGkuDw@xxxxxxxxxxxxxx>
> Content-Type: text/plain; charset="UTF-8"
>
> min_size in the crush rule and min_size in the pool are completely
> different things that happen to share the same name.
>
> Ignore min_size in the crush rule, it has virtually no meaning in
> almost all cases (like this one).
>
>
> Paul
>
> --
> Paul Emmerich
>
> Looking for help with your Ceph cluster? Contact us at https://croit.io
>
> croit GmbH
> Freseniusstr. 31h
> 81247 München
> www.croit.io
> Tel: +49 89 1896585 90
>
> On Mon, Jan 27, 2020 at 3:41 PM Smith, Eric <Eric.Smith@xxxxxxxx> wrote:
> >
> > I have a Ceph Luminous (12.2.12) cluster with 6 nodes. I’m attempting to
> create an EC3+2 pool with the following commands:
> >
> > Create the EC profile:
> >
> > ceph osd erasure-code-profile set es32 k=3 m=2 plugin=jerasure w=8
> technique=reed_sol_van crush-failure-domain=host crush-root=sgshared
> >
> > Verify profile creation:
> >
> > [root@mon-1 ~]# ceph osd erasure-code-profile get es32
> >
> > crush-device-class=
> >
> > crush-failure-domain=host
> >
> > crush-root=sgshared
> >
> > jerasure-per-chunk-alignment=false
> >
> > k=3
> >
> > m=2
> >
> > plugin=jerasure
> >
> > technique=reed_sol_van
> >
> > w=8
> >
> > Create a pool using this profile:
> >
> > ceph osd pool create ec32pool 1024 1024 erasure es32
> >
> > List pool detail:
> >
> > pool 31 'es32' erasure size 5 min_size 4 crush_rule 11 object_hash
> rjenkins pg_num 1024 pgp_num 1024 last_change 1568 flags hashpspool
> stripe_width 12288 application ES
> >
> > Here’s the crush rule that’s created:
> >     {
> >
> >         "rule_id": 11,
> >
> >         "rule_name": "es32",
> >
> >         "ruleset": 11,
> >
> >         "type": 3,
> >
> >         "min_size": 3,
> >
> >         "max_size": 5,
> >
> >         "steps": [
> >
> >             {
> >
> >                 "op": "set_chooseleaf_tries",
> >
> >                 "num": 5
> >
> >             },
> >
> >             {
> >
> >                 "op": "set_choose_tries",
> >
> >                 "num": 100
> >
> >             },
> >
> >             {
> >
> >                 "op": "take",
> >
> >                 "item": -2,
> >
> >                 "item_name": "sgshared"
> >
> >             },
> >
> >             {
> >
> >                 "op": "chooseleaf_indep",
> >
> >                 "num": 0,
> >
> >                 "type": "host"
> >
> >             },
> >
> >             {
> >
> >                 "op": "emit"
> >
> >             }
> >
> >         ]
> >
> >     },
> >
> >
> >
> > From the output of “ceph osd pool ls detail” you can see min_size=4, the
> crush rule says min_size=3 however the pool does NOT survive 2 hosts
> failing.
> >
> >
> >
> > Am I missing something?
> >
> >
> >
> > _______________________________________________
> > ceph-users mailing list -- ceph-users@xxxxxxx
> > To unsubscribe send an email to ceph-users-leave@xxxxxxx
>
> ------------------------------
>
> Date: Mon, 27 Jan 2020 16:22:06 +0000
> From: "Smith, Eric" <Eric.Smith@xxxxxxxx>
> Subject:  Re: EC pool creation results in incorrect M
>         value?
> To: Paul Emmerich <paul.emmerich@xxxxxxxx>
> Cc: "ceph-users@xxxxxxx" <ceph-users@xxxxxxx>
> Message-ID:  <BN8PR14MB28206D6D29507FD9499DEE91EA0B0@xxxxxxxxxxxxxxxxx
>         prd14.prod.outlook.com>
> Content-Type: text/plain; charset="utf-8"
>
> Thanks for the info regarding min_size in the crush rule - does this seem
> like a bug to you then? Is anyone else able to reproduce this?
>
> -----Original Message-----
> From: Paul Emmerich <paul.emmerich@xxxxxxxx>
> Sent: Monday, January 27, 2020 11:15 AM
> To: Smith, Eric <Eric.Smith@xxxxxxxx>
> Cc: ceph-users@xxxxxxx
> Subject: Re:  EC pool creation results in incorrect M value?
>
> min_size in the crush rule and min_size in the pool are completely
> different things that happen to share the same name.
>
> Ignore min_size in the crush rule, it has virtually no meaning in almost
> all cases (like this one).
>
>
> Paul
>
> --
> Paul Emmerich
>
> Looking for help with your Ceph cluster? Contact us at https://croit.io
>
> croit GmbH
> Freseniusstr. 31h
> 81247 München
> www.croit.io
> Tel: +49 89 1896585 90
>
> On Mon, Jan 27, 2020 at 3:41 PM Smith, Eric <Eric.Smith@xxxxxxxx> wrote:
> >
> > I have a Ceph Luminous (12.2.12) cluster with 6 nodes. I’m attempting to
> create an EC3+2 pool with the following commands:
> >
> > Create the EC profile:
> >
> > ceph osd erasure-code-profile set es32 k=3 m=2 plugin=jerasure w=8
> > technique=reed_sol_van crush-failure-domain=host crush-root=sgshared
> >
> > Verify profile creation:
> >
> > [root@mon-1 ~]# ceph osd erasure-code-profile get es32
> >
> > crush-device-class=
> >
> > crush-failure-domain=host
> >
> > crush-root=sgshared
> >
> > jerasure-per-chunk-alignment=false
> >
> > k=3
> >
> > m=2
> >
> > plugin=jerasure
> >
> > technique=reed_sol_van
> >
> > w=8
> >
> > Create a pool using this profile:
> >
> > ceph osd pool create ec32pool 1024 1024 erasure es32
> >
> > List pool detail:
> >
> > pool 31 'es32' erasure size 5 min_size 4 crush_rule 11 object_hash
> > rjenkins pg_num 1024 pgp_num 1024 last_change 1568 flags hashpspool
> > stripe_width 12288 application ES
> >
> > Here’s the crush rule that’s created:
> >     {
> >
> >         "rule_id": 11,
> >
> >         "rule_name": "es32",
> >
> >         "ruleset": 11,
> >
> >         "type": 3,
> >
> >         "min_size": 3,
> >
> >         "max_size": 5,
> >
> >         "steps": [
> >
> >             {
> >
> >                 "op": "set_chooseleaf_tries",
> >
> >                 "num": 5
> >
> >             },
> >
> >             {
> >
> >                 "op": "set_choose_tries",
> >
> >                 "num": 100
> >
> >             },
> >
> >             {
> >
> >                 "op": "take",
> >
> >                 "item": -2,
> >
> >                 "item_name": "sgshared"
> >
> >             },
> >
> >             {
> >
> >                 "op": "chooseleaf_indep",
> >
> >                 "num": 0,
> >
> >                 "type": "host"
> >
> >             },
> >
> >             {
> >
> >                 "op": "emit"
> >
> >             }
> >
> >         ]
> >
> >     },
> >
> >
> >
> > From the output of “ceph osd pool ls detail” you can see min_size=4, the
> crush rule says min_size=3 however the pool does NOT survive 2 hosts
> failing.
> >
> >
> >
> > Am I missing something?
> >
> >
> >
> > _______________________________________________
> > ceph-users mailing list -- ceph-users@xxxxxxx To unsubscribe send an
> > email to ceph-users-leave@xxxxxxx
>
> ------------------------------
>
> Date: Mon, 27 Jan 2020 16:45:52 +0000
> From: "Smith, Eric" <Eric.Smith@xxxxxxxx>
> Subject:  Re: EC pool creation results in incorrect M
>         value?
> To: "Smith, Eric" <Eric.Smith@xxxxxxxx>, Paul Emmerich
>         <paul.emmerich@xxxxxxxx>
> Cc: "ceph-users@xxxxxxx" <ceph-users@xxxxxxx>
> Message-ID:  <BN8PR14MB2820B1DF71DE395B7B5AA1ECEA0B0@xxxxxxxxxxxxxxxxx
>         prd14.prod.outlook.com>
> Content-Type: text/plain; charset="utf-8"
>
> OK I see this: https://github.com/ceph/ceph/pull/8008
>
> Perhaps it's just to be safe...
>
> -----Original Message-----
> From: Smith, Eric <Eric.Smith@xxxxxxxx>
> Sent: Monday, January 27, 2020 11:22 AM
> To: Paul Emmerich <paul.emmerich@xxxxxxxx>
> Cc: ceph-users@xxxxxxx
> Subject:  Re: EC pool creation results in incorrect M value?
>
> Thanks for the info regarding min_size in the crush rule - does this seem
> like a bug to you then? Is anyone else able to reproduce this?
>
> -----Original Message-----
> From: Paul Emmerich <paul.emmerich@xxxxxxxx>
> Sent: Monday, January 27, 2020 11:15 AM
> To: Smith, Eric <Eric.Smith@xxxxxxxx>
> Cc: ceph-users@xxxxxxx
> Subject: Re:  EC pool creation results in incorrect M value?
>
> min_size in the crush rule and min_size in the pool are completely
> different things that happen to share the same name.
>
> Ignore min_size in the crush rule, it has virtually no meaning in almost
> all cases (like this one).
>
>
> Paul
>
> --
> Paul Emmerich
>
> Looking for help with your Ceph cluster? Contact us at https://croit.io
>
> croit GmbH
> Freseniusstr. 31h
> 81247 München
> www.croit.io
> Tel: +49 89 1896585 90
>
> On Mon, Jan 27, 2020 at 3:41 PM Smith, Eric <Eric.Smith@xxxxxxxx> wrote:
> >
> > I have a Ceph Luminous (12.2.12) cluster with 6 nodes. I’m attempting to
> create an EC3+2 pool with the following commands:
> >
> > Create the EC profile:
> >
> > ceph osd erasure-code-profile set es32 k=3 m=2 plugin=jerasure w=8
> > technique=reed_sol_van crush-failure-domain=host crush-root=sgshared
> >
> > Verify profile creation:
> >
> > [root@mon-1 ~]# ceph osd erasure-code-profile get es32
> >
> > crush-device-class=
> >
> > crush-failure-domain=host
> >
> > crush-root=sgshared
> >
> > jerasure-per-chunk-alignment=false
> >
> > k=3
> >
> > m=2
> >
> > plugin=jerasure
> >
> > technique=reed_sol_van
> >
> > w=8
> >
> > Create a pool using this profile:
> >
> > ceph osd pool create ec32pool 1024 1024 erasure es32
> >
> > List pool detail:
> >
> > pool 31 'es32' erasure size 5 min_size 4 crush_rule 11 object_hash
> > rjenkins pg_num 1024 pgp_num 1024 last_change 1568 flags hashpspool
> > stripe_width 12288 application ES
> >
> > Here’s the crush rule that’s created:
> >     {
> >
> >         "rule_id": 11,
> >
> >         "rule_name": "es32",
> >
> >         "ruleset": 11,
> >
> >         "type": 3,
> >
> >         "min_size": 3,
> >
> >         "max_size": 5,
> >
> >         "steps": [
> >
> >             {
> >
> >                 "op": "set_chooseleaf_tries",
> >
> >                 "num": 5
> >
> >             },
> >
> >             {
> >
> >                 "op": "set_choose_tries",
> >
> >                 "num": 100
> >
> >             },
> >
> >             {
> >
> >                 "op": "take",
> >
> >                 "item": -2,
> >
> >                 "item_name": "sgshared"
> >
> >             },
> >
> >             {
> >
> >                 "op": "chooseleaf_indep",
> >
> >                 "num": 0,
> >
> >                 "type": "host"
> >
> >             },
> >
> >             {
> >
> >                 "op": "emit"
> >
> >             }
> >
> >         ]
> >
> >     },
> >
> >
> >
> > From the output of “ceph osd pool ls detail” you can see min_size=4, the
> crush rule says min_size=3 however the pool does NOT survive 2 hosts
> failing.
> >
> >
> >
> > Am I missing something?
> >
> >
> >
> > _______________________________________________
> > ceph-users mailing list -- ceph-users@xxxxxxx To unsubscribe send an
> > email to ceph-users-leave@xxxxxxx
> _______________________________________________
> ceph-users mailing list -- ceph-users@xxxxxxx To unsubscribe send an
> email to ceph-users-leave@xxxxxxx
>
> ------------------------------
>
> Date: Mon, 27 Jan 2020 21:10:10 +0100
> From: Håkan T Johansson <f96hajo@xxxxxxxxxxx>
> Subject:  data loss on full file system?
> To: <ceph-users@xxxxxxx>
> Message-ID:
>         <alpine.DEB.2.20.2001272106210.7767@xxxxxxxxxxxxxxxxxxxxxxx>
> Content-Type: text/plain; format=flowed; charset="UTF-8"
>
>
> Hi,
>
> for test purposes, I have set up two 100 GB OSDs, one
> taking a data pool and the other metadata pool for cephfs.
>
> Am running 14.2.6-1-gffd69200ad-1 with packages from
> https://mirror.croit.io/debian-nautilus
>
> Am then running a program that creates a lot of 1 MiB files by calling
>    fopen()
>    fwrite()
>    fclose()
> for each of them.  Error codes are checked.
>
> This works successfully for ~100 GB of data, and then strangely also
> succeeds
> for many more 100 GB of data...  ??
>
> All written files have size 1 MiB with 'ls', and thus should contain the
> data
> written.  However, on inspection, the files written after the first ~100
> GiB,
> are full of just 0s.  (hexdump -C)
>
>
> To further test this, I use the standard tool 'cp' to copy a few
> random-content
> files into the full cephfs filessystem.  cp reports no complaints, and
> after
> the copy operations, content is seen with hexdump -C.  However, after
> forcing
> the data out of cache on the client by reading other earlier created
> files,
> hexdump -C show all-0 content for the files copied with 'cp'.  Data that
> was
> there is suddenly gone...?
>
>
> I am new to ceph.  Is there an option I have missed to avoid this
> behaviour?
> (I could not find one in
> https://docs.ceph.com/docs/master/man/8/mount.ceph/ )
>
> Is this behaviour related to
> https://docs.ceph.com/docs/mimic/cephfs/full/
> ?
>
> (That page states 'sometime after a write call has already returned 0'.
> But if
> write returns 0, then no data has been written, so the user program would
> not
> assume any kind of success.)
>
> Best regards,
>
> Håkan
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> ceph-users mailing list -- ceph-users@xxxxxxx
> To unsubscribe send an email to ceph-users-leave@xxxxxxx
> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
>
>
> ------------------------------
>
> End of ceph-users Digest, Vol 84, Issue 44
> ******************************************
>
_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx




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


  Powered by Linux