Экспертные советы по восстановлению данных с LVM разделов в ОС Linux
Как вернуть потерянные данные с LVM разделов в ОС Linux? Узнайте в этой статье профессиональные советы и эффективные методы восстановления данных. Мы предоставим вам шаг за шагом руководство по восстановлению данных с LVM разделов, чтобы вы могли восстановить свои файлы быстро и безопасно.
- Что такое LVM?
- Как установить LVM в систему?
- Как разметить физический диск
- Теперь создаем группу разделов
- Чтобы использовать LVM создаем логически том
- Как отформатировать и смонтировать логический том?
- Как изменить размер?
- Как восстановить удаленную информацию с логического тома LVM
- Заключение
- Вопросы и ответы
- Комментарии
Что такое LVM?
Logical Volume Management (менеджер логических томов) – это стандартная опция управления дисками, которая доступна в каждом дистрибутиве ОС Linux. Она обеспечивает уровень абстракции между вашей ОС и используемыми накопителями. При традиционном управлении, Linux сначала ищет доступные накопители, а затем смотрит, какие разделы доступны на этих устройствах.
С помощью LVM носители или разделы можно объединять в единое пространство. При таком построении операционная система не заметит разницы, а менеджер дисков будет отображать только нужные физические носители или группы томов.
Характеристика | Описание |
---|---|
Название | Logical Volume Management (Менеджер логических томов) |
Основное назначение | Управление дисковым пространством путём объединения физических дисков в логические тома для гибкого распределения ресурсов |
Поддержка операционных систем | Linux, macOS, Android |
Типы физических носителей | Жесткие диски (HDD), твердотельные накопители (SSD), внешние устройства |
Основные возможности | Создание, изменение размеров и удаление логических томов без потери данных |
Расширение томов | Возможность динамического увеличения размера томов |
Уменьшение томов | Возможность уменьшения размера томов без повреждения данных |
Функция снимков (snapshots) | Да, поддерживает создание снимков для резервного копирования и восстановления |
Поддержка RAID | Да, поддержка уровней RAID для повышения производительности и безопасности данных |
Безопасность данных | Возможность шифрования логических томов для защиты данных |
Совместимость | Совместим с многими файловыми системами, такими как ext4, xfs, btrfs |
Гибкость | Позволяет легко управлять дисковым пространством и объединять его с разных физических дисков |
На самом деле, LVM обладает несколькими весомыми плюсами:
- Она может создавать логический том на основе любого количества физических носителей, которые будут представлены в системе как единое пространство.
- Количество входящих носителей и размер самого тома можно изменять прямо в процессе работы.
- Также LVM технология позволяет на лету копировать нужные разделы, или полностью настроить функцию зеркала как в массивах RAID-1.
Как установить LVM в систему?
Если вы планируете первый раз воспользоваться функциями LVM сперва ее нужно установить. Для установки выполните следующую команду: sudo apt install lvm2
sudo apt install lvm2
А затем введите пароль администратора, далее Yes для подтверждения.
В некоторых версиях Linux, эта опция установлена по умолчанию.
Это легко проверить, введите команду lvm в окне терминала.
lvm
Далее можно приступать к управлению дисками.
Как разметить физический диск
У меня есть три пустых не размеченных жестких диска по 320 Гб, без каких-либо разделов.
Проще всего разметку осуществить с помощью утилиты управления дисками. Жмем по нужному диску – и открываем дополнительные параметры – а затем форматировать.
Указываем имя и файловую систему – Далее и еще раз Форматировать для подтверждения.
Далее понадобится пароль от учетной записи администратора.
Диск размечен, повторяем операцию с каждым неразмеченным накопителем.
Также диск можно разметить через терминал с помощью fdisk.
fdisk
Входим под рутом – sudo –i – вводим пароль.
sudo –i
А затем выполняем следующую команду: fdisk /dev/sdb – где sdb это неразмеченный диск.
fdisk /dev/sdb
Прежде чем продолжить убедитесь, что вы указали нужный диск, так как вся информация будет затерта.
Вводим n – новый раздел, p – основной, 1 – первый раздел, затем жмем два раза Enter.
Теперь нужно подготовить раздел для использования LVM. Пишем t – изменить тип раздела, а затем 8e – присваиваем тип LVM.
Проверяем настройки раздела – p, как видите все прошло успешно, появился размеченный раздел sdb1, записываем изменения – w. Делаем разметку всех неразмеченных накопителей.
Далее, чтобы создать LVM том на только что добавленном разделе, вводим: pvcreate /dev/sdb1.
pvcreate /dev/sdb1
Повторяем ее для каждого носителя pvcreate /dev/sdс1, pvcreate /dev/sdd1.
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.
mkdir /mnt/lv1
mount -t ext4 /dev/vg1/lv1 /mnt/lv1
Том смонтирован.
Как изменить размер?
Одним из преимуществ логических томов является возможность на лету добавить новый жесткий диск и расширить группу томов. А если в группе есть неиспользуемый жесткий диск, вы можете удалить из нее этот накопитель.
Существует три основных инструмента для увеличения или уменьшения логических, физических и группы томов.
- Resize – команда поможет сжать или расширить физические и логические тома, но не подходит для работы с группами;
- Extend – может увеличить логические разделы или группы томов;
- Reduce – может сокращать логические тома или группы томов.
Шаг 1. Как добавить новый жесткий диск в группу
Первое что нужно сделать перед добавлением в группу – это разметить новый жесткий диск. Как выполнить эту операцию, мы рассказывали ранее в статье.
Далее выполняем следующую команду: vgextend vg1 /dev/sde1
vgextend vg1 /dev/sde1
Где vg1 – название группы, а sde1 – новый уже размеченный накопитель.
Шаг 2. Как вывести подробную информацию об LVM
Для отображения детальной информации о составе LVM группы, выполните команду pvdisplay.
pvdisplay
Здесь указан путь к физическому диску, имя виртуальной группы в которую он входит, информация о свободном и используемом пространстве ID диска и другое.
Шаг 3. Как удалить логический том
Для удаления логического тома, сначала нужно убедиться, что он отключен (размонтирован), затем нужно выполнить команду lvremove, после чего раздел будет удален.
С помощью этой команды можно удалить группу томов, но перед этим необходимо размонтировать логический раздел, введите команду: umount /mnt/lv1
lvremove
umount /mnt/lv1
Далее для удаления, вводим команду: lvremove /dev/vg1/lv1, а также Yes для подтверждения операции.
lvremove /dev/vg1/lv1
После успешного удаления вы увидите следующее сообщение об успешном удалении
Теперь мы можем удалить нашу группу, для этого вводим команду: sudo vgremove vg1
sudo vgremove vg1
Теперь осталось удалить все носители, которые составляли группу, для этого вводим команду: sudo pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1
sudo pvremove /dev/sdb1 /dev/sdc1 /dev/sdd1
Все метки на физическом носителе успешно удалены, они приняли первоначальны вид.
Как восстановить удаленную информацию с логического тома LVM
Если вы вдруг случайно удалили важную информацию с логического тома LVM, вернуть ее вам поможет программа Hetman Partition Recovery.
Утилита поддерживает LVM разделы, и обеспечивает восстановление данных с них. Она поддерживает большинство самых распространенных файловых систем под ОС Windows, Linux, Unix, а также MacOS. Программа будет игнорировать ошибки логической структуры накопителя, просканирует жесткий диск и вернет нужны файлы.
На данный момент нет дистрибутива программы Hetman Partition Recovery под ОС Linux. Запустить ее можно с помощью виртуальной машины на базе Windows, установив ее второй системой на ваш ПК, или подсоединить диски к другому компьютеру.
Запускаем программу, после инициализации она без труда определила логический том, и отобразила всю известную о нем информацию.
Сперва выполните Быстрое сканирование, жмем по диску правой кнопкой мыши – Открыть – Быстрое сканирование, по завершению процесса программа отобразит найденную информацию в правой части окна. Удаленные файлы помечены красным крестиком.
Если быстрое сканирование не нашло нужной информации выполните Полный анализ.
Далее отметьте файлы, которые нужно вернуть и нажмите Восстановить, выберите место куда их сохранить и еще раз Восстановить.
По завершению процесса все файлы будут лежать в указанной папке.
Заключение
В этой статье мы попытались рассказать, как пользоваться встроенной функцией Logical Volume Management под ОС Linux. Прошли все важные этапы: создание и настройка LVM раздела, добавление и монтирование новых жестких дисков, уменьшение и полное удаление. Функция LVM разрабатывалась как серверное решение. Но теперь вы сможете в полном объеме использовать ее даже на домашнем ПК.
Да, есть несколько вариантов для решения проблемы с размером PV и VG:
Вы можете воспользоваться утилитой pvresize с флагом --setphysicalvolumesize, чтобы задать новый размер PV вручную. Например, для увеличения размера PV до 975697887 секторов вы можете использовать следующую команду: pvresize --setphysicalvolumesize 975697887 /dev/sdd1.
Если утилита pvresize не помогает, вы можете создать новый PV на свободной части диска, затем добавить его в VG и переместить данные с помощью команды pvmove на новый PV.
Вы можете скопировать нужный LV с помощью команды dd на другой диск или сетевое хранилище без активации группы томов. Затем вы можете создать новый PV и VG на этом диске, добавить его в систему и смонтировать скопированный LV.
Возможно, вам потребуется восстановить LVM метаданные с помощью утилиты vgcfgrestore, если они были повреждены после сбоя Raid контроллера.
В любом случае, перед выполнением любых действий по восстановлению данных рекомендуется создать резервную копию всех важных файлов и данных, чтобы избежать их потери.
Если вы используете версию device mapper в из серии ядра 2.6 kernel.org, следующие команды и типы LV не поддерживаются:
- pvmove
- snapshots
Основной причиной этого является отсутствие запуска «dmsetup mknodes» после перезагрузки в ядро с поддержкой dm. Этот сценарий создает узел управления для устройства сопоставления.
Если у вас нет "dmsetup mknodes", не отчаивайтесь! (Хотя вам, вероятно, следует обновиться до последней версии device-mapper.) Довольно легко создать файл /dev/mapper/control самостоятельно:
Убедитесь, что у вас загружен модуль device-mapper (если вы не встроили его в ядро).
Запускаем # cat /proc/misc | grep device-mapper | awk '{print $1}' и обратите внимание на напечатанное число. (Если вы не получили никакого результата, обратитесь к шагу 1.)
Запускаем # mkdir /dev/mapper - если вы получите сообщение об ошибке, говорящее, что /dev/mapper уже существует, убедитесь, что это каталог, и двигайтесь дальше.
Запускаем # mknod /dev/mapper/control c 10 $number где $number — это число, напечатанное на шаге 2.
- Начните с удаления всех моментальных снимков LV в системе. Они не обрабатываются LVM 2 и предотвратят активацию источника при запуске LVM 2.
- Убедитесь, что у вас есть способ загрузки системы, отличный от стандартного загрузочного раздела. Имейте на нем инструменты LVM 1, стандартные системные инструменты (монтирование) и ядро, совместимое с LVM 1, на случай, если вам понадобится вернуться и исправить некоторые вещи.
- Возьмите исходный код инструментов LVM 2 и исходный код устройства сопоставления и скомпилируйте их. Перед компиляцией инструментов LVM 2 вам необходимо установить библиотеку картографа устройств с помощью команды «make install». Также скопируйте скрипт dm/scripts/devmap_mknod.sh в /sbin. Я рекомендую пока устанавливать только двоичный файл lvm, чтобы у вас был доступ к инструментам LVM 1, если они вам понадобятся. Если у вас есть доступ к пакетам для LVM 2 и device-mapper, вы можете установить их, но опасайтесь, что они перезапишут ваш набор инструментов LVM 1.
- Получите ядро, совместимое с картографом устройств, либо встроенное, либо в виде модуля ядра.
- Выясните, где LVM 1 был активирован в ваших сценариях запуска. Убедитесь, что к этому моменту модуль отображения устройств загружен (если вы используете средство отображения устройств в качестве модуля), и добавьте '/sbin/devmap_mknod.sh; лвм вгскан; lvm vgchange -ay' потом.
- Установите ядро с поддержкой картографа устройств. Перезагрузить. Если все пойдет хорошо, вы должны работать с lvm2