[Уже получилось] reiserfs - Не получается восстановить (Прошу помощи)

IDE, SATA, SCSI, внешние USB-HDD, SSD, USB-Flash накопители

Модератор: Модераторы разделов

Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

[Уже получилось] reiserfs - Не получается восстановить

Сообщение Poor Fred »

В результате аварийной остановки засбоила партиция с reiserfs. Сначала мне заявили, что там нет свободного места, хотя по последним данным там было еще гигов 100 из 380 свободных. После проверки и попытки ремонта она не монтируется вообще, говорит "Это не каталог".
Снял образ с нее, пытаюсь смонтировать - то же самое. Пробую отремонтировать его и вытащить файлы, но не получается:

Код: Выделить всё

fsck.reiserfs --rebuild-tree /home/anthony/sda3.dump
...
Do you want to run this program?[N/Yes] (note need to type Yes if you do):Yes
Replaying journal..
Reiserfs journal '/home/anthony/sda3.dump' in blocks [18..8211]: 0 transactions replayed
###########
reiserfsck --rebuild-tree started at Tue Aug 12 22:50:05 2008
###########
Pass 0:
####### Pass 0 #######
Loading on-disk bitmap .. ok, 95161024 blocks marked used
Skipping 11115 blocks (super block, journal, bitmaps) 95149909 blocks will be read
0%.block 7122008: The number of items (6) is incorrect, should be (0) - corrected
block 7122008: The free space (1350) is incorrect, should be (4072) - corrected
pass0: block 7122008: no correct item is found. Leave block untouched.
...20%block 21533172: The number of items (15) is incorrect, should be (1) - corrected
block 21533172: The free space (0) is incorrect, should be (3792) - corrected
pass0: vpf-10110: block 21533172, item (0): Unknown item type found [7680 16778752 0xcf000000 ??? (15)] - deleted
pass0: block 21533172: no correct item is found. Leave block untouched.
....40%.                                                         left 0, 17825 /seccc
536239 directory entries were hashed with "r5" hash.
Flushing..finished
        Selected hash: "r5"
        Read formatted blocks: 95149909
        Read leaves (corrected/empty/wrong hash): 114465 (0/2/0)
        Objectids found: 536244
Pass 1 (will try to insert 114463 leaves):
####### Pass 1 #######
Looking for allocable blocks .. finished
0%....20%....40%....60%....80%....Not enough allocable blocks, checking bitmap...there are 1 allocable blocks, btw

out of disk space
Аварийный останов


fsck.reiserfs --rebuild-sb /home/anthony/sda3.dump рапортует успех, но толку нет.

Беспокоит еще вот что: судя по debugfs.reiserfs первый блок на партиции - 18-й. Предыдущие 17:

Код: Выделить всё

17 is used in ondisk bitmap
Looks like unformatted

Это нормально?
Кстати, бэдблоков на диске нет, образ снимается без ошибок, проблема именно в партиции и самой ФС.

Можно ли как-нибудь выдернуть файлы с нее?
Убить всех человеков!
Спасибо сказали:
Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

Re: [Уже получилось] reiserfs - Не получается восстановить

Сообщение Poor Fred »

Да, вот еще что...
Poor Fred писал(а):
13.08.2008 05:39
Беспокоит еще вот что: судя по debugfs.reiserfs первый блок на партиции - 18-й. Предыдущие 17:

Код: Выделить всё

17 is used in ondisk bitmap
Looks like unformatted

Это нормально?

Судя по всему - нет:

Код:

ReiserFS: loop0: found reiserfs format "3.6" with standard journal ReiserFS: loop0: using ordered data mode ReiserFS: loop0: journal params: device loop0, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30 ReiserFS: loop0: checking transaction log (loop0) ReiserFS: warning: is_tree_node: node level 0 does not match to the expected one -1 ReiserFS: loop0: warning: vs-5150: search_by_key: invalid format found in block 0. Fsck? ReiserFS: loop0: warning: vs-13070: reiserfs_read_locked_inode: i/o failure occurred trying to find stat data of [1 2 0x0 SD] ReiserFS: loop0: Using r5 hash to sort names


Очевидно то, что первые 17 блоков пустые и не дает смонтировать партицию. Что в них должно находиться? И можно ли просто тупо взять и скопировать туда 17 блоков с другой партиции? Или вручную поправить?
Убить всех человеков!
Спасибо сказали:
Аватара пользователя
Black
Сообщения: 1104
ОС: ArchLinux

Re: [Уже получилось] reiserfs - Не получается восстановить

Сообщение Black »

Хм... Посмотрел, у меня тоже пустые. До 80-го блока нули. Дальше начинается что-то вроде этого:

Код:

0010000: 9042 2500 17ba 1300 d309 1000 1200 0000 .B%............. 0010010: 0000 0000 0020 0000 0004 0000 b811 371b ..... ........7. 0010020: 8403 0000 1e00 0000 0000 0000 0010 cc03 ................ 0010030: bc03 0100 5265 4973 4572 3246 7300 0000 ....ReIsEr2Fs... 0010040: 0300 0000 0400 4b00 0200 0000 3d08 0500 ......K.....=... 0010050: 0100 0000 7e19 53dd f8d8 4564 9278 cf0d ....~.S...Ed.x.. 0010060: 3252 f3cb 0000 0000 0000 0000 0000 0000 2R.............. 0010070: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0010080: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 0010090: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00100a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00100b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00100c0: 0000 0000 0000 0000 0000 0000 0100 0000 ................ 00100d0: 3c0b 0000 3d0b 0000 520b 0000 3e0c 0000 <...=...R...>... 00100e0: 430c 0000 4c0c 0000 6e0c 0000 7c0c 0000 C...L...n...|... 00100f0: dc0c 0000 e10c 0000 e90c 0000 ec0c 0000 ................ 0010100: 250d 0000 290d 0000 3e0d 0000 420d 0000 %...)...>...B... 0010110: 500d 0000 530d 0000 550d 0000 5a0d 0000 P...S...U...Z... 0010120: 850d 0000 8c0d 0000 bb0d 0000 bc0d 0000 ................ 0010130: cf0d 0000 d30d 0000 ee0d 0000 f20d 0000 ................ 0010140: 220e 0000 270e 0000 330e 0000 360e 0000 "...'...3...6... 0010150: 390e 0000 400e 0000 6d0e 0000 710e 0000 9...@...m...q... 0010160: 920e 0000 970e 0000 c10e 0000 c60e 0000 ................ 0010170: 1d0f 0000 1f0f 0000 280f 0000 ca0f 0000 ........(....... 0010180: cc0f 0000 3310 0000 3410 0000 e710 0000 ....3...4....... 0010190: ed10 0000 f210 0000 f710 0000 fa10 0000 ................ 00101a0: 0211 0000 0b11 0000 0f11 0000 1111 0000 ................ 00101b0: 1311 0000 5c11 0000 d111 0000 e911 0000 ....\........... 00101c0: ef11 0000 f611 0000 f711 0000 fe11 0000 ................ 00101d0: 0212 0000 0712 0000 3112 0000 3c12 0000 ........1...<... 00101e0: 4012 0000 4312 0000 4718 0000 4918 0000 @...C...G...I... 00101f0: c718 0000 ca18 0000 631b 0000 651b 0000 ........c...e... 0010200: 411c 0000 431c 0000 f426 0000 f926 0000 A...C....&...&.. 0010210: 9c5f 0000 9d5f 0000 1688 0000 1888 0000 ._..._.......... 0010220: 8d8d 0000 918d 0000 0291 0000 0391 0000 ................ 0010230: 4ea5 0000 d6a5 0000 50a6 0000 51a6 0000 N.......P...Q... 0010240: 38b7 0000 3bb7 0000 fdc2 0000 00c3 0000 8...;........... 0010250: aec4 0000 b2c4 0000 bfc4 0000 c0c4 0000 ................ 0010260: 0fc5 0000 14c5 0000 30c5 0000 32c5 0000 ........0...2... 0010270: 6bca 0000 6cca 0000 a2e0 0000 a5e0 0000 k...l........... 0010280: bd1f 0100 c11f 0100 ea20 0100 f128 0100 ......... ...(.. 0010290: 0829 0100 0a29 0100 0d29 0100 4829 0100 .)...)...)..H).. 00102a0: 8029 0100 8129 0100 9a29 0100 9c29 0100 .)...)...)...).. 00102b0: a22a 0100 a32a 0100 e82d 0100 ea2d 0100 .*...*...-...-.. 00102c0: 0a2e 0100 0b2e 0100 482f 0100 e02f 0100 ........H/.../.. 00102d0: e92f 0100 f32f 0100 fe2f 0100 9735 0100 ./.../.../...5.. 00102e0: 9835 0100 a135 0100 a335 0100 a435 0100 .5...5...5...5.. 00102f0: a635 0100 a935 0100 ab35 0100 af35 0100 .5...5...5...5.. 0010300: b135 0100 0136 0100 0a36 0100 0d36 0100 .5...6...6...6.. 0010310: 0e36 0100 1336 0100 2736 0100 5c36 0100 .6...6..'6..\6.. 0010320: 7836 0100 8236 0100 8636 0100 8936 0100 x6...6...6...6.. 0010330: 1138 0100 1238 0100 b339 0100 b739 0100 .8...8...9...9.. 0010340: cf39 0100 d439 0100 6a3a 0100 6b3a 0100 .9...9..j:..k:.. 0010350: 953d 0100 993d 0100 2b3f 0100 2e3f 0100 .=...=..+?...?.. 0010360: 633f 0100 683f 0100 943f 0100 953f 0100 c?..h?...?...?.. 0010370: da42 0100 dc42 0100 8043 0100 8243 0100 .B...B...C...C.. 0010380: 8643 0100 8a43 0100 fd45 0100 fe45 0100 .C...C...E...E.. 0010390: 174a 0100 1d4a 0100 134f 0100 144f 0100 .J...J...O...O.. 00103a0: 0050 0100 0750 0100 6450 0100 6550 0100 .P...P..dP..eP.. 00103b0: 5651 0100 5751 0100 6353 0100 6453 0100 VQ..WQ..cS..dS.. 00103c0: e553 0100 f653 0100 f753 0100 0454 0100 .S...S...S...T.. 00103d0: 0854 0100 0e54 0100 8054 0100 8454 0100 .T...T...T...T.. 00103e0: 9f54 0100 a354 0100 a454 0100 aa54 0100 .T...T...T...T.. 00103f0: c454 0100 c954 0100 f154 0100 f554 0100 .T...T...T...T.. 0010400: 0855 0100 0d55 0100 2155 0100 7e55 0100 .U...U..!U..~U.. 0010410: c556 0100 c656 0100 1f58 0100 2058 0100 .V...V...X.. X.. 0010420: 1459 0100 1559 0100 f25b 0100 f35b 0100 .Y...Y...[...[.. 0010430: 005d 0100 015d 0100 7d5d 0100 7e5d 0100 .]...]..}]..~].. 0010440: b55d 0100 bb5d 0100 bc5d 0100 bd5d 0100 .]...]...]...].. 0010450: be5d 0100 c95d 0100 ca5d 0100 ce5d 0100 .]...]...]...].. 0010460: cf5d 0100 d65d 0100 3464 0100 3c64 0100 .]...]..4d..<d.. 0010470: 4064 0100 4364 0100 a16a 0100 a26a 0100 @d..Cd...j...j.. 0010480: c66a 0100 c76a 0100 176c 0100 186c 0100 .j...j...l...l.. 0010490: f06f 0100 f36f 0100 cd72 0100 ce72 0100 .o...o...r...r.. 00104a0: 2974 0100 2a74 0100 e375 0100 e475 0100 )t..*t...u...u.. 00104b0: 0e77 0100 0f77 0100 fa77 0100 fe77 0100 .w...w...w...w.. 00104c0: ff77 0100 0478 0100 f578 0100 fb78 0100 .w...x...x...x.. 00104d0: fc78 0100 ff78 0100 0279 0100 0679 0100 .x...x...y...y.. 00104e0: 1b79 0100 2079 0100 0789 0100 0889 0100 .y.. y..........

Cмотрел на нескольких разделах, везде начинается с 80-го.
Компьютер служит для решения тех проблем, которых до изобретения компьютера не существовало
Спасибо сказали:
Аватара пользователя
Poor Fred
Сообщения: 1575
Статус: Pygoscelis papua
ОС: Gentoo Linux, FreeBSD

Re: [Уже получилось] reiserfs - Не получается восстановить

Сообщение Poor Fred »

Разобрался. Посмотрел описание ФС - действительно, первые 17 (0-16) блоков должны быть пустые. Проблема оказалась в заполненности партиции - бэкапы как-то вдруг разрослись неконтролируемо. :) Так что записать изменения было некуда.
Вышел из ситуации так. Добавил с помощью dd_rescue к образу партиции 10Гб нулей, применил resizefs.reiserfs, затем запустил fsck.reiserfs --rebuild-sb sda3.img, ответил на несколько вопросов, затем - fsck.reiserfs --rebuild-tree sda3.img. И - ура!, все починилось и смонтировалось! Быстрым взглядом - вроде даже файлов не потерялось нисколько. :)

Тем не менее сейчас озадачен вопросом - оставить ту партицию в reiserfs или все-таки отформатить ее в ext3?
Убить всех человеков!
Спасибо сказали: