Що таке LVM і як з ним працювати?

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

Що таке LVM і як з ним працювати?

Зміст

  1. Що таке LVM і як він працює?
  2. Переваги та недоліки LVM
  3. Як працювати з LVM?
  4. Типи томів у LVM
  5. Як видалити або змінити розмір тома LVM?
  6. Моментальні снапшоти в LVM
  7. LVM + RAID і RAID + LVM
  8. Що робити, якщо дані втрачені?

Що таке LVM і як він працює?

LVM (logical volume manager) – це технологія, яка дозволяє використовувати деякі частини вашого жорсткого диска (або кількох дисків) і об’єднувати їх в один логічний том для подальшої роботи. Завдяки цьому ви можете більш гнучко розподіляти загальний дисковий простір, оскільки ви не обмежені одним жорстким диском. LVM також працює з SSD-накопичувачами.

Давайте детальніше розглянемо як працює LVM.

Уявіть, що у вас є два жорсткі диски по 100 ГБ (2 x 100 ГБ). Використовуючи звичайне розділення, ви можете створювати томи до 100 ГБ на кожному з дисків.

Якщо ви використовуватимете LVM для цієї мети, ви можете створити, наприклад, один том на 120 ГБ в загальному просторі, і, відповідно, другий том – на 80 ГБ. Тобто LVM створює деякий абстрактний простір, який об’єднує дискові об’єми обох жорстких дисків, а потім ви можете розділити загальний дисковий простір, як хочете.

Схематично це виглядає так:

Робоча схема LVM

Такий принцип можна реалізувати за допомогою підсистеми відображення пристрою.

Початкові розділи поділяються на блоки або блокові пристрої (фізичні томи (pv)) і об’єднуються в один віртуальний том, точніше, групу томів (vg). Потім цей віртуальний том ділиться на логічні томи (lv). Файловою системою логічний том сприймається як звичайний блоковий пристрій, хоча окремі фізичні томи можуть розташовуватися на кількох фізичних пристроях (і навіть сам фізичний том може використовуватись у складі RAID).

Додаткову інформацію про RAID можна знайти в статті “Що таке RAID і для чого він використовується?

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

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

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

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

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

Крім того, ви можете об’єднати будь-яку кількість дисків в один логічний пул, а потім створити стільки томів, скільки вам потрібно, швидко та легко.

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

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

Але технологія LVMмає деякі недоліки, які можуть бути перешкодою для її використання.

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

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

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

Як працювати з LVM?

Опція налаштування LVM доступна під час встановлення будь-якого сучасного дистрибутива Linux, але як із нею працювати?

LVM складається з трьох рівнів:

  • фізичний том (один або декілька);
  • група фізичних томів (що також називається PV);
  • логічний том, який буде доступний для програм (також званий LV);

3.1 Як встановити LVM?

Перше, що вам потрібно зробити перед створенням LVM, це встановити програму LVM2. Це можна зробити за допомогою terminal, виконавши команду:

$ sudo apt install lvm2

Після встановлення LVM2 ви можете почати працювати зі своїми дисками.

3.2 Як ініціалізувати фізичні томи LVM?

Тепер нам потрібно ініціалізувати фізичні томи LVM. Перш за все, ми повинні вирішити, які томи ми будемо використовувати. Припустимо, це будуть dev/sda6 і dev/sda7. Щоб ініціювати їх, виконайте команду:

$ sudo pvcreate /dev/sda6 /dev/sda7

Щоб перевірити, чи правильно ініціалізовано фізичні томи, скористайтеся командою:

$ sudo pvscan

Система покаже всі логічні томи в системі.

Ви також можете переглянути детальні атрибути розділів за допомогою такої команди:

$ sudo pvdisplay

Якщо ви хочете дізнатися розмір окремого блоку пам’яті LVM, перевірте атрибут PE Size. За замовчуванням це 4 МБ, але ви можете будь-коли змінити його.

3.3 Як створити групу томів LVM?

Група томів (VG) – це загальний пул пам’яті, який складається з кількох ініційованих фізичних томів. Цей пул можна конвертувати в логічні томи, і ви не будете обмежені розміром пам’яті фізичного диска. Усі диски всередині групи томів мають бути ініціалізовані.

Ви можете створити групу томів за допомогою такої команди:

$ sudo vgcreate vol_grp1 /dev/sda6 /dev/sda7

Тепер, щоб перевірити, чи все гаразд, скористайтеся командою:

$ sudo vgdisplay
Перевірка створення групи томів LVM

Тепер ми готові до створення логічних томів.

3.4 Як створити логічні томи LVM?

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

Як ви пам’ятаєте, у нас було два жорстких диски по 100 ГБ кожен. Але тепер ми створимо два логічних томи – 80 ГБі 120 ГБ. Для цього використовуємо таку команду:

$ sudo lvcreate -L 80G -n logical_vol1 vol_grp1

…де 80G – це розмір вашого тома.

Таким чином, команда для створення тому 100 ГБ матиме такий вигляд:

$ sudo lvcreate -L 100G -n logical_vol2 vol_grp1

Ви також можете використовувати наступні літери, щоб указати розмір тому:

  • B – байти;
  • K – кілобайти;
  • M – мегабайти;
  • G – гігабайти;
  • T – терабайти;

Щоб перевірити список створених логічних томів, скористайтеся командою:

$ sudo lvdisplay

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

3.5 Як підключити том LVM?

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

$ sudo mkfs.ext4 /dev/vol_grp1/logical_vol1
$ sudo mkfs.ext4 /dev/vol_grp1/logical_vol2

…де logical_vol1 і logical_vol2 є іменами наших томів.

Щоб підключити томи, використовуйте команди:

$ sudo mount /dev/vol_grp1/logical_vol1 /mnt/
$ sudo mount /dev/vol_grp1/logical_vol2 /mnt/

Тепер ви можете працювати з нашими логічними томами як зі звичайними дисками.

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

Типи томів у LVM

У LVM можна використовувати три типи томів – Лінійні томи, Страйпи та Дзеркальні томи .

Лінійні томи використовуються в LVM за замовчуванням. Фактично – це звичайні томи без допоміжних функцій: ніяких додаткових переваг щодо надійності чи продуктивності. Насправді вони схожі на RAID 0. Якщо ви хочете знати різницю між LVM і RAID – прочитайте статтю «Порівняння та різниця між RAID lvm та mdadm

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

$ sudo lvcreate -L 1G -i 2 -n logical_vol2 vol_grp1

…де -i – кількість страйпів (це число не може бути більшим за кількість фізичних дисків), а -L – розмір одного страйпа (не може бути більшим за розмір диска).

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

Наступним типом томів LVM є дзеркальний том. Цей том є аналогом RAID 1 і створює базу даних для кожного диска у групі.

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

Щоб створити дзеркальний том LVM, скористайтеся командою:

$ sudo lvcreate -L 200M -m1 -n lv_mirror vol_grp1

Як видалити або змінити розмір тома LVM?

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

5.1 Як змінити розмір логічного тому?

Ви можете змінити розмір логічних томів незалежно від вільного місця на фізичному диску. Якщо пул пам’яті має вільне місце, ви можете використовувати його для будь-якого логічного тому. Це можна зробити за допомогою команди lvextend. Давайте змінимо розмір нашого тому в LVM з 80 ГБ до 100 ГБ. Для цього скористаємось командою:

$ sudo lvextend -L+100G /dev/vol_grp1/logical_vol1

…де -L+100G – це новий розмір вашого тому.

Щоб зменшити розмір LVM, замість + використовуйте

Отже, команда для зменшення об’єму LVM виглядатиме так:

$ sudo lvextend -L-100G /dev/vol_grp1/logical_vol1

5.2 Як видалити том LVM?

Якщо вам не потрібен том LVM, його без проблем можна видалити. Але будьте обережні, оскільки усі дані будуть втрачені. Щоб видалити том LVM, скористайтеся командою:

$ sudo lvcreate -L 200M -m1 -n lv_mirror vol_grp1

Тепер ваш том LVM повністю видалений.

Моментальні снапшоти в LVM

Технологія LVM дозволяє створювати моментальні снапшоти. Це дуже корисно, якщо вам потрібно внести деякі зміни, але ви не впевнені в кінцевому результаті. Ви можете створити снапшот і в разі проблем «повернутися» до нього. У той же час вам не потрібно зупиняти машину, що особливо важливо для серверів у продакшн-компаніях, де багато співробітників можуть отримати доступ до даних.

Важливо: снапшот не є резервною копією.

Коли ви робите “знімок”, усі процеси запису припиняються на кілька мілісекунд (все залежить від обсягу даних і продуктивності сервера). Звичайний користувач не зверне на це уваги.

Крім того, у разі виникнення проблем ви можете швидко повернути сервер до робочого стану.

Для снапшотів не потрібно багато вільної пам’яті, тому вони дуже корисні.

У той же час ви не можете зберігати свій “знімок” надто довго, оскільки він завантажить ваш жорсткий диск і операційну систему. Ось чому для тривалого збереження корисніше регулярне резервне копіювання.

Щоб створити знімок у LVM, скористайтеся командою:

Lvcreate -L 1G -s -n snap_vg_data /dev/mapper/vg_data-lv_data

…де -L 1G – це обсяг пам’яті, зарезервований для знімка, а vg_data-lv_data – це його ім’я.

Щоб перевірити детальну інформацію про ваш снапшот, скористайтеся командою:

lvdisplay /dev/vg_data/snap_vg_data

Як бачите, створювати снапшоти в LVM швидко й легко.

LVM + RAID і RAID + LVM

Багато користувачів запитують: чи можна створити том LVM на основі RAID-масивів і навпаки – створити RAID-масив на основі томів LVM?

Відповідь “Так”. Але є деякі деталі, які ви повинні знати перед початком такого процесу.

Якщо ви хочете створити масив RAID на основі томів LVM, вам потрібно знати, як LVM поширює дані. Том LVM заповнюватиме перший диск, в той час як другий диск не використовуватиметься (під час лінійногорозподілу даних). Ідентифікатор цього процесу показаний на малюнку нижче:

Тиск на диск у лінійному розподілі даних

Таке розподілення є великою проблемою для SSD накопичувачів, оскільки сильно збільшує знос заповненого диска, до того ж суттєво знижує продуктивність системи. Навіть якщо ви будете використовувати метод парності (дві групи дисків з паритетом) — це не змінить ситуацію. Проблема полягає в тому, що парність використовуватиметься всередині групи, але не між усіма дисками. Заповнення другої групи почнеться лише тоді, коли перша група буде заповнена.

Навантаження на групу дисків під час лінійного розподілу даних

Тому кращим є том LVM на основі RAID-масивів. Утиліта mdadm правильно розподілить навантаження між дисками, а також ви зможете додати диски до свого сховища. Проблема полягає в тому, що LVM важко адмініструвати. Щоб правильно з ним працювати, потрібно знати багато команд.

Отже, якщо ви не фанат Linux, – це не ваш варіант. У такому випадку краще використовувати звичайний масив RAID, оскільки Windows і Mac OS не можуть працювати з LVM.

Що робити, якщо дані втрачені?

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

По-перше, не панікуйте та скористайтесь професійним інструментом для відновлення даних.

Наразі найефективнішим рішенням для отримання важливих даних із масиву RAID є RS RAID Retrieve.

Вбудований конструктор RAID відтворить ваш масив RAID або том LVM, і ви зможете перемістити свою інформацію в безпечне місце.

Давайте детальніше розглянемо, як ви можете отримати дані:

Крок 1. Завантажте та встановіть RS RAID Retrieve. Запустіть програму після встановлення. Перед вами відкриється вбудований «Конструктор RAID». Натисніть «Далі»

Головне вікно RAID Constructor

Крок 2. Виберіть спосіб додавання масиву RAID до тому LVM для сканування. RS RAID Retrieve пропонує три варіанти на вибір:

  • Автоматичний режим – дозволяє просто вказати диски, які складали масив або том LVM, і програма автоматично визначить їх порядок, тип масиву та інше параметри;
  • Пошук за виробником – цей параметр слід вибрати, якщо ви знаєте виробника свого RAID-контролера. Цей параметр також є автоматичним і не вимагає жодних знань про структуру масиву RAID. Наявність інформації виробника дозволяє скоротити час створення масиву, а отже, це швидше, ніж попередній варіант;
  • Створення вручну – цей параметр варто використовувати, якщо ви знаєте, який тип RAID ви використовуєте. При цьому ви можете вказати всі параметри, які вам відомі, а ті, які вам не відомі, програма визначить автоматично

Після того, як ви виберете відповідний параметр, натисніть «Далі».

Режим додавання RAID-масиву для сканування

Крок 3. Виберіть диски, які складають масив RAID або том LVM, і натисніть «Далі». Це запустить процес виявлення конфігурацій масиву. Після завершення натисніть «Готово».

Виявлення процесу налаштування масиву

Крок 4. Після того, як конструктор створить том LVM (або масив RAID на основі томів LVM), він відображатиметься як звичайний диск. Двічі клацніть лівою кнопкою миші на ньому. Перед вами відкриється Майстер відновлення файлів. Натисніть «Далі»

Вікно майстра відновлення файлів

Крок 5. RS RAID Retrieve запропонує просканувати ваш масив або LVM, щоб знайти файли для відновлення. У вас буде два варіанти: швидке сканування та повний аналіз масиву. Виберіть потрібний варіант. Потім виберіть тип файлової системи, який використовувався в масиві. Якщо ви не знаєте цієї інформації, перевірте всі доступні опції, як на скріншоті. Варто зазначити, що RS RAID Retrieve підтримує ВСІ сучасні файлові системи.

Виберіть тип сканування та файлову систему

Крок 6. Розпочнеться процес сканування. Коли він завершиться, ви побачите попередню структуру файлів і папок. Знайдіть потрібні файли, клацніть правою кнопкою миші на них і виберіть «Відновити»

Виберіть файли для відновлення

Крок 7. Укажіть місце, де будуть збережені відновлені файли. Це може бути жорсткий диск, ZIP-архів або FTP-сервер. Натисніть «Далі»

The place to store recovered files

Після натискання кнопки «Далі» програма почне процес відновлення. Після його завершення ви знайдете вибрані файли у вказаному місці.

Зрештою, коли файли успішно відновлені, повторно створіть том LVM, а потім скопіюйте файли назад.

Як ви бачите, за допомогою RS RAID Retrieve легко витягти важливі дані зі зламаної LVM. Крім того, вам не потрібне додаткове програмне чи апаратне забезпечення. Просто підключіть накопичувачі до ПК і скористайтеся наведеною вище інструкцією. Швидко та легко.

Поширені запитання

LVM (logical volume manager) – це технологія, яка дозволяє використовувати деякі частини вашого жорсткого диска (або кількох дисків) і об’єднувати їх в один логічний том для подальшої роботи. Завдяки цьому ви можете більш гнучко розподіляти загальний дисковий простір, оскільки ви не обмежені одним жорстким диском. LVM також працює з SSD-накопичувачами.
Ви можете створити групу томів за допомогою такої команди: $ sudo vgcreate vol_grp1 /dev/sda6 /dev/sda7
Для цього випадку використовуйте RS RAID Retrieve. Це найкращий інструмент на ринку сьогодні. Детальну інструкцію щодо отримання даних можна знайти на нашому сайті.
У LVM ви можете використовувати три типи томів – лінійні томи, страйпи та дзеркальні томи. Детальніше про те, як іх створити, читайте на нашому сайті.
Ви можете змінити розмір логічних томів незалежно від вільного місця на фізичному диску за допомогою цієї команди: $ sudo lvextend -L+100G /dev/vol_grp1/logical_vol1 де -L+100G – це розмір, до якого ви хочете збільшити ваш том.
Залишити коментар

Схожі публікації

Відновлення даних з NAS з OpenMediaVault
Відновлення даних з NAS з OpenMediaVault
OpenMediaVault (OMV) – спеціалізована операційна система для NAS-пристроїв, зроблених своїми руками. Базується на Debian Linux, одна з популярних операційних систем для NAS. Передбачає власними програмними засобами утворення сховища для даних на базі різних масивів жорстких дисків. Як при необхідності відновити … Continue reading
Відновлення файлів із флеш-накопичувачів SSD
Відновлення файлів із флеш-накопичувачів SSD
Існує багато суперечливої інформації щодо відновлення SSD-дисків. Метою цієї статті є спроба пояснити, що, коли і як може бути відновлено під час роботи безпосередньо з носіями SSD.
Synology DSM чи TrueNas: яка операційна система NAS краща
Synology DSM чи TrueNas: яка операційна система NAS краща
Зберігання та доступ до даних – один із ключових аспектів сучасного життя, і з кожним роком зростає необхідність у надійному та ефективному зберіганні даних. Одним із популярних рішень у цій області є пристрої зберігання на основі технології Network Attached Storage … Continue reading
Яку конфігурацію RAID вибрати для NAS?
Яку конфігурацію RAID вибрати для NAS?
Один із важливих критеріїв вибору пристрою NAS (мережеве сховище) – його можливість забезпечувати збереження даних з використанням RAID масивів. Однак, щоб забезпечити надійний захист даних, важливо вибрати правильну конфігурацію RAID. У цій статті ми розглянемо реалізацію RAID на різних пристроях … Continue reading
Online Chat with Recovery Software