Действительно ли возможно восстановить частичный логический том LVM?

Фон

Это - VirtualBox VM Ubuntu 12.04 с 5 виртуальными жесткими дисками (VDI), ОБРАТИТЕ ВНИМАНИЕ, что это - просто тест VM, таким образом, не хорошо запланированный заранее:

  1. ubuntu.vdi для / (/dev/mapper/ubuntu-root иначе/dev/ubuntu/root) и / домой (/dev/mapper/ubuntu-home)
  2. weblogic.vdi -/dev/sdb (смонтированный на / BEA для weblogic и другого материала)
  3. btrfs1.vdi -/dev/sdc (часть конфигурации btrfs-m raid1-d raid1)
  4. btrfs2.vdi -/dev/sdd (часть конфигурации btrfs-m raid1-d raid1)
  5. more.vdi -/dev/sde (добавил этот виртуальный жесткий диск, потому что / исчерпал inodes и не было легко выяснить, что удалить, чтобы к свободному inodes, таким образом, я просто добавил новый виртуальный жесткий диск, создал PV, добавил он к существующей человечности группы объема, вырастил корневой логический том для работы вокруг проблемы inode - _-),

Что случилось?

В прошлую пятницу перед завершением я хотел освободить некоторое дисковое пространство на том поле, по некоторым причинам я думал, что more.vdi был бесполезен и испытан для отсоединения его от VM, я затем нажал, удаляют (должен был нажать, сохраняют файлы чертовски!) по ошибке при отсоединении. К сожалению, у меня не было резервного копирования для него. Слишком поздно.

Что я попробовал

Попробованный для восстановления после удаления (используют испытательный стенд и photorec) vdi файлов, но он берет слишком долго и восстановленная "куча" .vdi файлов, которые я не хотел (огромный, заполнил диск, чертовски!). Я наконец сдался. К счастью, большинство данных идет отдельный ext4 раздел и btrfs объемы.

Из любопытства я все еще пытался смонтировать логические тома и видеть, возможно ли, по крайней мере, восстановить / var и / и т.д.

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

Couldn't find device with uuid xxxx.
Refusing activation of the partial LV root. Use --partial to override.
1 logical volume(s) in volume group "ubuntu" now active.
I was able to mount home LV but not root LV.

Я задаюсь вопросом, возможно ли получить доступ к корневому LV еще. Под шляпой данные (на корне LV-/) чередовались к more.vdi (PV), я знаю, что почти невозможно для восстановления.

Но мне все еще любопытно на предмет того, как системный администратор/DevOps парни имеет дело с этим видом ситуации;-)

Заранее спасибо.

0
задан 19 November 2012 в 09:20

2 ответа

[РЕДАКТИРОВАНИЕ: Если Вы незнакомы с LVM, прочитайте этот обзор или по крайней мере страницу Wikipedia об этом.]

LVM разделяет свои Физические тома в частях, названных "Физические Степени" (PE). Можно проверить, каким Логическим томам выделили PE в PVs, который Вы все еще имеете путем выдачи этой команды:

pvdisplay -m

Который производит что-то вроде этого (показ того PV здесь только):

--- Physical volume ---
  PV Name               /dev/sda3
  VG Name               htpcvg
  PV Size               929.27 GiB / not usable 18.71 MiB
  Allocatable           yes 
  PE Size               32.00 MiB
  Total PE              29736
  Free PE               1190
  Allocated PE          28546
  PV UUID               7SfjbY-3dy4-UDeB-iSEL-3R9Y-vvnv-O7m9jr

  --- Physical Segments ---
  Physical extent 0 to 28545:
    Logical volume      /dev/htpcvg/home
    Logical extents     29430 to 57975
  Physical extent 28546 to 29735:
    FREE

С этой информацией можно знать, сколько из LVs хранится в том PV.

Затем если та информация показывает, что Вы имеете некоторые степени в наличии своих LVs', можно активировать VG, который содержит их с этой другой командой (отредактируйте VolGroupName): [РЕДАКТИРОВАНИЕ: прочитайте страницу справочника]

vgchange -a y --partial VolGroupName

Это должно сделать Ваше "доступное" LVs, но дефектный так или иначе (Вы не сможете считать недостающие PE, очевидно). Для сейфа Вы могли также сделать свое более не существующее только для чтения LVs с lvchange -p r --partial /path/to/logical/volume

Теперь, учитывая, что Вы, вероятно, не сможете смонтировать файловые системы, которые находятся в Вашем частичном LVs, необходимо скопировать то, что оставляют их с ddrescue:

ddrescue -n /dev/mapper/yourVG-yourLV /file/for/the/dump ddrescue.log

И затем сделайте некоторый судебный анализ того дампа. Здесь у Вас есть много опций. Photorec всего один.

3
ответ дан 19 November 2012 в 09:20

1 вещь для будущих поколений.

Partial не загружает LV, которые были частичными.

Также он заменит ваш конфиг, и вы все равно получите критические ошибки для вашего фс. Для загрузки поврежденных LV необходимо сначала заменить сломанный / неисправный / отключенный диск или деталь, например, на образ смонтированного контура nfs.

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

Затем вы можете создать его и назначить экстенты для разбитого LV.

После этого выполните e2fsck (потому что суперблок будет сломан из-за нарушенного пролета) на сломанных LV fs. затем измените его размер до нового меньшего размера, используя resize2fs, и вы можете безопасно удалить цикл расширения, сначала с помощью lvreduction размера lv в fs (в настоящее время вы можете сделать это одной командой без resize2fs), затем с помощью vgreduce вывести цикл из LV.

После этого вы можете безопасно смонтировать исцеленные файлы LV и резервное копирование данных или даже перезагрузить систему, чтобы запустить ее.

Не используйте / dev / ioerror (как это было предложено где-то в Интернете), хотя, если ваш LV сломан с поврежденным суперблоком, а также он не позволит исправлять ошибки за пределами LV и, в конечном итоге, все время будет выходить из строя fsck. Добавляйте только петлевое или даже реальное устройство, если хотите.

0
ответ дан 19 November 2012 в 09:20

Другие вопросы по тегам:

Похожие вопросы: