All of lore.kernel.org
 help / color / mirror / Atom feed
* osd: new pool flags: noscrub, nodeep-scrub
@ 2015-09-11  6:42 Mykola Golub
  2015-09-11 10:08 ` Gregory Farnum
  0 siblings, 1 reply; 9+ messages in thread
From: Mykola Golub @ 2015-09-11  6:42 UTC (permalink / raw)
  To: ceph-devel

Hi,

I would like to add new pool flags: noscrub and nodeep-scrub, to be
able to control scrubbing on per pool basis. In our case it could be
helpful in order to disable scrubbing on cache pools, which does not
work well right now, but I can imagine other scenarios where it could
be useful too.

Before I created a pull request, I would like to see if other people
consider this useful or may be have some other suggestions?

-- 
Mykola Golub

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: osd: new pool flags: noscrub, nodeep-scrub
  2015-09-11  6:42 osd: new pool flags: noscrub, nodeep-scrub Mykola Golub
@ 2015-09-11 10:08 ` Gregory Farnum
  2015-09-11 12:47   ` Mykola Golub
  0 siblings, 1 reply; 9+ messages in thread
From: Gregory Farnum @ 2015-09-11 10:08 UTC (permalink / raw)
  To: Mykola Golub; +Cc: ceph-devel

On Fri, Sep 11, 2015 at 7:42 AM, Mykola Golub <mgolub@mirantis.com> wrote:
> Hi,
>
> I would like to add new pool flags: noscrub and nodeep-scrub, to be
> able to control scrubbing on per pool basis. In our case it could be
> helpful in order to disable scrubbing on cache pools, which does not
> work well right now, but I can imagine other scenarios where it could
> be useful too.

Can you talk more about this? It sounds to me like maybe you dislike
the performance impact of scrubbing, but it's fairly important in
terms of data integrity. I don't think we want to permanently disable
them. A corruption in the cache pool isn't any less important than in
the backing pool — it will eventually get flushed, and it's where all
the reads will be handled!
-Greg
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: osd: new pool flags: noscrub, nodeep-scrub
  2015-09-11 10:08 ` Gregory Farnum
@ 2015-09-11 12:47   ` Mykola Golub
  2015-09-11 12:59     ` Sage Weil
  0 siblings, 1 reply; 9+ messages in thread
From: Mykola Golub @ 2015-09-11 12:47 UTC (permalink / raw)
  To: Gregory Farnum; +Cc: ceph-devel

On Fri, Sep 11, 2015 at 11:08:29AM +0100, Gregory Farnum wrote:
> On Fri, Sep 11, 2015 at 7:42 AM, Mykola Golub <mgolub@mirantis.com> wrote:
> > Hi,
> >
> > I would like to add new pool flags: noscrub and nodeep-scrub, to be
> > able to control scrubbing on per pool basis. In our case it could be
> > helpful in order to disable scrubbing on cache pools, which does not
> > work well right now, but I can imagine other scenarios where it could
> > be useful too.
> 
> Can you talk more about this? It sounds to me like maybe you dislike
> the performance impact of scrubbing, but it's fairly important in
> terms of data integrity. I don't think we want to permanently disable
> them. A corruption in the cache pool isn't any less important than in
> the backing pool — it will eventually get flushed, and it's where all
> the reads will be handled!

I was talking about this:

http://tracker.ceph.com/issues/8752

(false-negative on a caching pool). Although the best solution is
definitely to fix the bug, I am not sure it will be resolved soon (the
bug is open for a year). Still these false-negatives are annoying, as
they complicate monitoring for real inconsistent pgs. In this case I
might want to disable periodic scrub for caching pools, as a
workaround (I could do scrub for them manually though).

This might be not the best example where these flags could be helpful
(I just came to the idea when thinking about a workaround for that
problem, and this looked useful to me in general). We already have
'ceph osd set no[deep-]scrub', and users use it to temporary resolve
high I/O load. Being able to do this per pool looks useful too.

You might have pools of different importance for you, and disabling
scrub for some of them might be ok.

-- 
Mykola Golub
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: osd: new pool flags: noscrub, nodeep-scrub
  2015-09-11 12:47   ` Mykola Golub
@ 2015-09-11 12:59     ` Sage Weil
  2015-09-11 13:11       ` Sebastien Han
  2015-09-11 13:24       ` Mykola Golub
  0 siblings, 2 replies; 9+ messages in thread
From: Sage Weil @ 2015-09-11 12:59 UTC (permalink / raw)
  To: Mykola Golub; +Cc: Gregory Farnum, ceph-devel

On Fri, 11 Sep 2015, Mykola Golub wrote:
> On Fri, Sep 11, 2015 at 11:08:29AM +0100, Gregory Farnum wrote:
> > On Fri, Sep 11, 2015 at 7:42 AM, Mykola Golub <mgolub@mirantis.com> wrote:
> > > Hi,
> > >
> > > I would like to add new pool flags: noscrub and nodeep-scrub, to be
> > > able to control scrubbing on per pool basis. In our case it could be
> > > helpful in order to disable scrubbing on cache pools, which does not
> > > work well right now, but I can imagine other scenarios where it could
> > > be useful too.
> > 
> > Can you talk more about this? It sounds to me like maybe you dislike
> > the performance impact of scrubbing, but it's fairly important in
> > terms of data integrity. I don't think we want to permanently disable
> > them. A corruption in the cache pool isn't any less important than in
> > the backing pool ? it will eventually get flushed, and it's where all
> > the reads will be handled!
> 
> I was talking about this:
> 
> http://tracker.ceph.com/issues/8752
> 
> (false-negative on a caching pool). Although the best solution is
> definitely to fix the bug, I am not sure it will be resolved soon (the
> bug is open for a year). Still these false-negatives are annoying, as
> they complicate monitoring for real inconsistent pgs. In this case I
> might want to disable periodic scrub for caching pools, as a
> workaround (I could do scrub for them manually though).
> 
> This might be not the best example where these flags could be helpful
> (I just came to the idea when thinking about a workaround for that
> problem, and this looked useful to me in general). We already have
> 'ceph osd set no[deep-]scrub', and users use it to temporary resolve
> high I/O load. Being able to do this per pool looks useful too.
> 
> You might have pools of different importance for you, and disabling
> scrub for some of them might be ok.

I wonder if, in addition, we should also allow scrub and deep-scrub 
intervals to be set on a per-pool basis?

sage


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: osd: new pool flags: noscrub, nodeep-scrub
  2015-09-11 12:59     ` Sage Weil
@ 2015-09-11 13:11       ` Sebastien Han
  2015-09-11 13:27         ` Wido den Hollander
  2015-09-11 13:24       ` Mykola Golub
  1 sibling, 1 reply; 9+ messages in thread
From: Sebastien Han @ 2015-09-11 13:11 UTC (permalink / raw)
  To: Sage Weil; +Cc: Mykola Golub, Gregory Farnum, ceph-devel@vger.kernel.org

[-- Attachment #1: Type: text/plain, Size: 2886 bytes --]

I like the idea of being able to control on which pool we want to run scrub on.
Some data might deserve better protection than others, it’s really up to the admin.

The default behaviour will be to apply scrub to default pool and every new created pools.
The operator can change this behaviour either with a config flag or directly with a ceph mon command.

> On 11 Sep 2015, at 14:59, Sage Weil <sweil@redhat.com> wrote:
> 
> On Fri, 11 Sep 2015, Mykola Golub wrote:
>> On Fri, Sep 11, 2015 at 11:08:29AM +0100, Gregory Farnum wrote:
>>> On Fri, Sep 11, 2015 at 7:42 AM, Mykola Golub <mgolub@mirantis.com> wrote:
>>>> Hi,
>>>> 
>>>> I would like to add new pool flags: noscrub and nodeep-scrub, to be
>>>> able to control scrubbing on per pool basis. In our case it could be
>>>> helpful in order to disable scrubbing on cache pools, which does not
>>>> work well right now, but I can imagine other scenarios where it could
>>>> be useful too.
>>> 
>>> Can you talk more about this? It sounds to me like maybe you dislike
>>> the performance impact of scrubbing, but it's fairly important in
>>> terms of data integrity. I don't think we want to permanently disable
>>> them. A corruption in the cache pool isn't any less important than in
>>> the backing pool ? it will eventually get flushed, and it's where all
>>> the reads will be handled!
>> 
>> I was talking about this:
>> 
>> http://tracker.ceph.com/issues/8752
>> 
>> (false-negative on a caching pool). Although the best solution is
>> definitely to fix the bug, I am not sure it will be resolved soon (the
>> bug is open for a year). Still these false-negatives are annoying, as
>> they complicate monitoring for real inconsistent pgs. In this case I
>> might want to disable periodic scrub for caching pools, as a
>> workaround (I could do scrub for them manually though).
>> 
>> This might be not the best example where these flags could be helpful
>> (I just came to the idea when thinking about a workaround for that
>> problem, and this looked useful to me in general). We already have
>> 'ceph osd set no[deep-]scrub', and users use it to temporary resolve
>> high I/O load. Being able to do this per pool looks useful too.
>> 
>> You might have pools of different importance for you, and disabling
>> scrub for some of them might be ok.
> 
> I wonder if, in addition, we should also allow scrub and deep-scrub
> intervals to be set on a per-pool basis?
> 
> sage
> 
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


Cheers.
––––
Sébastien Han
Senior Cloud Architect

"Always give 100%. Unless you're giving blood."

Mail: seb@redhat.com
Address: 11 bis, rue Roquépine - 75008 Paris


[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 842 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: osd: new pool flags: noscrub, nodeep-scrub
  2015-09-11 12:59     ` Sage Weil
  2015-09-11 13:11       ` Sebastien Han
@ 2015-09-11 13:24       ` Mykola Golub
  2015-09-11 13:44         ` Andrey Korolyov
  2015-09-15  5:48         ` Mykola Golub
  1 sibling, 2 replies; 9+ messages in thread
From: Mykola Golub @ 2015-09-11 13:24 UTC (permalink / raw)
  To: Sage Weil; +Cc: Gregory Farnum, ceph-devel

On Fri, Sep 11, 2015 at 05:59:56AM -0700, Sage Weil wrote:

> I wonder if, in addition, we should also allow scrub and deep-scrub 
> intervals to be set on a per-pool basis?

ceph osd pool set <pool> [deep-]scrub_interval N ?

I could do this too.

-- 
Mykola Golub

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: osd: new pool flags: noscrub, nodeep-scrub
  2015-09-11 13:11       ` Sebastien Han
@ 2015-09-11 13:27         ` Wido den Hollander
  0 siblings, 0 replies; 9+ messages in thread
From: Wido den Hollander @ 2015-09-11 13:27 UTC (permalink / raw)
  To: Sebastien Han, Sage Weil
  Cc: Mykola Golub, Gregory Farnum, ceph-devel@vger.kernel.org



On 11-09-15 15:11, Sebastien Han wrote:
> I like the idea of being able to control on which pool we want to run scrub on.
> Some data might deserve better protection than others, it’s really up to the admin.
> 

Indeed. Let the admin be in control. If he/she doesn't want that pool to
be scrubbed Ceph shouldn't care.

Same like you can mount a filesystem with nobarrier if you want to. Not
that it is a wise thing to do.

> The default behaviour will be to apply scrub to default pool and every new created pools.
> The operator can change this behaviour either with a config flag or directly with a ceph mon command.
> 
>> On 11 Sep 2015, at 14:59, Sage Weil <sweil@redhat.com> wrote:
>>
>> On Fri, 11 Sep 2015, Mykola Golub wrote:
>>> On Fri, Sep 11, 2015 at 11:08:29AM +0100, Gregory Farnum wrote:
>>>> On Fri, Sep 11, 2015 at 7:42 AM, Mykola Golub <mgolub@mirantis.com> wrote:
>>>>> Hi,
>>>>>
>>>>> I would like to add new pool flags: noscrub and nodeep-scrub, to be
>>>>> able to control scrubbing on per pool basis. In our case it could be
>>>>> helpful in order to disable scrubbing on cache pools, which does not
>>>>> work well right now, but I can imagine other scenarios where it could
>>>>> be useful too.
>>>>
>>>> Can you talk more about this? It sounds to me like maybe you dislike
>>>> the performance impact of scrubbing, but it's fairly important in
>>>> terms of data integrity. I don't think we want to permanently disable
>>>> them. A corruption in the cache pool isn't any less important than in
>>>> the backing pool ? it will eventually get flushed, and it's where all
>>>> the reads will be handled!
>>>
>>> I was talking about this:
>>>
>>> http://tracker.ceph.com/issues/8752
>>>
>>> (false-negative on a caching pool). Although the best solution is
>>> definitely to fix the bug, I am not sure it will be resolved soon (the
>>> bug is open for a year). Still these false-negatives are annoying, as
>>> they complicate monitoring for real inconsistent pgs. In this case I
>>> might want to disable periodic scrub for caching pools, as a
>>> workaround (I could do scrub for them manually though).
>>>
>>> This might be not the best example where these flags could be helpful
>>> (I just came to the idea when thinking about a workaround for that
>>> problem, and this looked useful to me in general). We already have
>>> 'ceph osd set no[deep-]scrub', and users use it to temporary resolve
>>> high I/O load. Being able to do this per pool looks useful too.
>>>
>>> You might have pools of different importance for you, and disabling
>>> scrub for some of them might be ok.
>>
>> I wonder if, in addition, we should also allow scrub and deep-scrub
>> intervals to be set on a per-pool basis?
>>
>> sage
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 
> Cheers.
> ––––
> Sébastien Han
> Senior Cloud Architect
> 
> "Always give 100%. Unless you're giving blood."
> 
> Mail: seb@redhat.com
> Address: 11 bis, rue Roquépine - 75008 Paris
> 
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: osd: new pool flags: noscrub, nodeep-scrub
  2015-09-11 13:24       ` Mykola Golub
@ 2015-09-11 13:44         ` Andrey Korolyov
  2015-09-15  5:48         ` Mykola Golub
  1 sibling, 0 replies; 9+ messages in thread
From: Andrey Korolyov @ 2015-09-11 13:44 UTC (permalink / raw)
  To: Mykola Golub; +Cc: Sage Weil, Gregory Farnum, ceph-devel

On Fri, Sep 11, 2015 at 4:24 PM, Mykola Golub <mgolub@mirantis.com> wrote:
> On Fri, Sep 11, 2015 at 05:59:56AM -0700, Sage Weil wrote:
>
>> I wonder if, in addition, we should also allow scrub and deep-scrub
>> intervals to be set on a per-pool basis?
>
> ceph osd pool set <pool> [deep-]scrub_interval N ?

BTW it would be absolutely lovely to see a copy-aware scrubs, e.g.
parallel (deep-) scrubs on a non-intersecting set of PGs. Currently as
far as I can see if the scrub starts, the max_scrubs is in effect only
for a primary OSD, allowing situations when two scrubs, primary and
non-primary, can land on a same OSD.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: osd: new pool flags: noscrub, nodeep-scrub
  2015-09-11 13:24       ` Mykola Golub
  2015-09-11 13:44         ` Andrey Korolyov
@ 2015-09-15  5:48         ` Mykola Golub
  1 sibling, 0 replies; 9+ messages in thread
From: Mykola Golub @ 2015-09-15  5:48 UTC (permalink / raw)
  To: Sage Weil; +Cc: Gregory Farnum, ceph-devel

On Fri, Sep 11, 2015 at 04:24:23PM +0300, Mykola Golub wrote:
> On Fri, Sep 11, 2015 at 05:59:56AM -0700, Sage Weil wrote:
> 
> > I wonder if, in addition, we should also allow scrub and deep-scrub 
> > intervals to be set on a per-pool basis?
> 
> ceph osd pool set <pool> [deep-]scrub_interval N ?
> 
> I could do this too.

https://github.com/ceph/ceph/pull/5922

-- 
Mykola Golub

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-09-15  5:48 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-11  6:42 osd: new pool flags: noscrub, nodeep-scrub Mykola Golub
2015-09-11 10:08 ` Gregory Farnum
2015-09-11 12:47   ` Mykola Golub
2015-09-11 12:59     ` Sage Weil
2015-09-11 13:11       ` Sebastien Han
2015-09-11 13:27         ` Wido den Hollander
2015-09-11 13:24       ` Mykola Golub
2015-09-11 13:44         ` Andrey Korolyov
2015-09-15  5:48         ` Mykola Golub

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.