Як керувати і використовувати LVM (керування логічними томами) в Ubuntu

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


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


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

Більшість команд в LVM дуже схожі один на одного. Кожній дійсній команді передує одне з наступного:

  • Фізичний обсяг = PV
  • Група томів = VG
  • Логічний об "єм = лв

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

Завантажений шпаргалка LVM

Щоб допомогти вам зрозуміти, які команди доступні для кожного префікса, ми створили шпаргалку LVM. Ми розглянемо деякі команди в цій статті, але багато чого ще можна зробити, але тут не буде.

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

:


(Натисніть на зображення для перегляду в повному розмірі)

Як переглянути поточну інформацію LVM

Перше, що вам може знадобитися, це перевірити, як налаштований ваш LVM. Команди s і display працюють з фізичними томами (pv), групами томів (vg) і логічними томами (lv), так що це гарне місце для початку при спробі з'ясувати поточні налаштування.

Команда display форматує інформацію, тому її легше зрозуміти, ніж команду s. Для кожної команди ви побачите назву і шлях до pv/vg, а також інформацію про вільний і використовуваний простір.

Найбільш важливою інформацією буде ім'я PV і ім'я VG. З цими двома частинами інформації ми можемо продовжити роботу над налаштуванням LVM.

Створення логічного тому

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

Створити фізичний том

Ми почнемо з нуля з абсолютно нового жорсткого диска без розділів або інформації про нім. Почніть з пошуку диска, з яким ви будете працювати. (/dev/sda, sdb тощо)

Примітка. Пам'ятайте, що всі команди потрібно буде запускати з правами root або шляхом додавання «sudo» до початку команди.


fdisk -l

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

Наш новий диск знаходиться в/dev/sdb, тому давайте використовуємо fdisk для створення нового розділу на диску.

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

Введіть такі команди з термінала:


fdisk /dev/sdb

Це помістить вас у спеціальну підказку fdisk.

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

Попередження: наступні кроки форматують ваш жорсткий диск. Переконайтеся, що у вас немає жодної інформації на цьому жорсткому диску, перш ніж виконувати наступні дії:

  • n = створити новий розділ
  • p = створює основний розділ
  • 1 = робить розділ першим на диску

Натисніть enter двічі, щоб прийняти перший циліндр за замовчуванням і останній циліндр.


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

  • t = змінити тип розділу
  • 8e = зміна типу розділу LVM

Перевірте і запишіть інформацію на жорсткий диск.

  • p = переглянути параметри розділу, щоб ми могли переглянути перед записом змін на диск
  • w = записати зміни на диск

Після цих команд запрошення fdisk має завершитися, і ви повернетеся до запрошення bash вашого термінала.

Введіть pvcreate/dev/sdb1, щоб створити фізичний том LVM у щойно створеному розділі.

Ви можете запитати, чому ми не відформатували розділ з файловою системою, але не хвилюйтеся, цей крок настане пізніше.


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

vgcreate vgpool /dev/sdb1

Vgpool - це ім'я нової групи томів, яку ми створили. Ви можете називати його як завгодно, але рекомендується вказувати vg на початку мітки, тому, якщо ви зверніться до нього пізніше, ви дізнаєтеся, що це група томів.

Створити логічний том

Щоб створити логічний той, який буде використовувати LVM:

lvcreate -L 3G -n lvstuff vgpool

Команда -L визначає розмір логічного тому, в даному випадку 3 ГБ, а команда -n називає том. Посилання на Vgpool таке, що команда lvcreate знає, з якого тому отримати простір.

Форматувати і монтувати логічний том

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

mkfs -t ext3 /dev/vgpool/lvstuff

Створіть точку монтування, а потім змонтуйте те те, де ви можете його використовувати.

mkdir /mnt/stuff
mount -t ext3 /dev/vgpool/lvstuff /mnt/stuff

Зміна розміру логічного тому

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

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

Примітка. Кожній з цих команд повинен передувати pv, vg або lv, залежно від того, з чим ви працюєте.

  • resize - може зменшити або розширити фізичні томи і логічні томи, але не групи томів
  • extend - може зробити групи томів і логічні томи більше, але не менше
  • reduce - може зробити групи томів і логічні томи меншими, але не більшими

Розгляньмо приклад додавання нового жорсткого диска в логічний том «lvstuff», який ми щойно створили.

Встановіть та відформатуйте новий жорсткий диск

Щоб встановити новий жорсткий диск, виконайте описані вище кроки, щоб створити новий розділ і додати зміну його типу розділу в LVM (8e). Потім використовуйте pvcreate для створення фізичного тому, який LVM зможе розпізнати.

Додати новий жорсткий диск до групи томів

Щоб додати новий жорсткий диск до групи томів, вам просто потрібно знати, який у вас новий розділ, у нашому випадку/dev/sdc1, і ім'я групи томів, в яку ви хочете додати його.

Це додасть новий фізичний том в існуючу групу томів.

vgextend vgpool /dev/sdc1

Розширити логічний том

Щоб змінити розмір логічного тому, ми повинні сказати, скільки ми хочемо розширити за розміром, а не за пристроєм. У нашому прикладі ми щойно додали жорсткий диск 8 ГБ до нашого 3 ГБ vgpool. Щоб використовувати цей простір, ми можемо використовувати lvextend або lvresize.

lvextend -L8G /dev/vgpool/lvstuff

Поки ця команда буде працювати, ви побачите, що вона фактично змінить наш логічний том до 8 ГБ замість того, щоб додати 8 ГБ до існуючого того, як ми хотіли. Щоб додати останні 3 гігабайти, вам слід використовувати наступну команду.

lvextend -L+3G /dev/vgpool/lvstuff

Тепер наш логічний том має розмір 11 ГБ.

Розширити файлову систему

Логічний том становить 11 ГБ, але файлова система на цьому томі все ще тільки 3 ГБ. Щоб використовувати файлову систему всі 11 ГБ, вам слід скористатися командою resize2fs. Просто вкажіть resize2fs на логічний том 11 ГБ, і він зробить чарівність за вас.

resize2fs /dev/vgpool/lvstuff

Примітка. Якщо ви використовуєте іншу файлову систему, крім ext3/4, ознайомтеся із засобами зміни розміру файлових систем.

Стиснення логічного тому

Якщо ви хочете вилучити жорсткий диск з групи томів, вам потрібно буде виконати описані вище кроки в зворотному порядку і використовувати замість lvreduce і vgreduce.

  1. змінити розмір файлової системи (перш ніж змінити розмір, переконайтеся, що файли пересуваються в безпечну область жорсткого диска)
  2. зменшити логічний том (замість + для розширення ви також можете використовувати - щоб зменшити за розміром)
  3. вилучити жорсткий диск з групи томів за допомогою vgreduce

Резервування логічного тому

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

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

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

Створити новий знімок

Щоб створити знімок lvstuff, скористайтеся командою lvcreate, як і раніше, але використовуйте прапор -s.

lvcreate -L512M -s -n lvstuffbackup /dev/vgpool/lvstuff

Тут ми створили логічний том тільки з 512 МБ, тому що диск не використовується активно. 512 МБ будуть зберігати будь-які нові записи, поки ми робимо нашу резервну копію.

Змонтувати новий знімок

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

mkdir /mnt/lvstuffbackup
mount /dev/vgpool/lvstuffbackup /mnt/lvstuffbackup

Копіювати знімок і вилучити логічний том

Все, що вам залишилося зробити, це скопіювати всі файли з/mnt/lvstuffbackup/на зовнішній жорсткий диск або скопіювати їх, щоб вони були в одному файлі.

Примітка: tar -c створить архів, а -f повідомить розташування і назву файла архіву. Для допомоги з командою tar використовуйте man tar в терміналі.

tar -cf /home/rothgar/Backup/lvstuff-ss /mnt/lvstuffbackup/

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

Після завершення резервування вимкніть той та вилучіть тимчасовий знімок.

umount /mnt/lvstuffbackup
lvremove /dev/vgpool/lvstuffbackup/

Вилучення логічного тому

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

Ось всі команди, що використовують томи і групи, які ми створили.

umount /mnt/lvstuff
lvremove /dev/vgpool/lvstuff
vgremove vgpool
pvremove /dev/sdb1 /dev/sdc1

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

COM_SPPAGEBUILDER_NO_ITEMS_FOUND