Восстановить logical volume linux

Обновлено: 07.07.2024

Хотите узнать, как пользоваться технологией LVM в Linux? Как создать LVM том, настроить и смонтировать его в систему, как добавлять и удалять диски, а также восстановить случайно удаленную с него информацию? Далее в нашей статье мы расскажем об этом поподробнее.

Что такое LVM?

Logical Volume Management (менеджер логических томов) – это стандартная опция управления дисками, которая доступна в каждом дистрибутиве ОС Linux . Она обеспечивает уровень абстракции между вашей ОС и используемыми накопителями. При традиционном управлении, Linux сначала ищет доступные накопители, а затем смотрит, какие разделы доступны на этих устройствах.

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

На самом деле, LVM обладает несколькими весомыми плюсами:

  • Она может создавать логический том на основе любого количества физических носителей, которые будут представлены в системе как единое пространство.
  • Количество входящих носителей и размер самого тома можно изменять прямо в процессе работы.
  • Также LVM технология позволяет на лету копировать нужные разделы, или полностью настроить функцию зеркала как в массивах RAID-1.

Как установить LVM в систему?

Если вы планируете первый раз воспользоваться функциями LVM сперва ее нужно установить. Для установки выполните следующую команду: sudo apt install lvm2

А затем введите пароль администратора, далее Yes для подтверждения.

В некоторых версиях Linux, эта опция установлена по умолчанию.

Это легко проверить, введите команду lvm в окне терминала.

Далее можно приступать к управлению дисками.

Как разметить физический диск

У меня есть три пустых не размеченных жестких диска по 320 Гб, без каких-либо разделов.

Проще всего разметку осуществить с помощью утилиты управления дисками. Жмем по нужному диску – и открываем дополнительные параметры – а затем форматировать.

Указываем имя и файловую систему – Далее и еще раз Форматировать для подтверждения.

Далее понадобится пароль от учетной записи администратора.

Диск размечен, повторяем операцию с каждым неразмеченным накопителем.

Также диск можно разметить через терминал с помощью fdisk .

А затем выполняем следующую команду: fdisk /dev/sdb – где sdb это неразмеченный диск.

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

Вводим n – новый раздел, p – основной, 1 – первый раздел, затем жмем два раза Enter .

Теперь нужно подготовить раздел для использования LVM. Пишем t – изменить тип раздела, а затем 8e – присваиваем тип LVM .

Проверяем настройки раздела – p , как видите все прошло успешно, появился размеченный раздел sdb1 , записываем изменения – w . Делаем разметку всех неразмеченных накопителей.

Далее, чтобы создать LVM том на только что добавленном разделе, вводим: pvcreate /dev/sdb1 .

Повторяем ее для каждого носителя pvcreate /dev/sdс1 , pvcreate /dev/sdd1 .

Теперь создаем группу разделов

Из подготовленных трех носителей соберем нужный LVM раздел. Поможет нам в этом следующая команда:

vgcreate vg1 /dev/sdb1 dev/sdc1 dev/sdd1

Где vg1 – это название (имя) новой группы. Называть можно как вам удобно, но рекомендуется поставить перед именем vg , чтобы знать в дальнейшем что это именно группа.

Чтобы использовать LVM создаем логически том.

Когда диски объединены в группу, для ее использования нужно создавать новый логический раздел. Для этого вводим команду:

lvcreate -L 10G -n lv1 vg1

Где, -L определяет размер, я указал 10 ГБ, команда -n дает имя тому, а ссылка на vg1 указывает, с какого тома получить пространство.

Если на диске есть какие-то данные система предупредит об этом, вводим yes для подтверждения затереть их.

Как отформатировать и смонтировать логический том?

Осталось отформатировать том в управлении дисками и смонтировать его. Жмем по нему и отрываем дополнительные параметры, а затем форматировать, указываем имя и файловую систему – Далее – и еще раз Форматировать .

Вводим пароль root , а затем кликаем по клавише монтирования. Теперь новый раздел можно использовать.

Если нужно отформатировать его через терминал введите команду:

mkfs -t ext4 /dev/vg1/lv1

Указываем файловую систему Ext4 , имя группы и имя тома.

Для монтирования введите: mkdir /mnt/lv1 , а затем – mount -t ext4 /dev/vg1/lv1 /mnt/lv1 .

Как изменить размер?

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

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

  • Resize – команда поможет сжать или расширить физические и логические тома, но не подходит для работы с группами;
  • Extend – может увеличить логические разделы или группы томов;
  • Reduce – может сокращать логические тома или группы томов.

Как добавить новый жесткий диск в группу

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

Далее выполняем следующую команду: vgextend vg1 /dev/sde1

Где vg1 – название группы, а sde1 – новый уже размеченный накопитель.

Как вывести подробную информацию об LVM

Для отображения детальной информации о составе LVM группы, выполните команду pvdisplay .

Здесь указан путь к физическому диску, имя виртуальной группы в которую он входит, информация о свободном и используемом пространстве ID диска и другое.

Как удалить логический том

Для удаления логического тома, сначала нужно убедиться, что он отключен (размонтирован), затем нужно выполнить команду lvremove , после чего раздел будет удален.

С помощью этой команды можно удалить группу томов, но перед этим необходимо размонтировать логический раздел, введите команду: umount /mnt/lv1

Далее для удаления, вводим команду: lvremove /dev/vg1/lv1 , а также Yes для подтверждения операции.

Теперь мы можем удалить нашу группу, для этого вводим команду: sudo vgremove vg1

Теперь осталось удалить все носители, которые составляли группу, для этого вводим команду: sudo pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1

Все метки на физическом носителе успешно удалены, они приняли первоначальны вид.

Как восстановить удаленную информацию с логического тома LVM

Если вы вдруг случайно удалили важную информацию с логического тома LVM , вернуть ее вам поможет программа Hetman Partition Recovery .

Утилита поддерживает LVM разделы, и обеспечивает восстановление данных с них. Она поддерживает большинство самых распространенных файловых систем под ОС Windows , Linux , Unix , а также MacOS . Программа будет игнорировать ошибки логической структуры накопителя, просканирует жесткий диск и вернет нужны файлы.

На данный момент нет дистрибутива программы Hetman Partition Recovery под ОС Linux . Запустить ее можно с помощью виртуальной машины на базе Windows , установив ее второй системой на ваш ПК, или подсоединить диски к другому компьютеру.

Запускаем программу, после инициализации она без труда определила логический том, и отобразила всю известную о нем информацию.

Сперва выполните Быстрое сканирование , жмем по диску правой кнопкой мыши – Открыть – Быстрое сканирование , по завершению процесса программа отобразит найденную информацию в правой части окна. Удаленные файлы помечены красным крестиком.

Если быстрое сканирование не нашло нужной информации выполните Полный анализ .

Далее отметьте файлы, которые нужно вернуть и нажмите Восстановить , выберите место куда их сохранить и еще раз Восстановить .

По завершению процесса все файлы будут лежать в указанной папке.

Полную версию статьи со всеми дополнительными видео уроками читайте в нашем блоге .


В этом руководстве мы покажем вам, как восстановить случайно удаленный логический том в Linux.

  • /etc/lvm/backup : содержит резервную копию метаданных, созданную после выполнения команды.
  • /etc/lvm/archive : Содержит архивы метаданных, которые были сделаны до выполнения команды.

Если вы хотите узнать больше о LVM, ознакомьтесь с приведенными ниже статьями:

Что такое vgcfgbackup?

Команда vgcfgbackup берет метаданные конфигурации из заголовка LVM диска и сохраняет их в местоположение файла по умолчанию.

Что такое vgcfgrestore?

Команда vgcfgrestore восстанавливает метаданные группы томов (VG) из последней архивной резервной копии.

Синтаксис:

Проверка существующих LVM

Существующие логические тома (LV) можно перечислить с помощью команды blow:

Чтобы перечислить доступные логические тома, выполните:


Пример вывода:

Удаление логического тома (LV)

Восстановление логического тома (LV)

Прежде чем восстанавливать удаленный LVM, давайте определим последний архив, содержащий метаданные удаленного LVM.

Для этого выполните следующую команду.

Она выведет список всех резервных копий и архивов метаданных VG.

Если пробный запуск прошел успешно, выполните фактическое восстановление.

При этом восстановится удаленный логический том.

Да, он был восстановлен, но находится в неактивном состоянии.

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

Наконец, смонтируйте логический том и проверьте данные:

Да, я могу увидеть все наши данные:

Заключение

В этом руководстве мы показали вам, как восстановить случайно удаленный логический том в Linux с помощью команды vgcfgrestore.

Если у вас возникли вопросы или пожелания, не стесняйтесь оставлять комментарии.

Жила-была у меня машина с XenServer 6.5 на борту и несколькими массивами из SATA-дисков. В последнее время перестало хватать быстродействия SATA и было решено заменить один массив на SAS-диски. Для этих целей был найден RAID-контроллер Adaptec 3805 (знаю, что старье, зато халява).

После успешного создания RAID-массива из SAS-дисков(каюсь, использовал адаптековский raid) и добавления оного как lvm-storage, начал перенос одного из образов виртуальных машин на него. В процессе созерцания прогресса переноса закралось подозрение о неладном, так как изменился тон звучания сервера. А когда сервер ушел в самостоятельную перезагрузку, я начал понемногу седеть… И окончательно меня добило то, что после перезагрузки я не нашел переносимый образ ни в одном из хранилищ, а само новое хранилище отображается со статусом «не доступно».

После непродолжительной прогулки для успокоения нервов и чашки кофе я закатал рукава (ага, на футболке то) и начал думать как восстановить образ…

Для начала, естественно, полез в логи и увидел, что при создании хранилища из массива SAS произошла ошибка:

Ошибка означает, что хранилище не доступно. Я решил проверить физические тома lvm через pvdisplay и не увидел созданного тома на SAS-массиве. pvs тоже не обнаружил тома.
Это означало, что хранилище, на самом деле, не создалось. Точнее создался объект хранилища в XenServer, но при этом он не был связан с физическим хранилищем. Почему XenServer так себя повел, и, тем более, позволил перенести образ в это хранилище, я так и не выяснил.

Получается, что образ на SAS-массиве можно даже не искать, так как физически на него ничего не переносилось. Значит нужно пробовать восстанавливать образ с хранилища, на котором он был изначально.

Поиск в интернете на тему восстановления логических томов LVM задал начальный вектор раскопок.

LVM хранит свою текущую конфигурацию в /etc/lvm/backup/ и, в обычных условиях, архив старых конфигураций в виде бинарных файлов, в /etc/lvm/archive/. UUID хранилища XenServer соответствует имени LVM VolumeGroup. Но, оказывается, в XenServer этот самый архив отключен:

Дальнейшие поиски показали, что lvm хранит архив всех конфигураций VolumeGroup в начальных секторах этих самых VolumeGroup. Так как у меня хранилище расположено на отдельном массиве, то просматриваю начало этого массива:

Если видно что-то похожее на конфиги, то можно снять дамп этих секторов для более удобного чтения (в моем случае архив занимал 100Мб):

Так же дамп можно снять через команду lvmdump.

В дампе ищу конфиг, дата которого предшествует моменту пропажи образа:

Из этого конфига нужна только запись, соответствующая пропавшему образу (та запись, которая отсутствует в текущем конфиге в /etc/lvm/backup/<Соответствующий VG>, в моем случае VHD-6bdf21c1-cc52-45d1-ab9e-56bd7aa9bc89). Переписываю ее в текущую конфигурацию и даю LVM команду восстановить VG из бэкапа:

Проверяю, что Logical Volume подхватился:

Если сейчас сделать поиск по хранилищу (через XenCenter или xe sr-scan), то XenServer успешно затрет эту запись и все придется делать заново. Как я понял, XenServer не видит у себя VDI (образа диска) с UUID, соответствующем UUID нашему восстановленному Logical Volume.

XenServer, при использовании lvm, хранит образы дисков напрямую в Logcal Volume. Точнее Logical Volume это и есть VHD-образ. Поэтому я предположил, что можно заставить XenServer увидеть образ, скопировав его поверх другого, такого же размера.

Для копирования раздела активирую разделы в этом VG:

Теперь есть доступ к разделу LVM, значит можно скопировать этот раздел с помощью dd:

После того, как скопированный образ добавился в виртуальной машине, а так же после того, как машина стартанула с этого образа, моему счастью не было предела!

Однако не все так радужно. Нужно было еще выключить сервер, чтобы вытащить глючный контроллер. А когда я его включил образ снова пропал! Получается, что XenServer при запуске сверяет UUID образа в LVM c UUID в своей базе и, если они не совпадают, образ удаляется.

Пока ковырял LVM заметил, что при переносе образа из одного хранилища в другое так же меняется и его UUID и, исходя из этого, предположил, что можно окончательно воскресить образ, просто скопировав переписанный через dd образ в другое хранилище. Это должно обновить UUID в образе, сопоставив его в UUID в базе. Повторяем все процедуры заново, после чего переносим образ на временно созданное для этого хранилище, добавляем к виртуальной машине и пробуем ее запустить. Запуск проходит нормально.

Перезагружаем сервер, трясущимися от нетерпения и усталости руками проверяем список образов и… образ на месте! Счастью нет предела и, довольный собой, я удаляюсь в закат…

Я использую CentOS 5.5 и использую Xen. У меня есть большая группа томов, которую я создаю логические тома с помощью lvcreate. Сегодня я попросил клиента отменить ее учетную запись, а затем передумать примерно через час. К сожалению, я уже удалил LVM, на котором находился ее Xen-образ. (просто используя стандартное lvremove). С тех пор не было никаких других действий LVM на этом диске (больше ничего не было добавлено или удалено). Можно ли «отменить» lvremove или восстановить логический том? Если так, как бы я поступил?

LVM выполняет резервное копирование своих метаданных в /etc/lvm/backup и /etc/lvm/archive . В верхней части каждого файла будет указано время / данные, когда файл был сгенерирован, так что скорее всего у вас будет копия более старых метаданных, как это было до удаления LV. Я считаю, что резервное копирование происходит автоматически при изменении метаданных.

Следующее может быть опасным и разрушительным, поэтому будьте очень осторожны и, если возможно, создайте полную резервную копию.

Команда для восстановления этих резервных копий метаданных группы томов vgcfgrestore . Убедитесь, что вы делаете текущую копию существующей рабочей конфигурации, используя vgcfgbackup команду с флагом -f, чтобы указать другой файл для вывода, чтобы не изменять файлы, находящиеся в / etc / lvm / backup или / etc / lvm / архивные папки. Убедитесь, что вы изменили текущую конфигурацию на конфигурацию, которую хотите восстановить, чтобы убедиться, что единственными изменениями, которые вы собираетесь применить, является воссоздание недавно удаленного LV. Наличие полной резервной копии ваших данных, вероятно, тоже неплохая идея. Вы также можете рассмотреть возможность обращения к поставщику Linux за поддержкой / руководством, если у вас есть контракт на поддержку, прежде чем продолжать, поскольку мне никогда не приходилось делать это самостоятельно.

Если заглянуть глубже в vgcfgrestore, похоже, мне нужно было отключить каждую виртуальную машину на этом блоке, прежде чем пытаться это сделать, или рискнуть повредить весь массив. Похоже, ваши инструкции будут работать, поэтому я принимаю ответ, но данные не стоят риска. Спасибо @John P Да, я как-то подумал с виртуальными машинами, и все это было бы трудно сделать в такой среде. Я полагаю, что одно из них - это то, что в будущем, возможно, процедура удаления учетной записи будет включать 30-дневный период без удаления.

«Не могли бы вы поподробнее узнать, как найти EFROM и ETO из файла резервной копии? У всех lv есть« start_extend »из 0 в моем файле резервной копии, так что я немного растерялся :) Спасибо! - user186975 24 августа '13 в 17 : 06 "

Хорошо, я буду очень конкретен . с Самым простым способом восстановить логический том.

Пример:

1 - я удалил свой логический том!

2 - Первое, что нужно сделать, это найти файл архива в /etc/lvm/archive/vg1_(xxxxx).vg. Я могу сделать это, просто посмотрев дату, когда я удалил логический том!

Читайте также: