LINUX.ORG.RU
решено ФорумAdmin

Восстановление ext4 раздела после форматирования в gfs2

 , ,


0

1

Здравствуйте.

Давеча произошла такая ситуация - есть раздел в 7,4 Тб, отданный хосту под Linux. *Случайно* форматнули весь раздел посредством mke2fs из ext4 в gfs2. На разделе находились образы kvm-виртуалок в формате qcow2. Занимаемое ими пространство - около 1 Тб. Подскажите, пожалуйста, способы восстановления раздела:) Было испробовано:

  • testdisk - не нашел ничего после долгого анализа
  • photorec - не подошел из-за того, что восстанавливал только внутренние файлы образов - слишком большое количество файлов, которые сложно раскидать по нужным местам
  • попытки работы с dumpe2fs - не подошло, судя по всему потому, что работа ведется с ним только в том случае, если система уже ext2,3,4, а не gfs2( поправьте, пожалуйста, если не прав).
  • extundelete ругается на Bad magic number in super-block
fdisk -l
Disk /dev/mapper/mpatha: 7999.4 GB, 7999443697664 bytes, 15623913472 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Ответ на: комментарий от kostik87

Астрологи объявили неделю остроумных шуток? Если бы была возможность восстановить из бэкапа - я бы не спрашивал про возможность восстановления.

n1cew0lf
() автор топика

Еще вопрос - учитывая, что текущая система gfs2, mke2fs нам покажет суперблоки gfs2 или ext4, которую затерли?

n1cew0lf
() автор топика
Ответ на: комментарий от n1cew0lf

посредством mke2fs из ext4 в gfs2.

Ты мне вот это объясни для начала? Мистика какая-то, как посредством утилиты для создания структур файловых систем extX создать структуры файловой системы gfs2, для которой нужна утилиты mkfs.gfs2?

Если бы была возможность восстановить из бэкапа

Это только твоя вина.

Попробуй смонтировать ext4 с указанием копии суперблока, для того, что бы посмотреть номера секторов с суперблоками ext4 выполни:

mkfs.ext4 -n /dev/sdXY
Обязательно укажи ключ '-n', в этом случае структуры ext4 не будут созданы, а будет выдано лишь сообщение, в котором указаны номера секторов расположения суперблоков.

Пробуй монтировать:

mount -t ext4 /dev/sdXY /mnt -o sb=номер_суперблока,ro

Может и достанешь что-либо.

А так, вперёд снимать винты и бежать в контору по восстановлению данных.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Прошу прощения, не mke2fs, а mkfs.gfs2 конечно же. А по поводу mkfs.ext4 -n я и задал предыдущий вопрос - это гарантированно блоки с ext4? Понимаю, что вопрос глупый. Спасибо Вам, кстати, за подробный ответ.

n1cew0lf
() автор топика
Ответ на: комментарий от n1cew0lf

это гарантированно блоки с ext4?

Ключ -n выдаст информацию, как будто-бы файловая система была создана с теми параметрами, с которыми вызвана утилита mkfs.ext4, в том числе и данные по расположению суперблоков. Если изначально файловая система создавалась с какими-либо определёнными параметрами, например задавалась какая-либо другая схема расположения суперблоков либо в той версии утилиты была другая схема, то в текущем выводе номера суперблоков будут другие.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

После mount -t ext4 /dev/sdXY /mnt -o sb=номер_суперблока,ro

[root@1 backup_undelete]# mount -t ext4 /dev/mapper/mpatha /var/lib/libvirt/images/ext -o sb=102400000,ro
mount: wrong fs type, bad option, bad superblock on /dev/mapper/mpatha,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.
[root@1 backup_undelete]# dmesg | tail
[6110452.444214]  sdb: unknown partition table
[6110452.451241]  sdc: unknown partition table
[6110452.459880]  sdd: sdd1 sdd2
[6113843.931866]  sdb: unknown partition table
[6113843.934038]  sdc: unknown partition table
[6113843.941233]  sdd: sdd1 sdd2
[6117587.881911] EXT4-fs (dm-2): VFS: Can't find ext4 filesystem
[6117609.726265] EXT4-fs (dm-2): VFS: Can't find ext4 filesystem
[6117619.883141] EXT4-fs (dm-2): VFS: Can't find ext4 filesystem
[6117631.992417] EXT4-fs (dm-2): VFS: Can't find ext4 filesystem
n1cew0lf
() автор топика
Ответ на: комментарий от n1cew0lf

Ну, хз, пробуй другие суперблоки, пробуй запустить fsck по суперблоку:

e2fsck -b block_number /dev/sdXY
но это лучше делать на копии.

Так что попробуй найти в начале суперблок, с которым ты сможешь смонтировать файловую систему, ну либо получить её параметры посредством

dumpe2fs -o superblock=block_number /dev/sdXY

kostik87 ★★★★★
()

Эксперимент.

Создаём пустой файл на 7TB, запускаем на нём mkfs.gfs2, потом выводим hexdump'ом. Сначала изменённые куски попадаются довольно часто. После нескольких гигабайт изменяются несколько десятков байт через примерно каждые 256MB.

Скорее всего, ни одного живого образа у тебя уже не осталось.

i-rinat ★★★★★
()
Ответ на: комментарий от ne-vlezay

Спасибо за ссылку, буду пробовать. Если кому-то интересен прогресс - был запущен photorec на поиск .qcow2 файлов - прошло 94%, 0 файлов найдено.

n1cew0lf
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.