Як керувати та використовувати LVM (Logical Volume Management) в Ubuntu
У нашій попередній статті ми розповідали вам, що таке LVM і що ви можете використовувати для неї, і сьогодні ми збираємося ознайомитися з деякими ключовими інструментами керування LVM, щоб ви були впевнені при створенні або розширенні установки.
Як було сказано раніше, LVM - це рівень абстракції між операційною системою та фізичними жорсткими дисками. Що це означає, що ваші фізичні жорсткі диски і розділи більше не прив'язані до жорстких дисків і розділів, на яких вони перебувають. Швидше за все, жорсткі диски та розділи, які бачать ваші операційні системи, можуть бути будь-якою кількістю окремих жорстких дисків, об'єднаних разом або в програмному RAID.
Для керування LVM доступні інструменти графічного інтерфейсу, але для того, щоб дійсно зрозуміти, що відбувається з конфігурацією LVM, можливо, краще знати, що таке інструменти командного рядка. Це буде особливо корисно, якщо ви керуєте LVM на сервері або дистрибутиві, який не пропонує інструментів графічного інтерфейсу.
Більшість команд в LVM дуже схожі один на одного. Кожній дійсній команді передує одне з наступного:
- Фізичний обсяг = pv
- Обсяг групи = vg
- Логічний обсяг = lv
Команди фізичного обсягу призначені для додавання або видалення жорстких дисків у групах томів. Команди групи томів призначені для зміни того, який абстрагований набір фізичних розділів представлений у вашій роботі в логічних томах. Команди логічних томів подадуть групи томів як розділи, щоб операційна система могла використовувати виділений простір.
Завантажуваний аркуш LVM
Щоб допомогти вам зрозуміти, які команди доступні для кожного префікса, ми зробили шпаргалку LVM. Ми розглянемо деякі з команд у цій статті, але є ще багато, що ви можете зробити, які не будуть розглянуті тут.
Всі команди в цьому списку повинні бути запущені як root, тому що ви змінюєте загальносистемні налаштування, які вплинуть на всю машину.
(Натисніть на мініатюру для зображення в повному розмірі)
Як переглянути поточну інформацію LVM
Перше, що вам потрібно зробити, це перевірити, як налаштовано ваш LVM. The s
і відображення
команди працюють з фізичними томами (pv), групами томів (vg) і логічними томами (lv), тому це хороше місце, щоб почати при спробі з'ясувати поточні налаштування.
The відображення
команда відформатує інформацію, щоб її було легше зрозуміти, ніж 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
= Створити новий розділстор
= створює первинний розділ1
= робить перший розділ на диску
Натисніть двічі, щоб прийняти перший циліндр за замовчуванням і останній циліндр.
Для підготовки розділу, який буде використовуватися LVM, використовуйте наступні дві команди.
t
= змінити тип розділу8e
= змінює тип розділу LVM
Перевірте та запишіть інформацію на жорсткий диск.
стор
= перегляд налаштувань розділів, щоб ми могли переглядати, перш ніж писати зміни на дискw
= запис змін на диск
Після цих команд викличте fdisk, і ви повернетеся до запиту bash вашого терміналу.
Enter 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, залежно від того, з якими роботами ви працюєте.
змінити розмір
- може зменшувати або розширювати фізичні томи та логічні томи, а не групи томіврозширити
- може зробити групи гучності та логічні томи більшими, але не меншимизменшити
- може зробити групи гучності та логічні томи меншими, але не більшими
Пройдемо приклад того, як додати новий жорсткий диск до логічного тому “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.
- змінити розмір файлової системи (переконайтеся, що файли переміщено до безпечної області жорсткого диска перед зміною розміру)
- зменшити логічний том (замість + розширити можна також - зменшити розмір)
- видалити жорсткий диск з групи томів з vgreduce
Резервне копіювання логічного тома
Знімки є особливістю, з якою приходять деякі більш просунуті файлові системи, але ext3 / 4 не має можливості робити знімки на льоту. Однією з найхолодніших моментів створення знімків LVM є ваша файлова система, яка ніколи не знімається в автономному режимі, і ви можете мати стільки, скільки ви хочете, не займаючи додаткового місця на жорсткому диску.
Коли LVM робить знімок, береться зображення, як саме виглядає логічний том і що зображення можна використовувати для створення копії на іншому жорсткому диску. Під час створення копії будь-яка нова інформація, яка повинна бути додана до логічного тому, записується на диск так само, як звичайно, але зміни відстежуються так, що оригінальне зображення ніколи не буде знищено.
Щоб створити знімок, нам необхідно створити новий логічний том з достатньом вільним простором для зберігання будь-якої нової інформації, яка буде записана в логічний том, коли ми зробимо резервну копію. Якщо накопичувач не активно записується, можна використовувати дуже невелику кількість пам'яті. Як тільки ми зробимо з нашою резервною копією, ми просто вилучимо тимчасовий логічний том і оригінальний логічний том продовжуватиметься як звичайно.
Створити новий знімок
Щоб створити знімок lvstuff, скористайтеся командою lvcreate, як і раніше, але використовуйте прапорець -s.
lvcreate -L512M -s -n lvstuffbackup / dev / vgpool / lvstuff
Тут ми створили логічний том лише з 512 Мб, тому що диск не використовується активно. 512 Мб зберігатимуть будь-які нові записи під час створення резервної копії.
Встановіть новий знімок
Так само, як і раніше, потрібно створити точку монтування і змонтувати новий знімок, щоб ми могли копіювати з нього файли.
mkdir / mnt / lvstuffbackup
монтуйте / dev / vgpool / lvstuffbackup / mnt / lvstuffbackup
Скопіювати знімок і видалити логічний том
Все, що вам залишилося зробити, це скопіювати всі файли з / mnt / lvstuffbackup / на зовнішній жорсткий диск або скопіювати його так, щоб все було в одному файлі.
Примітка: tar -c створить архів і -f скаже розташування і ім'я файлу архіву. Для допомоги з використанням команди tar людина смоли
в терміналі.
tar -cf / home / rothgar / Резервне копіювання / 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. Якщо у вас є певний досвід з цієї теми, не забудьте поділитися своєю мудрістю в коментарях.