The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Удален раздел lvm, прошу помощи с восстановлением"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Linux привязка)
Изначальное сообщение [ Отслеживать ]

"Удален раздел lvm, прошу помощи с восстановлением"  +/
Сообщение от obl (??) on 19-Сен-16, 02:14 
Коллеги, помогите.
Добавил в корневой лвм кеш из оперативной памяти и после перезагрузки получил кирпич. Бекапы конфигурации лвм остались на том же мертвом разделе, загрузился лайв флешкой - в процессе ковыряния через пару часов флешка отвалилась и пришлось перезагружаться - в итоге
вся информация о разметке лвм потеряна.  
В процессе восстановления перепробовал вручную сканирование через dd | strings, extundelete, и тд. Наощупь пробовал восстановить PV, VG и LV по размеру. Но видимо не угодал с размером.


По dd видно что ext4 жива, но как поймать начало\конец и как восстановить?
dd if=/dev/sda5 bs=1M count=60000 skip=59999  | strings -n 16|less
................................
type = "striped"
stripe_count = 1        # linear
# Generated by LVM2 version 2.02.105(2)-RHEL7 (2014-03-26): Sun Sep 18 22:36:30 2016
contents = "Text Format Volume Group"
description = ""
creation_host = "localhost"     # Linux localhost 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_64
creation_time = 1474230990      # Sun Sep 18 22:36:30 2016
system_u:object_r:root_t:s0
system_u:object_r:lost_found_t:s0
system_u:object_r:bin_t:s0
system_u:object_r:lib_t:s0
system_u:object_r:lib_t:s0
................................


[root@localhost liveuser]# tune2fs -o^has_journal /dev/mapper/tpad-root
tune2fs 1.42.9 (28-Dec-2013)
tune2fs: Bad magic number in super-block while trying to open /dev/mapper/tpad-root
Couldn't find valid filesystem superblock.
[root@localhost liveuser]# extundelete /dev/mapper/tpad-root  --restore-all
extundelete: Bad magic number in super-block when trying to open filesystem /dev/mapper/tpad-root


За дельную помщь разумеется  донат!

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Удален раздел lvm, прошу помощи с восстановлением"  +/
Сообщение от PavelR (??) on 19-Сен-16, 08:44 

возьми живую фс как пример.

dd if=/dev/sda2 bs=512 count=4 of=/file

первые два сектора - чистые нули, только потом начинается суперблок фс.
https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout

Там же есть структура суперблока, Magic в ней по смещению 0x38. Соответственно, можно определить варианты, что искать.

Примерно так:

dd if=/dev/sda bs=512 |hexdump -C  |more

дальше запускаешь в ней поиск по "53 ef",

получишь примерно такую строку:

00008430  3f ed e8 56 02 00 14 00  53 ef 01 00 01 00 00 00  |?..V....S.......|

Дальше можно через loopdevice (man losetup, опции offset, sizelimit) создать доп устройство и на нем пытаться монтироваться.

Можно так: Находишь смещение, делаешь dd в отдельный файл и его пытаешься монтировать, (оно опять же через loopdevice будет работать).

Можно также через DM (device mapper) монтировать по смещению, но я готовых рецептов не
подскажу, как это делается.

Если у тебя было чистое распределение места нужного LVM-раздела, без последующего добавления доп пространства, то шансы на восстановление повыше.

Etckeeper + push в центральное хранилище - рулит.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Удален раздел lvm, прошу помощи с восстановлением"  +/
Сообщение от obl (??) on 19-Сен-16, 10:51 
Картина не радужная.Что-то похожее на на метаданные найти не сложно, но получить файловую систему- не удается.

dd if=/dev/loop5 bs=512 |hexdump -C  |grep '53 ef'
00720d10  53 ef 3a 57 00 00 00 00  e8 03 01 00 08 00 00 00  |S.:W............|
00760f70  00 00 00 00 00 00 00 00  00 00 00 00 53 ef 00 00  |............S...|
007ac010  53 ef 3a 57 00 00 00 00  e8 03 01 00 00 00 00 00  |S.:W............|
008a5860  00 00 00 00 53 ef 23 80  00 00 00 00 00 00 00 00  |....S.#.........|


[root@localhost liveuser]# echo $((16#00720d10))
7474448
[root@localhost liveuser]# echo $((16#00760f70))
7737200


losetup -o 7737200 --read-only --size 60G /dev/loop11 /dev/sda5
losetup -o 7474448 --read-only --size 60G /dev/loop12 /dev/sda5

В обоих случаях:
# mount /dev/loop12 /mnt
mount: /dev/loop12 is write-protected, mounting read-only
mount: unknown filesystem type '(null)'

Это личный ноут, бекапы лежали на нем же, какраз через неделю должна придти харды для бекапов домашнего хозяйства.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Удален раздел lvm, прошу помощи с восстановлением"  +/
Сообщение от PavelR (??) on 19-Сен-16, 13:47 
>[оверквотинг удален]
> файловую систему- не удается.
> dd if=/dev/loop5 bs=512 |hexdump -C  |grep '53 ef'
> 00720d10  53 ef 3a 57 00 00 00 00  e8
> 03 01 00 08 00 00 00  |S.:W............|
> 00760f70  00 00 00 00 00 00 00 00  00
> 00 00 00 53 ef 00 00  |............S...|
> 007ac010  53 ef 3a 57 00 00 00 00  e8
> 03 01 00 00 00 00 00  |S.:W............|
> 008a5860  00 00 00 00 53 ef 23 80  00
> 00 00 00 00 00 00 00  |....S.#.........|

Я так понимаю что это не то, что нужно.
Смещение обязательно должно быть 30, т.е. так:

00008430  3f ed e8 56 02 00 14 00  53 ef 01 00 01 00 00 00  |?..V....S.......|
00008440  3f ed e8 56 00 4e ed 00  00 00 00 00 01 00 00 00  |?..V.N..........|

при этом, обрати внимание, что "3f ed e8 56" повторяется в обеих строках.
Это потому что это unixtime. Совсем одинаковое  потому что это незамонтированная ФС.

На замонтированной там так:

00000430  02 41 d6 53 0f 00 18 00  53 ef 01 00 01 00 00 00  |.A.S....S.......|
00000440  b5 3b d6 53 00 4e ed 00  00 00 00 00 01 00 00 00  |.;.S.N..........|

совпадают/похожи (0x433,0x434) и (0x443,0x444) т.к. время относительно близкое.

Т.к у тебя смещение не то, я думаю что нашел ты не суперблоки.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Удален раздел lvm, прошу помощи с восстановлением"  +/
Сообщение от PavelR (??) on 19-Сен-16, 14:00 
.

> [root@localhost liveuser]# echo $((16#00720d10))
> 7474448
> [root@localhost liveuser]# echo $((16#00760f70))
> 7737200

.

> losetup -o 7737200 --read-only --size 60G /dev/loop11 /dev/sda5
> losetup -o 7474448 --read-only --size 60G /dev/loop12 /dev/sda5

Кроме того, как я уже говорил, суперблок смещен на 2 сектора от начала раздела, т.е. надо  задавать смещение на 1024 меньше.

А вообще я хз как с этим жить. Если начало ФС перезатерто, то ты найдешь не первый суперблок, а какой-то из резервных. По идее надо смещение выставлять на предполагаемое начало раздела/ расположение первого суперблока, а живой задавать опцией монтирования sb.

Поищи файлы описания сегментов LVM, вдруг найдутся. Строки для поиска:

Generated by LVM2 version
Text Format Volume Group
format = "lvm2"

и так далее


Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "Удален раздел lvm, прошу помощи с восстановлением"  +/
Сообщение от PavelR (??) on 19-Сен-16, 14:04 

Примерно так:

dd if=/dev/md0 bs=64k |grep -a -B 50 -A 1000 physical_volumes |more

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

3. "Удален раздел lvm, прошу помощи с восстановлением"  +/
Сообщение от obl (??) on 19-Сен-16, 10:53 
Если есть время - дай координаты для связи.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру