Re: CephFS file to rados object mapping

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

 



On Tue, Sep 29, 2015 at 7:24 AM, Andras Pataki
<apataki@xxxxxxxxxxxxxxxxxxxx> wrote:
> Thanks, that makes a lot of sense.
> One more question about checksumming objects in rados.  Our cluster uses
> two copies per object, and I have some where the checkums mismatch between
> the two copies (that deep scrub warns about).  Does ceph store an
> authoritative checksum of what the block should look like?  I.e. Is there
> a way to tell which version of the block is correct?  I seem to recall
> some changelog entry that Hammer is adding checksum storage for blocks, or
> am I wrong?

There's no general authoritative checksumming yet. EC pools get
checksums, and replicated pools checksum the objects as part of deep
scrub. But maintaining a checksum when you do a partial overwrite
requires reading the whole object and updating the checksum, so we
don't do that.
NewStore is doing some stuff like this (but I'm not sure how much you
can count on) and there is "opportunistic checksumming" in the code
base, but that's really just a developer feature rather than something
users should be running.

So that means there's no automated way to guarantee the right copy of
an object when scrubbing. If you have 3+ copies I'd recommend checking
each of them and picking the one that's duplicated...
-Greg

>
> Andras
>
>
> On 9/29/15, 9:58 AM, "Gregory Farnum" <gfarnum@xxxxxxxxxx> wrote:
>
>>The formula for objects in a file is <ino in hex>.<object in
>>sequence>. So you'll have noticed they all look something like
>>12345.00000001, 12345.00000002, 12345.00000003, ...
>>
>>So if you've got a particular inode and file size, you can generate a
>>list of all the possible objects in it. To find the object->OSD
>>mapping you'd need to run crush, by making use of the crushtool or
>>similar.
>>-Greg
>>
>>On Tue, Sep 29, 2015 at 6:29 AM, Andras Pataki
>><apataki@xxxxxxxxxxxxxxxxxxxx> wrote:
>>> Thanks, that worked.  Is there a mapping in the other direction easily
>>> available, I.e. To find where all the 4MB pieces of a file are?
>>>
>>> On 9/28/15, 4:56 PM, "John Spray" <jspray@xxxxxxxxxx> wrote:
>>>
>>>>On Mon, Sep 28, 2015 at 9:46 PM, Andras Pataki
>>>><apataki@xxxxxxxxxxxxxxxxxxxx> wrote:
>>>>> Hi,
>>>>>
>>>>> Is there a way to find out which radios objects a file in cephfs is
>>>>>mapped
>>>>> to from the command line?  Or vice versa, which file a particular
>>>>>radios
>>>>> object belongs to?
>>>>
>>>>The part of the object name before the period is the inode number (in
>>>>hex).
>>>>
>>>>John
>>>>
>>>>> Our ceph cluster has some inconsistencies/corruptions and I am trying
>>>>>to
>>>>> find out which files are impacted in cephfs.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Andras
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> ceph-users mailing list
>>>>> ceph-users@xxxxxxxxxxxxxx
>>>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>>>>>
>>>
>>> _______________________________________________
>>> ceph-users mailing list
>>> ceph-users@xxxxxxxxxxxxxx
>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>
_______________________________________________
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]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux