Якщо ви вважаєте, що керування розділами диска означає вимкнути систему та сподіватися, що після перезавантаження все запрацює, то мені вас дуже шкода. Вибачте, що ви втрачаєте можливості монтування Linux LVM, і усвідомте, що керування сховищем не повинно бути таким болісним.
Цей посібник показує, як створити LVM у Linux, змонтувати розділи LVM і керувати логічними томами без простою. Ви дізнаєтесь про основні команди Linux LVM, які працюють на системах Ubuntu LVM і CentOS (точніше, їх сучасних замінниках).
TL; DR
- LVM створює гнучкий рівень зберігання між вашими фізичними дисками та файловими системами, дозволяючи змінювати розміри розділів під час роботи системи
- Встановити за допомогою apt встановити lvm2 на Ubuntu або dnf встановити lvm2 на Rocky Linux/AlmaLinux (CentOS мертва, використовуйте замість них)
- Створіть LVM, ініціалізувавши диски за допомогою pvcreate, групуючи їх за допомогою vgcreate, і різьблення логічних томів с lvcreate
- Монтуйте розділи LVM, як і будь-який інший розділ після форматування за допомогою mkfs.ext4 і додавання записів до /etc/fstab
- Ключові команди: pvs, vgs, лв показати свої налаштування; розмір розміру змінює розміри на льоту; lvcreate -s створює знімки
Що таке LVM в Linux?

LVM (Logical Volume Manager) знаходиться між вашими фізичними дисками та файловими системами. Замість того, щоб вирізати фіксовані розділи безпосередньо на дисках, LVM створює гнучкий рівень, де ви можете змінювати розмір, переміщувати та зберігати знімки, поки все залишається онлайн.
Ось що відбувається під капотом. Ваші фізичні диски стають «фізичними томами». Вони об’єднуються в «групи томів». З цих груп ви створюєте «логічні томи», які діють як звичайні розділи, але з реальною гнучкістю.
Практична різниця проявляється, коли вам потрібно більше місця. Традиційні розділи змушують вас вимикати роботу, завантажуватися з USB і молитися, щоб не втратити дані. З LVM ви виконуєте одну команду, поки ваша система продовжує працювати. Я дізнався про це під час міграції сервера під час розширення / додому на 200 ГБ зайняло приблизно 30 секунд замість цілих вихідних.
Як працюють фізичні томи
Фізичний том — це будь-який пристрій зберігання, який може використовувати LVM. Жорсткі диски, твердотільні накопичувачі, RAID-масиви, навіть пристрої циклу враховуються. Ви ініціалізуєте їх за допомогою pvcreate, який записує метадані LVM і позначає пристрій як доступний для груп томів.
Фізичному тому байдуже, яке обладнання знаходиться під ним. Цей обертовий диск на 500 ГБ і ваш новий диск NVMe на 2 ТБ виглядають однаково для LVM. Це важливо, коли ви поєднуєте та підбираєте пам’ять.
Розуміння груп томів
Групи томів об’єднують кілька фізичних томів в одну одиницю зберігання. Подумайте про об’єднання трьох дисків по 1 ТБ в один пул на 3 ТБ. Ви створюєте групи томів за допомогою vgcreate і може додавати або видаляти фізичні томи щоразу, коли змінюється ємність.
Такий підхід до об’єднання означає, що ви не прив’язані до дискового планування. Потрібно більше місця? Додайте ще один диск до групи томів. Заміна старого накопичувача? Перемістіть дані з нього за допомогою pvmove поки система працює, потім замініть апаратне забезпечення.
Що роблять логічні томи

Логічні томи – це те, що ви фактично використовуєте. Вони вирізані з груп об’ємів і поводяться як звичайні розділи. Форматуйте їх за допомогою ext4 або xfs, монтуйте будь-де та будь-коли змінюйте розмір. Різниця в тому, що вони не прив’язані до меж фізичного диска.
Коли ти біжиш lvcreate -L 50G -n datavg, ви виділяєте 50 ГБ із пулу групи томів. Цей простір може надходити з одного диска або розподілятися на кількох дисках. Вам байдуже, тому що LVM займається розповсюдженням.
Пояснення фізичних розмірів
Фізичні екстенти — це найменша одиниця розподілу в LVM, зазвичай це блоки розміром 4 МБ. Коли ви створюєте логічний том, LVM виділяє фізичні екстенти з групи томів. Цей детальний підхід дає змогу точно змінювати розмір томів.
Розмір екстенту має значення для великих обсягів. Більші екстенти означають менше витрат метаданих, але більш грубий розподіл. 4 МБ за замовчуванням працюють у більшості випадків. Я ніколи не змінював його за межами масивних масивів зберігання, де математика віддає перевагу більшим екстентам.
Знімки для резервного копіювання на певний момент часу
Знімки фіксують стан логічного тому в певний момент. LVM використовує технологію копіювання при записі. Вихідні дані залишаються на місці. Коли щось змінюється, LVM зберігає старі блоки у знімку, записуючи нові дані в основний том.
Хочете перевірити оновлення системи? Спочатку зробіть знімок. Щось ламається? Відновити зі знімка. Вся операція займає секунди, оскільки LVM відстежує лише змінені блоки, а не копіює все.
Я знімаю робочі бази даних перед серйозними змінами схеми. Спокій майже нічого не коштує накладних витрат, і я тричі уникав повних перебудов, відкочуючи невдалі міграції.
Коли використовувати LVM Striping
Смуга поділяє дані на кілька фізичних томів, аналогічний RAID 0. Коли ви записуєте файл, LVM розподіляє фрагменти на різні диски одночасно. Це розпаралелювання прискорює як читання, так і запис, особливо для великих файлів або баз даних.
Підвищення продуктивності залежить від вашого робочого навантаження. Найбільшу користь приносить послідовне читання великих файлів. Шаблони довільного доступу покращуються менше. Сервери баз даних і робочі станції для редагування відео помічають реальні відмінності.
LVM Mirroring для резервування
Дзеркалювання дублює дані на фізичних томах. Якщо один диск виходить з ладу, ваші дані залишаються на дзеркалі. LVM виконує синхронізацію автоматично. Зниження продуктивності того варте, коли час простою коштує дорожче, ніж додаткове сховище.
Сучасні налаштування часто використовують RAID для резервування та LVM поверх для гнучкості. Ви отримуєте захист на апаратному рівні та керування на програмному рівні. Комбінація працює краще, ніж покладатися на будь-яке окремо.
Якщо ви порівнюєте підходи до керування сховищем, перевірте LVM проти ZFS щоб зрозуміти, коли кожен має сенс для вашого робочого навантаження.
Як встановити LVM на Ubuntu та CentOS?

Встановлення LVM займає приблизно 60 секунд, якщо ви знаєте правильні команди. Сучасні дистрибутиви Linux обробляють залежності автоматично. Ви встановлюєте пакет, перевіряєте його роботу та готові до налаштування сховища.
Одне важливе зауваження перед початком: у 2020 році CentOS закінчилася. Якщо ви все ще використовуєте CentOS, перейдіть на Rocky Linux або AlmaLinux. Це замінники, які фактично отримують оновлення безпеки. Наведені тут команди однаково працюють у Rocky Linux 9, AlmaLinux 9, Ubuntu 24.04 і поточних версіях Debian.
Спочатку оновіть свою систему
Почніть з оновлення списку пакетів вашої системи. Це гарантує, що ви отримаєте останню версію LVM2 з усіма виправленнями безпеки та виправленнями помилок.
Для систем Ubuntu:
sudo apt оновлення
Для систем на основі CentOS (Rocky Linux/AlmaLinux):
sudo dnf оновлення
Використання сучасних систем на основі RHEL dnf як менеджер пакунків. Якщо ви бачите старі підручники зі згадками смакота, ігноруйте їх. DNF замінив yum у 2015 році з кращим вирішенням залежностей і продуктивністю.
Встановіть пакет LVM2
Назва пакета lvm2 у всіх дистрибутивах. Інсталяція автоматично втягує залежності, включаючи інструменти відображення пристроїв і відповідні бібліотеки.
Установка Ubuntu Logical Volume Manager:
sudo apt інсталювати lvm2
Інсталяція CentOS Logical Volume Manager (Rocky/AlmaLinux):
sudo dnf встановити lvm2
Дочекайтеся завершення встановлення. Займає 10-15 секунд на сучасному обладнанні з пристойним інтернетом. Розмір пакета невеликий, приблизно 2-3 МБ плюс залежності.
Перевірте успішність встановлення
Переконайтеся, що LVM2 встановлено правильно, і подивіться, яку версію ви використовуєте:
версія sudo lvm
Ви побачите інформацію про версію та деталі збірки. Поточні версії працюють 2.03.x або вище. Якщо команда не виконується або повертає «команду не знайдено», під час інсталяції щось пішло не так.
Сучасні дистрибутиви на основі systemd автоматично активують LVM під час завантаження. Вам не потрібно вмикати служби вручну, як у старих системах ініціалізації. Генератор активації lvm2 обробляє все. Це одна річ, яку потрібно налаштувати менше.
Хочете протестувати LVM у системі, яка не зберігає ваші важливі дані? Розгляньте розкручування a найкращий Linux VPS де ви можете експериментувати, не ризикуючи виробничими файлами.
Як створити LVM в Linux?

