LVM выполняет резервное копирование своих метаданных в /etc/lvm/backup
и /etc/lvm/archive
. В верхней части каждого файла будет указано время / данные, когда файл был сгенерирован, так что скорее всего у вас будет копия более старых метаданных, как это было до удаления LV. Я считаю, что резервное копирование происходит автоматически при изменении метаданных.
Следующее может быть опасным и разрушительным, поэтому будьте очень осторожны и, если возможно, создайте полную резервную копию.
Команда для восстановления этих резервных копий метаданных группы томов vgcfgrestore
. Убедитесь, что вы делаете текущую копию существующей рабочей конфигурации, используя vgcfgbackup
команду с флагом -f, чтобы указать другой файл для вывода, чтобы не изменять файлы, находящиеся в / etc / lvm / backup или / etc / lvm / архивные папки. Убедитесь, что вы изменили текущую конфигурацию на конфигурацию, которую хотите восстановить, чтобы убедиться, что единственными изменениями, которые вы собираетесь применить, является воссоздание недавно удаленного LV. Наличие полной резервной копии ваших данных, вероятно, тоже неплохая идея. Вы также можете рассмотреть возможность обращения к поставщику Linux за поддержкой / руководством, если у вас есть контракт на поддержку, прежде чем продолжать, поскольку мне никогда не приходилось делать это самостоятельно.
Удачи.
«Не могли бы вы поподробнее узнать, как найти EFROM и ETO из файла резервной копии? У всех lv есть« start_extend »из 0 в моем файле резервной копии, так что я немного растерялся :) Спасибо! - user186975 24 августа '13 в 17 : 06 "
Хорошо, я буду очень конкретен ... с Самым простым способом восстановить логический том.
Пример:
1 - я удалил свой логический том!
2 - Первое, что нужно сделать, это найти файл архива в /etc/lvm/archive/vg1_(xxxxx).vg. Я могу сделать это, просто посмотрев дату, когда я удалил логический том!
3- Я нашел это!
Дата, когда я сделал lvremove !!! ... это было несколько минут назад ..
4 - Давайте посмотрим файл!
5 - Сделайте тест, прежде чем восстановить его!
6 - Хорошо, теперь повторите командную строку, без (--test)
7 - Проверьте это!
8 - Если логика не была активной, сделайте это!
Это все
Я надеюсь, что это может помочь другим людям, которые ищут это решение!
источник
Самый простой способ восстановления после lvremove (при условии, что вы не писали в экстенты, в которых находился LV):
Просто найдите резервную копию ваших метаданных в / etc / lvm / archive и выясните
a) который расширяет LV, в котором он находился (EFROM, ETO);
b) на каких PV находился ваш LV, и который распространяется на тот PV, который он использовал (PFROM, PTO)
Получив эту информацию, вы создаете новый логический том точно такого же размера на точно таких же планах, не стирая первые 8 КБ логического диска :
источник
(Как ранее отвечал Thermoman) простой способ воссоздать удаленный том LVM - создать его с помощью lvcreate без обнуления и убедиться, что он будет в том же месте на диске. (Команда из ответа термомана не сработала.)
Проверьте размер и положение удаленного логического тома, как они были до удаления, прочитав файлы в / etc / lvm / archive. Размер тома в
extent_count
изsegment1
(или суммыsegment*/extent_count
значений , если он имел несколько экстентов). Позиция находится вstripes
разделе после псевдонима физического тома (напримерpv0
).Например, раздел тома может выглядеть так:
Размер этого
example
тома был 1024, и он был расположен на / dev / somedisk, начиная с экстента 30720.Вычислите последний экстент как start + size -1 = 30720 + 1024 - 1 = 31743. Чтобы воссоздать этот том, выполните следующие действия:
источник
У меня была похожая ситуация. У меня были все PV, содержащие желаемые LV, но моя VG показала отсутствие PV и 0 LV. Я выздоровел, сделав следующее:
pvs
чтобы собрать UUID для всех дисков.physical_volumes
разделе установитеdevice =
строки, соответствующие текущему устройству / идентификаторам UUID, о которых сообщаетсяpvs
, снимите все"MISSING"
флажки и удалите всеpvN
разделы, которые фактически отсутствовали.logical_volumes
разделе удалите все списки, которые имели полосы наpvN
разделах, которых больше не было.Вот и все, потом я побежал
vgcfgrestore --test vg -f /root/dangerously_edited.vg
--test
выбора.Я достиг своей конкретной ситуации, расширив VG с помощью PV sdg и sdh. Затем я создал новый LV, указав
/dev/sdg /dev/sdh
в командной строке, чтобы я знал, что новый LV был на этих дисках. Затем я перенес эти диски на новую машину. Старая машина была очень расстроена отсутствующими дисками, и когда я их принудительно удалил, она также удалила ВСЕ LV. Облом.В следующий раз, конечно, я создам новый VG, чтобы избежать этой проблемы.
источник