Особливості будови Linux LVM та перспективи відновлення даних

data organization, advantages and disadvantages and possibility of data recovery from linux logical volume manager

Менеджер логічних томів або LVM – це метод управління дисковим простором, який дозволяє створювати логічні розділи, що охоплюють декілька фізичних пристроїв, а також легко змінювати їх розмір. Увійшовши до складу ядра Linux у 1999 році і використовуючи підсистему device mapper, LVM наразі підтримується кожним сучасним дистрибутивом. Забезпечуючи підвищену гнучкість, цей спосіб конфігурації сховищ широко використовується системними адміністраторами для різних серверів, систем NAS і SAN під керуванням Linux з метою максимально ефективної організації простору зберігання. Хоча така технологія є особливо корисною для корпоративних середовищ, зі зростаючими потребами домашніх користувачів вона знайшла широке застосування на настільних ПК, у той час як все більше інсталяцій Linux активують LVM а замовчуванням.

У цій статті розглядаються ключові поняття LVM, його базова архітектура, сильні та слабкі сторони.


Основи LVM

Менеджер логічних томів додає рівень абстракції між операційною системою і фізичними дисками, які вона використовує. Однак, на відміну від традиційної моделі управління дисками, в якій кожен запам'ятовуючий пристрій представлений одним або декількома розділами, логічні томи в LVM не прив'язані таким чином до певного цифрового носія: один том може простягатися на безліч дисків, а також змінювати розмір або видалятися на льоту у будь-який момент.

Основні структури даних, на яких базується LVM, включають:

  • Фізичні томи. Фізичні томи – це, по суті, первинні розділи на диску або ж цілі пристрої зберігання даних, такі як внутрішні або зовнішні жорсткі диски, програмні або апаратні RAID тощо. Один або кілька фізичних томів утворюють групу томів.
  • Групи томів. Групу томів можна порівняти з віртуальним розділом. Вона складається з одного або декількох фізичних томів, що утворюють єдиний пул пам'яті, доступний для системи. Для створення групи томів потрібен принаймні один фізичний том, в той час як інші можна додавати згодом для збільшення ємності. При створенні групи томів вона автоматично розбивається на блоки однакового фіксованого розміру, які називають фізичними діапазонами.
  • Фізичні діапазони. Фізичний діапазон – це найменший фрагмент, який служить одиницею поділу фізичних томів (за замовчуванням використовується розмір 4 МіБ). Фізичні діапазони можна описати як крихітні частини фізичного сховища, які за потреби призначатимуться будь-якому з логічних томів для запису інформації.
  • Логічні томи. Логічний том є складовою частиною групи томів і утворюється з фізичних діапазонів. Подібно до звичайного розділу в системі без LVM, він має точку монтування і файлову систему, таку як Ext4 або XFS, але, на відміну від нього, може створюватись, видалятись або змінювати розмір використовуючи вільний простір, наявний у групі томів, до якої він належить. Це досягається шляхом копіювання та реорганізації доступних фізичних діапазонів без переривання роботи системи.

Яким чином організовано дані?

Для організації та відстеження власних внутрішніх структур LVM використовує мітки фізичних томів та метадані.

Мітка фізичного тому містить ідентифікатор UUID (Universally Unique Identifier) відповідного фізичного тому, його розмір в байтах, список розташування областей даних і областей метаданих. Ця мітка зазвичай записується в другий 512-байтовий сектор диска.

Метадані зберігаються в ASCII і містять усі відомості про конфігурацію кожної групи томів. Вони записуються в спеціальну область метаданих всередині кожного фізичного тому, що входить до складу відповідної групи томів. Нові метадані зазвичай додаються в кінець старих метаданих, і після цього оновлюється вказівник початку метаданих.

Окрім інформації про те, коли було створено групу томів, її назви, унікального ідентифікатору, версії, властивостей та розміру діапазонів, метадані містять:

  • список фізичних томів, з яких складається група, разом з їх ідентифікаторами, властивостями, кількістю діапазонів і зміщенням до початку першого діапазону в секторах;
  • список логічних томів, кожен елемент якого складається зі списку сегментів логічного тому із посиланнями до списку сегментів фізичних томів.

Оскільки LVM зберігає цю інформацію безпосередньо у секторах на диску, а не в окремих файлах, LVM у змозі прочитати диски після переустановки Linux або в інших випадках, коли стирається коренева файлова система.

Переваги та недоліки LVM

LVM пропонує значні переваги з точки зору масштабованості і управління дисковим простором:

  • Динамічна зміна розміру томів

    Замість того, щоб із самого початку налаштувати розділи фіксованого розміру, користувач може залишити нерозподілений простір зберігання, а потім додавати його до певних вже змонтованих розділів при їх заповненні. Немає необхідності створювати резервні копії всіх даних і переформатовуати сховище.

  • Поширення одного тома на кілька дисків

    З LVM одному й тому ж логічному тому можна присвоїти будь-яку допустиму кількість фізичних дисків, що будуть трактуватись системою як один єдиний розділ.

  • Динамічне збільшення ємності

    Щоб розширити сховище до групи томів можна у будь-коли без простою додати будь-яку допустиму кількість фізичних пристроїв якої завгодно ємності. Наприклад, нові диски додаються до сервера для розширення його можливостей, в той час як система залишається онлайн.

  • Тонке виділення

    LVM дає можливість відводити логічним томам більшу кількість дискового простору, ніж насправді доступна в групі томів. На відміну від набору розділів фіксованого розміру, в групі томів можна створити спеціальний тонкий пул, який забезпечуватиме простором зберігання усі тонкі логічні томи, прив'язані до нього. Разом з тим, жоден з тонких томів не резервує частину або весь існуючий простір для власних потреб, поки дані не будуть фактично записані і не використають цей простір. Таким чином, кожному тонкому тому присвоюється віртуальний розмір, який може перевищувати обсяг вільного простору у фізичному сховищі.

  • Підтримка снепшотів

    LVM підтримує моментальні знімки, що дозволяє створювати резервні копії файлової системи в певний момент часу.

Однак, як додатковий рівень абстракції між ОС і дисками, якими вона керує, LVM призводить до виникнення певних складностей, особливо у випадку втрати даних:

  • Небезпечне стиснення томів

    Спроби зменшити розмір логічного тому або перерозподілити іншому тому простір зберігання, який ним використовується, зазвичай призводять до пошкодження і втрати даних, особливо коли файлова система заповнена або стиснення не підтримується обраним типом файлової системи.

  • Відсутність подвійного завантаження

    Інші операційні системи не розпізнають LVM, тому доступ до розділів LVM з Windows або macOS неможливий. Для середовища з подвійним завантаженням необхідно створити також стандартний розділ без LVM.

  • Ризик перезапису

    При мульти-завантаженні інші операційні системи можуть не виявити LVM і визначити диск як порожній, що може призвести до перезапису.

  • Відсутність відмовостійкості за замовчуванням

    Втрата або вилучення диска з LVM призведе до того, що все сховище разом з усіма файлами стане недоступним, в той час як ймовірність такого збою зростає з кожним диском, доданим до LVM.

  • Висока ймовірність пошкодження метаданих

    LVM надає можливість розширити логічний том і його файлову систему, коли вона змонтована і знаходиться в активному стані. Однак, будь-яке раптове переривання цієї процедури, викликане перебоями у живленні, збоями у програмному або апаратному забезпеченні або просто помилкою користувача, може призвести до того, що коректні метадані не будуть повністю записані, а все LVM-сховище стане непридатним для використання.

Можливість відновлення даних

Професійна та RAID-редакції UFS Explorer здатні зчитувати метадані з дисків LVM і автоматично відтворювати такий накопичувач у віртуальному режимі. Віртуальне сховище буде додано до списку підключених сховищ в лівій панелі головної вкладки для подальшого відновлення даних. Водночас, доступ буде можливим і до компонентів тому.

Однак, серйозні пошкодження або повний перезапис метаданих LVM можуть становити серйозну проблему для відновлення даних: найчастіше дані в LVM не зберігаються в послідовних секторах, особливо за наявності кількох фізичних томів у групі і при багаторазовій зміні розмірів томів.

У деяких випадках метадані можуть бути відновлені за допомогою резервної копії, що зберігається в /etc/lvm/backup. Ім'я файлу буде збігатися з ім'ям групи томів.

Якщо Вам потрібно відновити дані з тому LVM, керуйтеся відповідною інструкцією.

Останнє оновлення: 7 серпня 2022

Якщо вам сподобалася ця стаття, поділіться нею у соцмережах: