Восстановление файловой системы LVM

Я пытался изменить размер моего склепа LUKS, следуя этому https://wiki.archlinux.org/index.php/Resizing_LVM-on-LUKS, и я добрался до размера раздела с разрозненными и серьезными ошибками. Я набрал 870 как новый размер и забыл поставить G на конец. Он сократил мой раздел до 870M Я сразу же изменил его размер до 870G но к тому времени был нанесен урон. К счастью, я все еще мог расшифровать криптографию LUKS, но я не смог получить свой логический том, чтобы даже иметь файл устройства в системе. LVM распознал том как существующий и показал файл устройства, к которому он был присоединен, но файл не существовал, и он показал, что он не имеет файловой системы. Я сделал vgscan --mknodes и он успешно сгенерировал файл устройства, но testdisk все равно не отобразил его. Я воссоздал том и поместил на него новую файловую систему ext4, и теперь testdisk покажет диск, но сканирование ничего не даст. Я получаю целую кучу записей ext4, но все они либо говорят, что не могут открыть файловую систему, либо нет файлов. Есть ли способ для восстановления файловой системы, которая была на диске? Я не хочу писать какие-либо данные, пока я не получу то, что от него, если это невозможно.

РЕДАКТИРОВАТЬ: После того, как я понял, что мне нужна помощь, вы восстанавливаете файлы из предыдущей файловой системы ext4. На моем диске была система ext4, и с тех пор она была перезаписана новой, однако все данные из старой системы все еще существуют, как показано sudo dd if=/dev/Storage/Storage bs=1M | strings -fn 16 sudo dd if=/dev/Storage/Storage bs=1M | strings -fn 16 . Единственное, что я сделал после моего взвинчивания, – это установить новую ext4 FS и ничего больше, поэтому большинство моих данных, вероятно, все еще не повреждены. Мне нужно восстановить эти данные.

pvdisplay показывает следующее

 --- Physical volume --- PV Name /dev/mapper/Storage VG Name Storage PV Size 931.51 GiB / not usable 3.68 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 238466 Free PE 0 Allocated PE 238466 PV UUID CAueGx-Glzx-zCd0-H00m-R8d5-KTRc-9Ff7ay --- Physical volume --- PV Name /dev/mapper/sda3_crypt VG Name mint-vg PV Size 118.50 GiB / not usable 0 Allocatable yes PE Size 4.00 MiB Total PE 30336 Free PE 10 Allocated PE 30326 PV UUID UJJfu8-S2Ac-pEZl-PlPa-uUzJ-axEs-ckbDWG 

Моя резервная копия показывает

 # Generated by LVM2 version 2.02.98(2) (2012-10-15): Thu Aug 13 20:45:52 2015 contents = "Text Format Volume Group" version = 1 description = "Created *before* executing '/sbin/lvreduce --config log{command_names=0} -f -l 217600 /dev/Storage/Storage'" creation_host = "desktop" # Linux desktop 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 creation_time = 1439523952 # Thu Aug 13 20:45:52 2015 Storage { id = "lM3S9T-inH1-mKsq-5doN-H8hT-zO3F-LF9jDx" seqno = 2 format = "lvm2" # informational status = ["RESIZEABLE", "READ", "WRITE"] flags = [] extent_size = 8192 # 4 Megabytes max_lv = 256 max_pv = 256 metadata_copies = 0 physical_volumes { pv0 { id = "nH1Axo-5nBo-WcyA-Xc4E-KwRt-K0Ib-ScK8Ch" device = "/dev/mapper/Storage" # Hint only status = ["ALLOCATABLE"] flags = [] dev_size = 1953520999 # 931.511 Gigabytes pe_start = 2048 pe_count = 238466 # 931.508 Gigabytes } } logical_volumes { Storage { id = "Qb01kz-y1RG-PVQp-cGjB-sj77-xgnJ-w9kn3n" status = ["READ", "WRITE", "VISIBLE"] flags = [] creation_host = "desktop" creation_time = 1436247513 # 2015-07-06 22:38:33 -0700 segment_count = 1 segment1 { start_extent = 0 extent_count = 238466 # 931.508 Gigabytes type = "striped" stripe_count = 1 # linear stripes = [ "pv0", 0 ] } } } } 

2 Solutions collect form web for “Восстановление файловой системы LVM”

Вы не можете исправить LVM, увеличив размер до первоначального размера, если только вам не повезло, и у LV не было никакой фрагментации из-за предыдущих изменений. Скорее всего, новый LV будет иметь первые 20G или около того вашей исходной файловой системы, но остальные 780G (или что-то еще) – скремблированные яйца (неправильные данные, неправильное смещение, неправильный порядок).

И это предполагает, что вы используете HDD-носители. Если бы это был SSD, с параметром issue_discards=1 в вашем lvm.conf , данные просто исчезли, поэтому я никогда не использую этот параметр.

Вы должны проверить /etc/lvm/{archive,backup}/ для старых версий ваших метаданных. Каждый файл там говорит, когда он был создан, например:

 description = "Created *before* executing 'lvremove HDD/mdtest1'" 

Вы ищете тот, который говорит Created before lvresize 850 с отсутствующим G А затем vgcfgrestore LVM метаданные, используя эту резервную копию, и, надеюсь, она вернется в рабочий режим.

Если у вас нет таких файлов в /etc/lvm , либо из-за того, что вы сделали это с Live CD, который потерял эти данные, либо был поврежден на корневом LV, все становится немного сложнее, так как вам нужно надеяться на LVM метаданные на диске, чтобы содержать этот бит истории в круговом буфере.

Грубый способ увидеть, что возможно там:

 dd if=/dev/pvdevice bs=1M count=1 | strings -w -n 16 

Если бы вы не сдули старый ext4, возможно, была какая-то надежда на то, что fsck сделает некоторые ремонтные работы и найдет некоторые неповрежденные структуры каталогов.

На самом деле на самом деле все еще может быть на что надеяться, используя альтернативный суперблок, который был в части диска, вы не испортили работу с mkfs . Или, если у вашего старого FS было несколько резервных суперблоков, чем у вашего текущего пустого FS, могут быть некоторые, которые не были перезаписаны.

 e2fsck -b some-offset 

Это применимо только в том случае, если ваш LV сопоставляется с теми же байтами, что и старый (об этом Frostschultz говорил в своем ответе).


Вы можете восстановить несколько типов файлов, которые можно выбрать из двоичного потока. (Так как у вас нет метаданных, отображающих имена файлов в байтовые диапазоны.) Некоторые файлы имеют узнаваемый заголовок, и можно указать, где находится конец файла. Пока ваши файлы фрагментированы, есть надежда восстановить некоторые безымянные файлы.

Прежде всего это инструмент для этого. Он утверждает, что находит файлы jpg, gif, png, bmp, avi, exe, mpg, wav, riff, wmv, mov, pdf, ole, doc, zip, rar, htm и cpp.

Interesting Posts

Как получить информацию о жестком диске из / proc и / или / sys

eth0 является прокси-арпированием, но / proc / sys / net / ipv4 / conf / eth0 / proxy_arp равно 0

Как добавить данные в буфер в сценарии оболочки?

Могу ли я утверждать, что Wi-Fi AP с более высоким «качеством» будет лучше в большинстве случаев?

Как искать и заменять строки, соответствующие списку заметок для нескольких файлов

Разрешить удаление sudo для удаленного пользователя для цели восстановления. Последствия для безопасности?

Лимитированная линия Emacs на границе слова

Ubuntu блокирует доступ к службам, когда не вошел в систему

Исправлена ​​синтаксис заданного фонового задания

Почему экран, казалось бы, ничего не делает с командами, переданными с -X?

Экспорт истории команд в скрипт командной оболочки

Путаница в определении apt-get dist-upgrade

перебирать два списка переменных и назначать соответствующий порядок командам

Перенаправление stderr скрипта Ruby не работает должным образом

cp не копирует новые файлы исходного местоположения (файлы, созданные после запуска команды cp)

Linux и Unix - лучшая ОС в мире.