[Ocfs2-users] fsck.ocfs2 loops + hangs but does not check
Joseph Qi
joseph.qi at huawei.com
Thu Mar 24 17:36:42 PDT 2016
Hi Michael,
On 2016/3/24 21:47, Michael Ulbrich wrote:
> Hi Joseph,
>
> thanks for this information although this does not sound too optimistic ...
>
> So, if I understand you correctly, if we had a metadata backup from
> o2image _before_ the crash we could have looked up the missing info to
> remove the loop from group chain 73, right?
If we have metadata backup, we can use o2image to restore it back, but
this may loss some data.
>
> But how could the loop issue be fixed and at the same time the damage to
> the data be minimized? There is a recent file level backup from which
> damaged or missing files could be restored later.
>
> 151 4054438912 15872 2152 13720 10606 1984
> 152 4094595072 15872 10753 5119 5119 1984
> 153 4090944512 15872 1818 14054 9646 1984 <--
> 154 4083643392 15872 571 15301 4914 1984
> 155 4510758912 15872 4834 11038 6601 1984
> 156 4492506112 15872 6532 9340 5119 1984
>
> Could you describe a "brute force" way how to dd out and edit record
> #153 to remove the loop and minimize potential loss of data at the same
> time? So that fsck would have a chance to complete and fix the remaining
> issues?
This is dangerous until we can know exactly what's info the block should
store.
My idea is to find out the actual block of record #154 and let block
4090944512 of record #153 points to it. This must be a bit complicated
and should be done under deep understanding of the disk layout.
I have went though fsck.ocfs2 patches, and found the following may help:
commit efca4b0f2241 (Break a chain loop in group desc)
But as you said, you have already upgraded to version 1.8.4. So I'm sorry
currently I don't have a better idea.
Thanks,
Joseph
>
> Thanks a lot for your help ... Michael
>
> On 03/24/2016 02:10 PM, Joseph Qi wrote:
>> Hi Michael,
>> So I think the block of record #153 goes wrong, which points next to
>> block 4083643392 of record #19.
>> But the problem is we don't know the right info of the block of record
>> #153, otherwise we can dd out, edit it and then dd in to fix it.
>>
>> Thanks,
>> Joseph
>>
>> On 2016/3/24 18:38, Michael Ulbrich wrote:
>>> Hi Joseph,
>>>
>>> ok, got it! Here's the loop in chain 73:
>>>
>>> Group Chain: 73 Parent Inode: 13 Generation: 1172963971
>>> CRC32: 00000000 ECC: 0000
>>> ## Block# Total Used Free Contig Size
>>> 0 4280773632 15872 11487 4385 1774 1984
>>> 1 2583263232 15872 5341 10531 5153 1984
>>> 2 4543613952 15872 5329 10543 5119 1984
>>> 3 4532662272 15872 10753 5119 5119 1984
>>> 4 4539963392 15872 3223 12649 7530 1984
>>> 5 4536312832 15872 5219 10653 5534 1984
>>> 6 4529011712 15872 6047 9825 3359 1984
>>> 7 4525361152 15872 4475 11397 5809 1984
>>> 8 4521710592 15872 3182 12690 5844 1984
>>> 9 4518060032 15872 5881 9991 5131 1984
>>> 10 4236966912 15872 10753 5119 5119 1984
>>> 11 4098245632 15872 10756 5116 3388 1984
>>> 12 4514409472 15872 8826 7046 5119 1984
>>> 13 3441144832 15872 15 15857 9680 1984
>>> 14 4404892672 15872 7563 8309 5119 1984
>>> 15 4233316352 15872 9398 6474 5114 1984
>>> 16 4488855552 15872 6358 9514 5119 1984
>>> 17 3901115392 15872 9932 5940 3757 1984
>>> 18 4507108352 15872 6557 9315 6166 1984
>>> 19 4083643392 15872 571 15301 4914 1984 <--
>>> 20 4510758912 15872 4834 11038 6601 1984
>>> 21 4492506112 15872 6532 9340 5119 1984
>>> 22 4496156672 15872 10753 5119 5119 1984
>>> 23 4503457792 15872 10718 5154 5119 1984
>>> ...
>>> 154 4083643392 15872 571 15301 4914 1984 <--
>>> 155 4510758912 15872 4834 11038 6601 1984
>>> 156 4492506112 15872 6532 9340 5119 1984
>>> 157 4496156672 15872 10753 5119 5119 1984
>>> 158 4503457792 15872 10718 5154 5119 1984
>>> ...
>>> 289 4083643392 15872 571 15301 4914 1984 <--
>>> 290 4510758912 15872 4834 11038 6601 1984
>>> 291 4492506112 15872 6532 9340 5119 1984
>>> 292 4496156672 15872 10753 5119 5119 1984
>>> 293 4503457792 15872 10718 5154 5119 1984
>>>
>>> etc.
>>>
>>> So the loop begins at record #154 and spans 135 records, right?
>>>
>>> Will backup fs metadata as soon as I have some external storage at hand.
>>>
>>> Thanks a lot so far ... Michael
>>>
>>> On 03/24/2016 10:41 AM, Joseph Qi wrote:
>>>> Hi Michael,
>>>> It seems that dead loop happens in chain 73. You have formatted using 2K
>>>> block and 4K cluster, so each chain should have 1522 or 1521 records.
>>>> But at first glance, I cannot figure out which block goes wrong, because
>>>> the output you pasted indicates all blocks are different. So I suggest
>>>> you investigate the all blocks which belong to chain 73 and try to find
>>>> out if there is a loop there.
>>>> BTW, have you backed up the metadata using o2image?
>>>>
>>>> Thanks,
>>>> Joseph
>>>>
>>>> On 2016/3/24 16:40, Michael Ulbrich wrote:
>>>>> Hi Joseph,
>>>>>
>>>>> thanks a lot for your help. It is very much appreciated!
>>>>>
>>>>> I ran debugsfs.ocfs2 from ocfs2-tools 1.6.4 on the mounted file system:
>>>>>
>>>>> root at s1a:~# debugfs.ocfs2 -R 'stat //global_bitmap' /dev/drbd1 >
>>>>> debugfs_drbd1.log 2>&1
>>>>>
>>>>> Inode: 13 Mode: 0644 Generation: 1172963971 (0x45ea0283)
>>>>> FS Generation: 1172963971 (0x45ea0283)
>>>>> CRC32: 00000000 ECC: 0000
>>>>> Type: Regular Attr: 0x0 Flags: Valid System Allocbitmap Chain
>>>>> Dynamic Features: (0x0)
>>>>> User: 0 (root) Group: 0 (root) Size: 11381315956736
>>>>> Links: 1 Clusters: 2778641591
>>>>> ctime: 0x54010183 -- Sat Aug 30 00:41:07 2014
>>>>> atime: 0x54010183 -- Sat Aug 30 00:41:07 2014
>>>>> mtime: 0x54010183 -- Sat Aug 30 00:41:07 2014
>>>>> dtime: 0x0 -- Thu Jan 1 01:00:00 1970
>>>>> ctime_nsec: 0x00000000 -- 0
>>>>> atime_nsec: 0x00000000 -- 0
>>>>> mtime_nsec: 0x00000000 -- 0
>>>>> Refcount Block: 0
>>>>> Last Extblk: 0 Orphan Slot: 0
>>>>> Sub Alloc Slot: Global Sub Alloc Bit: 7
>>>>> Bitmap Total: 2778641591 Used: 1083108631 Free: 1695532960
>>>>> Clusters per Group: 15872 Bits per Cluster: 1
>>>>> Count: 115 Next Free Rec: 115
>>>>> ## Total Used Free Block#
>>>>> 0 24173056 9429318 14743738 4533995520
>>>>> 1 24173056 9421663 14751393 4548629504
>>>>> 2 24173056 9432421 14740635 4588817408
>>>>> 3 24173056 9427533 14745523 4548692992
>>>>> 4 24173056 9433978 14739078 4508568576
>>>>> 5 24173056 9436974 14736082 4636369920
>>>>> 6 24173056 9428411 14744645 4563390464
>>>>> 7 24173056 9426950 14746106 4479459328
>>>>> 8 24173056 9428099 14744957 4548851712
>>>>> 9 24173056 9431794 14741262 4585389056
>>>>> ...
>>>>> 105 24157184 9414241 14742943 4690652160
>>>>> 106 24157184 9419715 14737469 4467999744
>>>>> 107 24157184 9411479 14745705 4431525888
>>>>> 108 24157184 9413235 14743949 4559327232
>>>>> 109 24157184 9417948 14739236 4500950016
>>>>> 110 24157184 9411013 14746171 4566691840
>>>>> 111 24157184 9421252 14735932 4522916864
>>>>> 112 24157184 9416726 14740458 4537550848
>>>>> 113 24157184 9415358 14741826 4676303872
>>>>> 114 24157184 9420448 14736736 4526662656
>>>>>
>>>>> Group Chain: 0 Parent Inode: 13 Generation: 1172963971
>>>>> CRC32: 00000000 ECC: 0000
>>>>> ## Block# Total Used Free Contig Size
>>>>> 0 4533995520 15872 6339 9533 3987 1984
>>>>> 1 4530344960 15872 10755 5117 5117 1984
>>>>> 2 2997109760 15872 10753 5119 5119 1984
>>>>> 3 4526694400 15872 10753 5119 5119 1984
>>>>> 4 3022663680 15872 10753 5119 5119 1984
>>>>> 5 4512092160 15872 9043 6829 2742 1984
>>>>> 6 4523043840 15872 4948 10924 9612 1984
>>>>> 7 4519393280 15872 6150 9722 5595 1984
>>>>> 8 4515742720 15872 4323 11549 6603 1984
>>>>> 9 3771028480 15872 10753 5119 5119 1984
>>>>> ...
>>>>> 1513 5523297280 15872 1 15871 15871 1984
>>>>> 1514 5526947840 15872 1 15871 15871 1984
>>>>> 1515 5530598400 15872 1 15871 15871 1984
>>>>> 1516 5534248960 15872 1 15871 15871 1984
>>>>> 1517 5537899520 15872 1 15871 15871 1984
>>>>> 1518 5541550080 15872 1 15871 15871 1984
>>>>> 1519 5545200640 15872 1 15871 15871 1984
>>>>> 1520 5548851200 15872 1 15871 15871 1984
>>>>> 1521 5552501760 15872 1 15871 15871 1984
>>>>> 1522 5556152320 15872 1 15871 15871 1984
>>>>>
>>>>> Group Chain: 1 Parent Inode: 13 Generation: 1172963971
>>>>> CRC32: 00000000 ECC: 0000
>>>>> ## Block# Total Used Free Contig Size
>>>>> 0 4548629504 15872 10755 5117 2496 1984
>>>>> 1 2993490944 15872 59 15813 14451 1984
>>>>> 2 2489713664 15872 10758 5114 3726 1984
>>>>> 3 3117609984 15872 3958 11914 6165 1984
>>>>> 4 2544472064 15872 10753 5119 5119 1984
>>>>> 5 3040948224 15872 10753 5119 5119 1984
>>>>> 6 2971587584 15872 10753 5119 5119 1984
>>>>> 7 4493871104 15872 8664 7208 3705 1984
>>>>> 8 4544978944 15872 8711 7161 2919 1984
>>>>> 9 4417209344 15872 3253 12619 6447 1984
>>>>> ...
>>>>> 1513 5523329024 15872 1 15871 15871 1984
>>>>> 1514 5526979584 15872 1 15871 15871 1984
>>>>> 1515 5530630144 15872 1 15871 15871 1984
>>>>> 1516 5534280704 15872 1 15871 15871 1984
>>>>> 1517 5537931264 15872 1 15871 15871 1984
>>>>> 1518 5541581824 15872 1 15871 15871 1984
>>>>> 1519 5545232384 15872 1 15871 15871 1984
>>>>> 1520 5548882944 15872 1 15871 15871 1984
>>>>> 1521 5552533504 15872 1 15871 15871 1984
>>>>> 1522 5556184064 15872 1 15871 15871 1984
>>>>>
>>>>> ... all following group chains are similarly structured up to #73 which
>>>>> looks as follows:
>>>>>
>>>>> Group Chain: 73 Parent Inode: 13 Generation: 1172963971
>>>>> CRC32: 00000000 ECC: 0000
>>>>> ## Block# Total Used Free Contig Size
>>>>> 0 2583263232 15872 5341 10531 5153 1984
>>>>> 1 4543613952 15872 5329 10543 5119 1984
>>>>> 2 4532662272 15872 10753 5119 5119 1984
>>>>> 3 4539963392 15872 3223 12649 7530 1984
>>>>> 4 4536312832 15872 5219 10653 5534 1984
>>>>> 5 4529011712 15872 6047 9825 3359 1984
>>>>> 6 4525361152 15872 4475 11397 5809 1984
>>>>> 7 4521710592 15872 3182 12690 5844 1984
>>>>> 8 4518060032 15872 5881 9991 5131 1984
>>>>> 9 4236966912 15872 10753 5119 5119 1984
>>>>> ...
>>>>> 2059651 4299026432 15872 4334 11538 4816 1984
>>>>> 2059652 4087293952 15872 7003 8869 2166 1984
>>>>> 2059653 4295375872 15872 6626 9246 5119 1984
>>>>> 2059654 4288074752 15872 509 15363 9662 1984
>>>>> 2059655 4291725312 15872 6151 9721 5119 1984
>>>>> 2059656 4284424192 15872 10052 5820 5119 1984
>>>>> 2059657 4277123072 15872 7383 8489 5120 1984
>>>>> 2059658 4273472512 15872 14 15858 5655 1984
>>>>> 2059659 4269821952 15872 2637 13235 7060 1984
>>>>> 2059660 4266171392 15872 10758 5114 3674 1984
>>>>> ...
>>>>>
>>>>> Assuming this would go on forever I stopped debugfs.ocfs2.
>>>>>
>>>>> With debugs.ocfs2 from ocfs2-tools 1.8.4 I get an identical result.
>>>>>
>>>>> Please let me know if I can provide any further information and help to
>>>>> fix this issue.
>>>>>
>>>>> Thanks again + Best regards ... Michael
>>>>>
>>>>> On 03/24/2016 01:30 AM, Joseph Qi wrote:
>>>>>> Hi Michael,
>>>>>> Could you please use debugfs to check the output?
>>>>>> # debugfs.ocfs2 -R 'stat //global_bitmap' <device>
>>>>>>
>>>>>> Thanks,
>>>>>> Joseph
>>>>>>
>>>>>> On 2016/3/24 6:38, Michael Ulbrich wrote:
>>>>>>> Hi ocfs2-users,
>>>>>>>
>>>>>>> my first post to this list from yesterday probably didn't get through.
>>>>>>>
>>>>>>> Anyway, I've made some progress in the meantime and may now ask more
>>>>>>> specific questions ...
>>>>>>>
>>>>>>> I'm having issues with an 11 TB ocfs2 shared filesystem on Debian Wheezy:
>>>>>>>
>>>>>>> Linux s1a 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 GNU/Linux
>>>>>>>
>>>>>>> the kernel modules are:
>>>>>>>
>>>>>>> modinfo ocfs2 -> version: 1.5.0
>>>>>>>
>>>>>>> using stock ocfs2-tools 1.6.4-1+deb7u1 from the distri.
>>>>>>>
>>>>>>> As an alternative I cloned and built the latest ocfs2-tools from
>>>>>>> markfasheh's ocfs2-tools on github which should be version 1.8.4.
>>>>>>>
>>>>>>> The filesystem runs on top of drbd, is used to roughly 40 % and suffers
>>>>>>> from read-only remounts and hanging clients since the last reboot. This
>>>>>>> may be DLM problems but I suspect they stem from some corrupt disk
>>>>>>> structures. Before that it all ran stable for months.
>>>>>>>
>>>>>>> This situation made me want to run fsck.ocfs2 and now I wonder how to do
>>>>>>> that. The filesystem is not mounted.
>>>>>>>
>>>>>>> With the stock ocfs-tools 1.6.4:
>>>>>>>
>>>>>>> root at s1a:~# fsck.ocfs2 -v -f /dev/drbd1 > fsck_drbd1.log 2>&1
>>>>>>> fsck.ocfs2 1.6.4
>>>>>>> Checking OCFS2 filesystem in /dev/drbd1:
>>>>>>> Label: ocfs2_ASSET
>>>>>>> UUID: 6A1A0189A3F94E32B6B9A526DF9060F3
>>>>>>> Number of blocks: 5557283182
>>>>>>> Block size: 2048
>>>>>>> Number of clusters: 2778641591
>>>>>>> Cluster size: 4096
>>>>>>> Number of slots: 16
>>>>>>>
>>>>>>> I'm checking fsck_drbd1.log and find that it is making progress in
>>>>>>>
>>>>>>> Pass 0a: Checking cluster allocation chains
>>>>>>>
>>>>>>> until it reaches "chain 73" and goes into an infinite loop filling the
>>>>>>> logfile with breathtaking speed.
>>>>>>>
>>>>>>> With the newly built ocfs-tools 1.8.4 I get:
>>>>>>>
>>>>>>> root at s1a:~# fsck.ocfs2 -v -f /dev/drbd1 > fsck_drbd1.log 2>&1
>>>>>>> fsck.ocfs2 1.8.4
>>>>>>> Checking OCFS2 filesystem in /dev/drbd1:
>>>>>>> Label: ocfs2_ASSET
>>>>>>> UUID: 6A1A0189A3F94E32B6B9A526DF9060F3
>>>>>>> Number of blocks: 5557283182
>>>>>>> Block size: 2048
>>>>>>> Number of clusters: 2778641591
>>>>>>> Cluster size: 4096
>>>>>>> Number of slots: 16
>>>>>>>
>>>>>>> Again watching the verbose output in fsck_drbd1.log I find that this
>>>>>>> time it proceeds up to
>>>>>>>
>>>>>>> Pass 0a: Checking cluster allocation chains
>>>>>>> o2fsck_pass0:1360 | found inode alloc 13 at block 13
>>>>>>>
>>>>>>> and stays there without any further progress. I've terminated this
>>>>>>> process after waiting for more than an hour.
>>>>>>>
>>>>>>> Now - I'm lost somehow ... and would very much appreciate if anybody on
>>>>>>> this list would share his knowledge and give me a hint what to do next.
>>>>>>>
>>>>>>> What could be done to get this file system checked and repaired? Am I
>>>>>>> missing something important or do I just have to wait a little bit
>>>>>>> longer? Is there a version of ocfs2-tools / fsck.ocfs2 which will
>>>>>>> perform as expected?
>>>>>>>
>>>>>>> I'm prepared to upgrade the kernel to 3.16.0-0.bpo.4-amd64 but shy away
>>>>>>> from taking that risk without any clue of whether that might solve my
>>>>>>> problem ...
>>>>>>>
>>>>>>> Thanks in advance ... Michael Ulbrich
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Ocfs2-users mailing list
>>>>>>> Ocfs2-users at oss.oracle.com
>>>>>>> https://oss.oracle.com/mailman/listinfo/ocfs2-users
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Ocfs2-users mailing list
>>>>>> Ocfs2-users at oss.oracle.com
>>>>>> https://oss.oracle.com/mailman/listinfo/ocfs2-users
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Ocfs2-users mailing list
>>>>> Ocfs2-users at oss.oracle.com
>>>>> https://oss.oracle.com/mailman/listinfo/ocfs2-users
>>>>>
>>>>> .
>>>>>
>>>>
>>>>
>>>
>>> .
>>>
>>
>>
>
> .
>
More information about the Ocfs2-users
mailing list