Створення LVM складається з трьох кроків: ініціалізація фізичних томів, групування їх у групу томів і виділення логічних томів. Процес звучить складніше, ніж насправді. Загалом ви запустите, можливо, шість команд.
Перш ніж почати, визначте, які диски ви хочете використовувати. Наведені тут приклади використовують /dev/sdX як заповнювачі. Фактичні назви ваших пристроїв відрізнятимуться. бігти lsblk щоб побачити, що підключено до вашої системи.
Ініціалізація фізичних томів
Фізичні томи повідомляють LVM, які диски він може використовувати. Ініціалізувати диск за допомогою pvcreate:
sudo pvcreate /dev/sdb
Замінити /dev/sdb з вашим фактичним пристроєм. Це записує метадані LVM на диск і позначає їх доступними. Накопичувач більше не потребує традиційних схем розділення.
Хочете ініціалізувати кілька дисків одночасно? Перелічіть їх усіх:
sudo pvcreate /dev/sdb /dev/sdc /dev/sdd
LVM обробляє їх разом. Перевірте, що ви створили:
sudo pvs
Тут показано всі фізичні томи, їхній розмір і групу томів, до якої вони належать (ще жодної).
Створіть групу томів
Групи томів об’єднують фізичні томи в одну одиницю зберігання. Створіть групу томів під назвою «datavg»:
sudo vgcreate datavg /dev/sdb
Додайте кілька дисків до однієї групи під час створення:
sudo vgcreate datavg /dev/sdb /dev/sdc
Тепер ці диски діють як один пул. Перевірте групу томів:
sudo vgs
Ви побачите загальний розмір, скільки виділено для логічних томів і скільки залишається вільним для майбутнього розподілу.
Створення логічних томів
Логічні томи – це те, що ви фактично форматуєте та монтуєте. Вони вирізані з доступного простору групи томів. Створіть том 50 ГБ:
sudo lvcreate -L 50G -n datavg
Це створює логічний том під назвою «data» з групи томів «datavg». Повний шлях пристрою стає /dev/datavg/data.
Бажаєте використовувати весь доступний простір замість того, щоб вказувати розмір?
sudo lvcreate -l 100% БЕЗКОШТОВНО -n datavg
The -l 100% БЕЗКОШТОВНО параметр виділяє кожен байт, що залишився. Корисно для простих налаштувань, коли один логічний том використовує всю групу томів.
Відформатуйте логічний том
Для логічних томів потрібні файлові системи, як і для будь-якого розділу. Форматувати за допомогою ext4:
sudo mkfs.ext4 /dev/datavg/data
Для невеликих обсягів це займає кілька секунд, для великих — довше. Вихідні дані показують кількість блоків та інформацію про inode. Якщо щось не вийде, ви можете ігнорувати деталі.
Хочете натомість xfs? Замініть ext4 на xfs. Обидва працюють добре. Ext4 частіше зустрічається в системах Ubuntu. Rocky Linux за умовчанням використовує xfs для більшості випадків використання.
Будьте дуже обережні з командами LVM. Вони безпосередньо змінюють вашу інфраструктуру зберігання. Одного разу я помилився в назві пристрою та стер 2 ТБ файлів клієнта. Зробіть резервні копії критично важливих даних, перш ніж запускати будь-що, що змінює конфігурацію сховища.
Як монтувати розділи LVM?
Монтування розділу LVM працює так само, як і будь-який інший розділ. Ви створюєте каталог точки монтування, запускаєте команду монтування та, за бажанням, додаєте до нього запис /etc/fstab для автоматичного встановлення під час завантаження.
Єдина відмінність – шлях пристрою. Замість того, щоб /dev/sda1, ви використовуєте /dev/volumegroup/logicalvolume. Все інше залишається без змін.
Створіть каталог точок монтування
Точки монтування — це лише каталоги, з яких ви отримуєте доступ до файлової системи. Створіть його там, де це зручно для вашого випадку використання:
sudo mkdir /mnt/data
Використовуйте описові назви. /mnt/дані, /mnt/backup, /home/shared всі роботи. Розташування не впливає на функціональність. Деякі люди віддають перевагу /mnt для тимчасового монтування та виділених каталогів під / для постійних.
Змонтуйте логічний том
Змонтуйте відформатований логічний том до точки монтування:
sudo mount /dev/datavg/data /mnt/data
Замініть шлях пристрою та точку монтування своїми фактичними значеннями. Файлова система тепер доступна за адресою /mnt/дані. Усі файли, які ви там створюєте, зберігаються на логічному тому.
Переконайтеся, що монтування виконано успішно:
df -h /mnt/дані
Ви побачите загальний розмір тому, використаний простір, доступний простір і точку підключення. Якщо нічого не відображається, команда монтування не виконана. Перевірте шлях свого пристрою та переконайтеся, що логічний том існує з лв.
Зробіть кріплення постійними
Тимчасові монтування зникають після перезавантаження. Додати записи до /etc/fstab для постійного кріплення:
sudo nano /etc/fstab
Додайте цей рядок у кінці:
/dev/datavg/data /mnt/data ext4 за замовчуванням 0 0
Формат: пристрій, точка монтування, тип файлової системи, параметри монтування, пріоритет дампа, порядок fsck. Нулі в кінці добре працюють у більшості ситуацій. Зміна ext4 щоб відповідати будь-якій файловій системі, яку ви фактично використовували.
Збережіть і вийдіть з редактора. Перевірте запис fstab без перезавантаження:
sudo mount -a
Це монтує все у fstab, що ще не змонтовано. Якщо ви бачите помилки, ви щось неправильно ввели у fstab. Виправте це перед перезавантаженням, інакше ваша система може не запускатися належним чином.
Продуктивність має значення, коли ви монтуєте томи для виробничих робочих навантажень. Після налаштування конфігурації LVM перевірити швидкість диска в Linux для порівняння фактичної пропускної здатності та затримки.
Підключіть LVM під час встановлення Ubuntu
Інсталятор Ubuntu підтримує налаштування LVM під час налаштування системи. Коли ви досягнете екрана розділів, виберіть «Ручне» розділення та виберіть «Налаштувати диспетчер логічних томів».
Цей підхід добре працює для нових установок. Ви налаштовуєте групи томів і логічні томи перед встановленням операційної системи. Установник справляється /etc/fstab записи автоматично.
Для існуючих систем підхід командного рядка, наведений вище, дає вам більше контролю та дозволяє точно зрозуміти, що відбувається на кожному кроці.
Усунення проблем з монтуванням
Якщо ваш розділ LVM не монтується, спершу перевірте ці типові проблеми:
Група томів не активована:
sudo vgchange -ay
Це активує всі групи томів. Іноді вони не активуються автоматично після додавання нових дисків або перезавантаження.
Неправильний шлях пристрою: Переконайтеся, що логічний том існує за допомогою лв і використовувати повний шлях, наприклад /dev/volumegroup/logicalvolume, а не ярлики.
Помилки файлової системи: Запустіть перевірку файлової системи на немонтованому тому:
sudo fsck /dev/datavg/data
Пошкодження файлової системи запобігає монтуванню. Інструмент fsck може автоматично виправити багато проблем.
Які основні команди Linux LVM?
Команди Linux LVM дозволяють керувати всіма налаштуваннями сховища з командного рядка. Це ті, які ви насправді використовуватимете на практиці, а не теоретичні команди із застарілої документації.
Відображення фізичних томів
Переглянути всі фізичні томи у вашій системі:
sudo pvs
Тут показано коротку таблицю з назвами пристроїв, групами томів, форматом, атрибутами, розміром і вільним місцем. Для отримання детальної інформації про конкретний фізичний том:
sudo pvdisplay /dev/sdb
Детальний перегляд містить фізичний розмір екстенту, загальну кількість екстентів, виділені екстенти та UUID. Корисно, коли вам потрібні точні цифри для планування потужності.
Відображення груп томів
Перелічіть усі групи томів:
sudo vgs
Ви побачите назви груп томів, кількість фізичних томів, кількість логічних томів, атрибути, загальний розмір і вільний простір. Для повної інформації:
sudo vgdisplay datavg
Тут показано все: розмір екстенту, загальну кількість екстентів, політику розподілу та UUID. Я використовую це під час планування нових логічних томів, щоб точно побачити, скільки місця залишилося.
Відображення логічних томів
Список усіх логічних томів:
sudo lvs
Вихідні дані показують імена логічних томів, їхні групи томів, атрибути, розмір і фізичні екстенти, які вони використовують. Для повної інформації:
sudo lvdisplay /dev/datavg/data
Це показує шлях логічного тому, блоковий пристрій, час створення, стан і сегменти. Допомагає під час усунення проблем із монтуванням або перевірки зв’язків знімків.
Розширити групи томів
Додайте фізичні томи до наявних груп томів, якщо вам потрібна додаткова ємність:
sudo vgextend datavg /dev/sdd
Це додає /dev/sdd до групи томів “datavg”. Вільний простір одразу стає доступним для наявних логічних томів або створення нових. Перезавантаження не потрібно.
Таким чином я додав диск на 2 ТБ до своєї групи томів резервного копіювання, поки резервне копіювання активно виконувалося. Вся операція зайняла близько 5 секунд.
Змінити розмір логічних томів
Розширте логічний том, щоб надати йому більше місця:
sudo lvresize -L +50G /dev/datavg/data
Це додає 50 ГБ до логічного тому. Після зміни розміру розширте файлову систему, щоб використовувати новий простір:
Для ext4:
sudo resize2fs /dev/datavg/data
Для xfs:
sudo xfs_growfs /mnt/data
Файлова система збільшується, щоб заповнити логічний том. Усе відбувається, поки том залишається змонтованим і використовується. Користувачі не помічають нічого, крім збільшення вільного простору.
Натомість хочете зменшитися? Це більш ризиковано і вимагає спершу демонтування. Завжди створюйте резервні копії, перш ніж зменшувати томи.
Створення миттєвих знімків томів
Знімки фіксують поточний стан логічного тому для резервного копіювання або тестування:
sudo lvcreate -s -L 10G -n знімок даних /dev/datavg/data
Це створює знімок логічного тому «data» розміром 10 ГБ під назвою «data-snapshot». Знімок використовує технологію копіювання при записі. Йому потрібен простір лише для змінених блоків, а не для всього обсягу.
Підключіть знімок лише для читання для узгодженого резервного копіювання:
sudo mkdir /mnt/snapshot
sudo mount -o ro /dev/datavg/data-snapshot /mnt/snapshot
Резервне копіювання з /mnt/snapshot тоді як оригінальний том продовжує отримувати записи. Це чітко вирішує проблему «як створити резервну копію живої бази даних».
Видаліть логічні томи
Видаліть логічні томи, які вам більше не потрібні:
sudo lvremove /dev/datavg/old-data
Команда запитує підтвердження перед видаленням. Це назавжди знищує логічний том і всі дані на ньому. Переконайтеся, що у вас є резервні копії всього важливого.
Переміщення фізичних екстентів
Перемістіть дані з фізичного тому перед його видаленням:
sudo pvmove /dev/sdb
LVM автоматично переміщує всі фізичні екстенти з /dev/sdb до інших фізичних томів у групі томів. Операція виконується у фоновому режимі, поки система залишається онлайн.
Це врятувало мене, коли диск почав показувати помилки SMART. Я перемістив усе з несправного диска, видалив його з групи томів і замінив під час періоду обслуговування. Нуль простоїв.
Сканування груп томів
Іноді групи томів не відображаються після додавання нових дисків або перезавантаження. Примусове сканування:
sudo vgscan
sudo vgchange -ay
Перша команда сканує групи томів. Другий активує все, що знайде. Ваші логічні томи знову стають доступними.
Якщо ви налаштовуєте Ubuntu LVM для середовищ розробки, вам також можуть знадобитися посібники встановлення Hadoop на Ubuntu, встановлення Redis на Ubuntu, або встановлення XRDP на Ubuntu для віддаленого доступу до систем, керованих LVM.
Висновок
LVM перетворює керування сховищем Linux із жорсткого планування розділів на гнучкий розподіл ємності. Ви отримуєте динамічну зміну розміру, знімки на певний момент часу та можливість об’єднувати різні диски в об’єднані простори зберігання. Усе це при збереженні систем онлайн.
Основний робочий процес залишається узгодженим у всіх дистрибутивах. Ініціалізація фізичних томів за допомогою pvcreate, об’єднайте їх у групи томів за допомогою vgcreate, вирізати логічні томи с lvcreate, відформатуйте їх за допомогою бажаної файлової системи та змонтуйте як будь-який інший розділ. Команди працюють однаково в налаштуваннях Ubuntu LVM і Rocky Linux.
Почніть з малого, якщо ви новачок у керуванні логічним томом. Створіть тестову групу томів на резервному диску. Практикуйте змінювати розміри логічних томів, робити знімки та переміщувати дані між фізичними томами. Помилки менш завдають шкоди, коли вони стаються на невиробничому сховищі.
Одне нагадування про CentOS: вона мертва. Натомість використовуйте Rocky Linux або AlmaLinux. Вони бінарно сумісні з RHEL і фактично обслуговуються. Команди LVM працюють однаково, але ви отримуєте важливі оновлення безпеки.
Хочете практикувати LVM, не ризикуючи своїми локальними файлами? Розкрутити Ubuntu VPS де можна вільно експериментувати. Ламайте речі, вчіться на помилках і освоюйте команди, перш ніж застосовувати їх у виробничих системах.
Отримайте собі економний або преміальний Linux VPS для розміщення вашого веб-сайту або віддаленого робочого столу за найнижчою ціною. VPS працює на Linux KVM для підвищення ефективності та працює на потужному апаратному забезпеченні з накопичувачем NVMe SSD для збільшення швидкості.
Детальніше