Re: Production 12.2.2 CephFS Cluster still broken, new Details

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

 



On Tue, Dec 12, 2017 at 8:29 PM, Tobias Prousa <tobias.prousa@xxxxxxxxx> wrote:
> Hi Zheng,
>
> the more you tell me the more what I see begins to makes sens to me. Thank
> you very much.
>
> Could you please be a little more verbose about how to use rados rmomapky?
> What to use for <name> and what to use for <>. Here is what my dir_frag
> looks like:
>
>     {
>         "damage_type": "dir_frag",
>         "id": 1418581248,
>         "ino": 1099733590290,
>         "frag": "*",
>         "path":
> "/home/some_username/.cache/mozilla/firefox/dsjf5siv.default/safebrowsing-backup"
>     }


Find inode number of parent directory
(/home/some_username/.cache/mozilla/firefox/dsjf5siv.default/ in this
case), print it in hex. You will get  something like 1000xxxxxxx.

run 'rados -p cephfs_metadatapool listomapkeys 1000xxxxxxx.00000000'

the output should include one entry named safebrowsing-backup_head

run 'rados -p cephfs_metadatapool rmomapkey 1000xxxxxxx.00000000
safebrowsing-backup_head'

before doing rmomapkey, run 'ceph daemon mds.x flush journal'  and
stop mds. you'd better to do this after scrub

>
> I cannot simply remove that dir through filesystem as it refuses to delete
> that folder.
>
> Then you say its easy to fix backtrace, yet here it looks like some
> backtraces get fixed with online MDS scrub while most of them fail to be
> fixed and stay in damage_type "backtrace".
>
> Once again, thank you so much for your help!
>
> Best regards,
> Tobi
>
>
>
>
> On 12/12/2017 01:10 PM, Yan, Zheng wrote:
>>
>> On Tue, Dec 12, 2017 at 4:22 PM, Tobias Prousa <tobias.prousa@xxxxxxxxx>
>> wrote:
>>>
>>> Hi there,
>>>
>>> regarding my ML post from yesterday (Upgrade from 12.2.1 to 12.2.2 broke
>>> my
>>> CephFs) I was able to get a little further with the suggested
>>> "cephfs-table-tool take_inos <max ino>". This made the whole issue with
>>> loads of "falsely free-marked inodes" go away.
>>>
>>> I then restarted MDS, kept all clients down so no client has mounted FS.
>>> Then I started an online MDS scrub
>>>
>>> ceph daemon mds.a scrub_path / recursive repair
>>>
>>> This again ran for about 3 hours, then MDS again marked FS damaged and
>>> changes its own state to standby (at least that is what I interpret from
>>> what I see. This happened exactly at the moment when the scrub hit a
>>> missing
>>> object. See end of logfile (default log level):
>>>
>>> 2017-12-11 22:29:05.725484 7fc2342bc700  0 log_channel(cluster) log [WRN]
>>> :
>>> bad backtrace on inode
>>>
>>> 0x1000d3aede3(/home/some_username/.cache/mozilla/firefox/dsjf5siv.default/safebrowsing/test-unwanted-simple.sbstore),
>>> rewriting it
>>> 2017-12-11 22:29:05.725507 7fc2342bc700  0 log_channel(cluster) log [WRN]
>>> :
>>> Scrub error on inode 0x1000d3aede3
>>>
>>> (/home/some_username/.cache/mozilla/firefox/dsjf5siv.default/safebrowsing/test-unwanted-simple.sbstore)
>>> see mds.b log and `damage ls` output for details
>>> 2017-12-11 22:29:05.725569 7fc2342bc700 -1 mds.0.scrubstack
>>> _validate_inode_done scrub error on inode [inode 0x1000d3aede3 [2,head]
>>>
>>> /home/some_username/.cache/mozilla/firefox/dsjf5siv.default/safebrowsing/test-unwanted-simple.sbstore
>>> auth v382 dirtyparent s=232 n(v0 b232 1=1+0) (iversion lock) |
>>> dirtyparent=1
>>> scrubqueue=0 0x55ef37c83200]:
>>>
>>> {"performed_validation":true,"passed_validation":false,"backtrace":{"checked":true,"passed":false,"read_ret_val":-61,"ondisk_value":"(-1)0x0:[]//","memoryvalue":"(0)0x1000d3aede3:[<0x1000d3aeda7/test-unwanted-simple.sbstore
>>> v382>,<0x10002de79e8/safebrowsing
>>> v7142119>,<0x10002de79df/dsjf5siv.default
>>> v4089757>,<0x10002de79de/firefox v3998050>,<0x10002de79dd/mozilla
>>> v4933047>,<0x100018bd837/.cache v115551644>,<0x10000000000/some_username
>>> v444724510>,<0x1/home v228039388>]//","error_str":"failed to read off
>>> disk;
>>> see
>>>
>>> retval"},"raw_stats":{"checked":false,"passed":false,"read_ret_val":0,"ondisk_value.dirstat":"f()","ondisk_value.rstat":"n()","memory_value.dirrstat":"f()","memory_value.rstat":"n()","error_str":""},"return_code":-61}
>>> 2017-12-11 22:29:05.729992 7fc2342bc700  0 log_channel(cluster) log [WRN]
>>> :
>>> bad backtrace on inode
>>>
>>> 0x1000d3aedf1(/home/some_username/.cache/mozilla/firefox/dsjf5siv.default/safebrowsing/testexcept-flashsubdoc-simple.sbstore),
>>> rewriting it
>>> 2017-12-11 22:29:05.730022 7fc2342bc700  0 log_channel(cluster) log [WRN]
>>> :
>>> Scrub error on inode 0x1000d3aedf1
>>>
>>> (/home/some_username/.cache/mozilla/firefox/dsjf5siv.default/safebrowsing/testexcept-flashsubdoc-simple.sbstore)
>>> see mds.b log and `damage ls` output for details
>>> 2017-12-11 22:29:05.730077 7fc2342bc700 -1 mds.0.scrubstack
>>> _validate_inode_done scrub error on inode [inode 0x1000d3aedf1 [2,head]
>>>
>>> /home/some_username/.cache/mozilla/firefox/dsjf5siv.default/safebrowsing/testexcept-flashsubdoc-simple.sbstore
>>> auth v384 dirtyparent s=232 n(v0 b232 1=1+0) (iversion lock) |
>>> dirtyparent=1
>>> scrubqueue=0 0x55ef3aa38a00]:
>>>
>>> {"performed_validation":true,"passed_validation":false,"backtrace":{"checked":true,"passed":false,"read_ret_val":-61,"ondisk_value":"(-1)0x0:[]//","memoryvalue":"(0)0x1000d3aedf1:[<0x1000d3aeda7/testexcept-flashsubdoc-simple.sbstore
>>> v384>,<0x10002de79e8/safebrowsing
>>> v7142119>,<0x10002de79df/dsjf5siv.default
>>> v4089757>,<0x10002de79de/firefox v3998050>,<0x10002de79dd/mozilla
>>> v4933047>,<0x100018bd837/.cache v115551644>,<0x10000000000/some_username
>>> v444724510>,<0x1/home v228039388>]//","error_str":"failed to read off
>>> disk;
>>> see
>>>
>>> retval"},"raw_stats":{"checked":false,"passed":false,"read_ret_val":0,"ondisk_value.dirstat":"f()","ondisk_value.rstat":"n()","memory_value.dirrstat":"f()","memory_value.rstat":"n()","error_str":""},"return_code":-61}
>>> 2017-12-11 22:29:05.733389 7fc2342bc700  0 log_channel(cluster) log [WRN]
>>> :
>>> bad backtrace on inode
>>>
>>> 0x1000d3aedb6(/home/some_username/.cache/mozilla/firefox/dsjf5siv.default/safebrowsing/test-malware-simple.cache),
>>> rewriting it
>>> 2017-12-11 22:29:05.733420 7fc2342bc700  0 log_channel(cluster) log [WRN]
>>> :
>>> Scrub error on inode 0x1000d3aedb6
>>>
>>> (/home/some_username/.cache/mozilla/firefox/dsjf5siv.default/safebrowsing/test-malware-simple.cache)
>>> see mds.b log and `damage ls` output for details
>>> 2017-12-11 22:29:05.733475 7fc2342bc700 -1 mds.0.scrubstack
>>> _validate_inode_done scrub error on inode [inode 0x1000d3aedb6 [2,head]
>>>
>>> /home/some_username/.cache/mozilla/firefox/dsjf5siv.default/safebrowsing/test-malware-simple.cache
>>> auth v366 dirtyparent s=44 n(v0 b44 1=1+0) (iversion lock) |
>>> dirtyparent=1
>>> scrubqueue=0 0x55ef37c78a00]:
>>>
>>> {"performed_validation":true,"passed_validation":false,"backtrace":{"checked":true,"passed":false,"read_ret_val":-61,"ondisk_value":"(-1)0x0:[]//","memoryvalue":"(0)0x1000d3aedb6:[<0x1000d3aeda7/test-malware-simple.cache
>>> v366>,<0x10002de79e8/safebrowsing
>>> v7142119>,<0x10002de79df/dsjf5siv.default
>>> v4089757>,<0x10002de79de/firefox v3998050>,<0x10002de79dd/mozilla
>>> v4933047>,<0x100018bd837/.cache v115551644>,<0x10000000000/some_username
>>> v444724510>,<0x1/home v228039388>]//","error_str":"failed to read off
>>> disk;
>>> see
>>>
>>> retval"},"raw_stats":{"checked":false,"passed":false,"read_ret_val":0,"ondisk_value.dirstat":"f()","ondisk_value.rstat":"n()","memory_value.dirrstat":"f()","memory_value.rstat":"n()","error_str":""},"return_code":-61}
>>> 2017-12-11 22:29:05.772351 7fc2342bc700  0 mds.0.cache.dir(0x1000d3ae112)
>>> _fetched missing object for [dir 0x1000d3ae112
>>>
>>> /home/some_username/.cache/mozilla/firefox/dsjf5siv.default/safebrowsing-to_delete/
>>> [2,head] auth v=0 cv=0/0 ap=1+0+0 state=1073741952 f() n() hs=0+0,ss=0+0
>>> |
>>> waiter=1 authpin=1 0x55eedee27a80]
>>> 2017-12-11 22:29:05.772385 7fc2342bc700 -1 log_channel(cluster) log [ERR]
>>> :
>>> dir 0x1000d3ae112 object missing on disk; some files may be lost
>>>
>>> (/home/some_username/.cache/mozilla/firefox/dsjf5siv.default/safebrowsing-to_delete)
>>> 2017-12-11 22:29:05.778009 7fc2342bc700  1 mds.b respawn
>>> 2017-12-11 22:29:05.778028 7fc2342bc700  1 mds.b  e: '/usr/bin/ceph-mds'
>>> 2017-12-11 22:29:05.778031 7fc2342bc700  1 mds.b  0: '/usr/bin/ceph-mds'
>>> 2017-12-11 22:29:05.778036 7fc2342bc700  1 mds.b  1: '-i'
>>> 2017-12-11 22:29:05.778038 7fc2342bc700  1 mds.b  2: 'b'
>>> 2017-12-11 22:29:05.778040 7fc2342bc700  1 mds.b  3: '--pid-file'
>>> 2017-12-11 22:29:05.778042 7fc2342bc700  1 mds.b  4:
>>> '/var/run/ceph/mds.b.pid'
>>> 2017-12-11 22:29:05.778044 7fc2342bc700  1 mds.b  5: '-c'
>>> 2017-12-11 22:29:05.778046 7fc2342bc700  1 mds.b  6:
>>> '/etc/ceph/ceph.conf'
>>> 2017-12-11 22:29:05.778048 7fc2342bc700  1 mds.b  7: '--cluster'
>>> 2017-12-11 22:29:05.778050 7fc2342bc700  1 mds.b  8: 'ceph'
>>> 2017-12-11 22:29:05.778051 7fc2342bc700  1 mds.b  9: '--setuser'
>>> 2017-12-11 22:29:05.778053 7fc2342bc700  1 mds.b  10: 'ceph'
>>> 2017-12-11 22:29:05.778055 7fc2342bc700  1 mds.b  11: '--setgroup'
>>> 2017-12-11 22:29:05.778057 7fc2342bc700  1 mds.b  12: 'ceph'
>>> 2017-12-11 22:29:05.778104 7fc2342bc700  1 mds.b respawning with exe
>>> /usr/bin/ceph-mds
>>> 2017-12-11 22:29:05.778107 7fc2342bc700  1 mds.b  exe_path /proc/self/exe
>>> 2017-12-11 22:29:06.186020 7f9ad28f41c0  0 ceph version 12.2.2
>>> (cf0baeeeeba3b47f9427c6c97e2144b094b7e5ba) luminous (stable), process
>>> (unknown), pid 3214
>>> 2017-12-11 22:29:10.604701 7f9acbb38700  1 mds.b handle_mds_map standby
>>>
>>> As long as MDS was still active, "damage ls" again gave me exactly 10001
>>> damages of damage_type "backtrace". Log implies that those backtraces
>>> cannot
>>> be fixed automatically. I could live with losing those 10k files, but I
>>> do
>>> not get why MDS switches to "standby" and marks FS damaged rendering it
>>> offline.
>>> ceph -s then reports something like: mds: cephfs-0/1/1 1:damaged
>>> 1:standby
>>> (not pasted but manually typed from my memory)
>>>
>>> Btw. in the log the MDS encountered two more "object missing on disk;
>>> some
>>> files may be lost" much earlier during that scrub (so three in total),
>>> but
>>> the first two did not make the MDS going to standby.
>>> I marked FS repaired, restarted MDS with mdf debug level 20 and reran a
>>> scrub on that particular path but this time MDS wouldn't mark whole FS
>>> damaged and stayed active. Will it only do so when finding three of those
>>> damages in a row?
>>>
>>> Is this a bug or is there something I would have to do to my cluster to
>>> get
>>> it back to stable working condition? Again, all this began with upgrading
>>> from 12.2.1 to 12.2.2.
>>>
>>> Furthermore, is there a way to get rid of those "broken" files (either
>>> bad
>>> backtrace or even more important those with missing objects) as I could
>>> live
>>> with losing certain files if it helps getting CephFS working stable
>>> again.
>>>
>> due to mds_damage_table_max_entries config,  mds became damaged after
>> it encountered 10000 errors (most errors are bad backtrace). Your
>> cephfs was created before backtrace was introduced. It's likely you
>> didn't create backtrace for all files when upgrading from pre-firefly
>> release (http://ceph.com/geen-categorie/v0-81-released/). The real
>> harmful corruption is "object missing on disk", if the missing object
>> is dirfrag, all files and sub-directories under it become
>> unaccessible. 'cephfs-data-scan scan_inodes' can recover these
>> unaccessible files/directories. If you can live with losing those
>> files/directories, you can use 'rados rmomapkey' to remove inodes with
>> bad objects.
>>
>> good luck
>> Yan, Zheng
>>
>>
>>
>>
>>> Again, any help is highly appreciated, I need to get the FS back up as
>>> soon
>>> as possible. Thank you very much!
>>>
>>> Best regards,
>>> Tobi
>>>
>>>
>>>
>>> --
>>> -----------------------------------------------------------
>>> Dipl.-Inf. (FH) Tobias Prousa
>>> Leiter Entwicklung Datenlogger
>>>
>>> CAETEC GmbH
>>> Industriestr. 1
>>> D-82140 Olching
>>> www.caetec.de
>>>
>>> Gesellschaft mit beschränkter Haftung
>>> Sitz der Gesellschaft: Olching
>>> Handelsregister: Amtsgericht München, HRB 183929
>>> Geschäftsführung: Stephan Bacher, Andreas Wocke
>>>
>>> Tel.: +49 (0)8142 / 50 13 60
>>> Fax.: +49 (0)8142 / 50 13 69
>>>
>>> eMail: tobias.prousa@xxxxxxxxx
>>> Web:   http://www.caetec.de
>>> ------------------------------------------------------------
>>>
>>>
>>> _______________________________________________
>>> ceph-users mailing list
>>> ceph-users@xxxxxxxxxxxxxx
>>> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>>>
>
> --
> -----------------------------------------------------------
> Dipl.-Inf. (FH) Tobias Prousa
> Leiter Entwicklung Datenlogger
>
> CAETEC GmbH
> Industriestr. 1
> D-82140 Olching
> www.caetec.de
>
> Gesellschaft mit beschränkter Haftung
> Sitz der Gesellschaft: Olching
> Handelsregister: Amtsgericht München, HRB 183929
> Geschäftsführung: Stephan Bacher, Andreas Wocke
>
> Tel.: +49 (0)8142 / 50 13 60
> Fax.: +49 (0)8142 / 50 13 69
>
> eMail: tobias.prousa@xxxxxxxxx
> Web:   http://www.caetec.de
> ------------------------------------------------------------
>
_______________________________________________
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