Відновлення даних з 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 розроблялася як серверне рішення, але тепер ви зможете в повному обсязі використовувати її навіть на домашньому ПК.
Якщо ви використовуєте стабільний патч 2.4 device mapper patch з архіву lvm2, то всі основні функції, які ви очікуєте від lvm1, підтримуються інструментами lvm2.
Якщо ви використовуєте версію 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'.
- Встановіть ядро підтримкою картографа пристроїв.