Как восстановить данные с испорченного диска (LVM написан поверх Ext4)?
Предыдущий администратор сервера, который сейчас находится под моим наблюдением, допустил ошибку. Он случайно создал том LVM (не более, чем pvcreate, я думаю, хотя и не уверен) на диске, который фактически содержал раздел Ext4 с данными. Как мне восстановить данные после такой ошибки? Я готов прочитать документацию по ext4 и развернуть свою собственную, но, может быть, мне это и не нужно? Несколько инструментов, которые я попробовал, не смогли найти в нем файловую систему Ext4, поэтому я думаю, что мне нужно что-то более серьезное.
3 ответа
Если вы бежите mkfs.ext4 -n /the/partition
он распечатает, как будет выглядеть диск в формате EXT4 в этой системе.
# mkfs.ext4 -n /dev/dm-3
mke2fs 1.42.8 (20-Jun-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
3276800 inodes, 13107200 blocks
655360 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
400 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424
Следует отметить, что он скажет вам, где находятся местоположения суперблока.
Используя эту информацию, попытайтесь смонтировать диск, используя альтернативный суперблок.
mkdir /tmp/mntpnt
mount -o ro,sb=163840 /dev/dm-3 /tmp/mntpnt
Если только заголовки раздела были уничтожены, это может сработать.
Однако, если это не сработает, вы можете попытаться исправить файловую систему, используя fsck.ext4
указав адрес суперблока. Сделайте резервную копию данных с помощью dd или чего-то еще, прежде чем сделать это.
fsck.ext4 -b 163840 /dev/dm-3
Это может привести к перезаписи плохого суперблока одним из известных хороших, чего может быть достаточно для перемонтирования всего диска. С другой стороны, вы можете потерять ключевые inode (например, корневой индекс файловой системы). Пробег может отличаться.
Я хотел бы попробовать UFS Explorer, чтобы увидеть, что он может обнаружить... Это моя полезная утилита для восстановления файловой системы. Однажды я случайно удалил раздел XFS с 4 миллионами файлов и использовал эту утилиту для восстановления данных.
Но помимо этого, это опыт обучения и возможность проверить свою процедуру резервного копирования. Извините за потерю.
Первым шагом в любой операции восстановления является создание копии данных и восстановление этой копии. После этого вы можете попытаться восстановить данные.
В зависимости от того, что именно сделал администратор, наиболее вероятный ущерб состоит в том, что таблица разделов была повреждена, основной суперблок тома был поврежден, или оба. Вы можете перестроить таблицу разделов, используя fdisk
: просто создайте новую таблицу разделов с теми же настройками, что и у оригинала. Убедитесь, что вы правильно выбрали тип (MBR или GPT). e2fsck -b
позволит вам выполнить восстановление файловой системы, используя одну из вторичных копий суперблока, или в маловероятном случае, если все они были повреждены, mke2fs -S
воссоздаст структуру метаданных, не касаясь данных.