І так, в цій статті мова піде про таку чудової речі як LVM (Logical Volume Manager). Навіщо він потрібен, і що це взагалі таке?
Думаю, будь-який користувач комп'ютера стикався з тим, що вільне місце на його диску з часом закінчується. Так ось, уявіть собі саме таку ситуацію, коли місця вже майже не залишилося, і треба щось робити. Звичайно, можна видалити всі фільми і музику, але це не найкращий варіант. Кращий варіант - це за допомогою LVM організувати логічний тому, що при необхідності можна буде легко розширити або зменшити.
Щоб зрозуміти, як створити логічної тому, і, взагалі, з чого він складається, доведеться зануритися в терміни.
Фізичний том (Physical Volume) - це розділ вашого жорсткого диска, або весь диск цілком.
Група томів (Volume Group) - це група фізичних томів. Ви поєднуєте фізичні томи в одну групу томів. Тобто, якщо у вас є два жорсткі диски (дві фізичні томи) кожен по 2 Гб, то об'єм групи томів буде розмірів в 4 Гб відповідно. Говорячи простою мовою, ви поєднуєте два жорсткі диски в один.
Логічний том (Logical Volume) - одна або більше груп томів утворюють логічний том. Якщо говорити на більш простою мовою, то з групи томів ви створюєте логічний том. Припустимо, ми створили групу томів обсягом в 4 Гб. З неї можна зробити логічний тому розміром в 3 Гб. При необхідності можна його збільшити ще на 1 Гб або зменшити наскільки ви хочете. Природно, обсяг логічного тому не може перевищувати обсяг групи томів.
Сподіваюся, що наступна картинка допоможе вам осмислити все вище сказане:
Ну що ж, далі справа техніки.
Для створення партіцій використовуємо програму fdisk. Для цього у вас повинні бути права root. Якщо ви зайшли не під адміністратором, то заходимо під нього шляхом наступної команди:
Тепер вбиваємо в shell:
Ось ми і в fdisk -е. Для того, щоб ознайомитися з можливостями fdisk тиснемо кнопку «m» - далі буде виведений весь список доступних команд. Натискаючи «p», буде виведений список всіх партіцій на даному диску. Нам потрібно зробити нову партіціі - для цього тиснемо «n».
Вибираємо тип портіціі - primary, тобто тиснемо «p». Далі fdisk запитає номер партіціі (Partition number). У моєму випадки на диску більше немає партіцій, і тому я роблю партіціі під номером 1. Далі fdisk интерисуют перший циліндром (First cylinder) - встановлюємо значення за замовчуванням. Fdisk послужливо підказує це значення, так що вам залишається тільки вписати його. Тепер необхідно вказати останній циліндр (Last cylinder), а якщо говорити простіше, то треба вказати об'єм майбутньої партіціі. Створюю партіціі обьемом в 2Gb. Для цього пишу наступне: + 2048M. «М» вказує на розмір в мегабайтах, тобто створюється розбиття в 2048 Мб, а це соотвественно 2 Гб. Все саме так, як ми хотіли.
Наступний скрін відображає тільки що пророблені операції:
Для створення другої партіціі, чинимо так само, за винятком номера партіціі.
Отже, ми створили дві партіціі, кожна по 2 Гб. Далі потрібно поміняти тип системи цим партіціі. Для того, щоб використовувати партіціі або диски для LVM, типом системи повинен бути Linux LVM, тобто треба поміняти тип системи - для цього тиснемо «t» і вибираємо номер тієї партіціі, у якій хочемо поміняти тип системи. Далі вписуємо «8e» - це і є тип файлової системи Linux LVM. Також чинимо і для другої партіціі.
Наступні скрін показує, як я змінив тип системи на Linux LVM:
Для того, щоб наші зміни (створені партіціі і зміна типу системи) стали сильні, необхідно записати їх на диск. Якщо зараз вийти з fdisk -а, то наші зміни не буде записано, і все залишиться без змін. Для того, щоб записати наші зміни натискаємо «w».
Далі ми переходимо на роботу безпосередньо з LVM. Швидше за все, LVM не встановлено, тоді встановимо його за допомогою наступної команди:
apt-get install lvm2
Перш ніж приступати до створення фізичного тому, хочу описати коротко команди LVM, щоб було зрозуміло, які команди до чого відносяться:
pv * - команди, пов'язані з фізичним томом (Physical Volume)
vg * - команди, пов'язані з групою томів (Volume Group)
lv * - команди, пов'язані з логічний томом (Logical Volume)
Створення фізичного тому
Створюємо фізичний том, або можна завантажити «готуємо диски». Для цього виконуємо наступну команду:
pvcreate / dev / sdb1 / dev / sdb2
На що shell нам відповідає схвалення:
Physical volume "/ dev / sdb1" successfully created
Physical volume "/ dev / sdb2" successfully created
Створення групи томів
Наша група томів буде складатися з двох партіцій, які ми тільки що «підготували». Для цього пишемо наступне:
vgcreate VG / dev / sdb1 / dev / sdb2
Трохи поясню попередню команди - ми створюємо групу томів під назвою VG з партіцій / dev / sdb1 і / dev / sdb2.
У моєму випадку команди повернула наступний результат:
Думаю найкориснішим, що можна побачити з відповіді на команду vgdisplay, буде загальний об'єм групи томів (VG Size). В даному випадки - це 3.83Гб, ну майже що 4Гб, як я і говорив.
Створення логічного тому
Тепер з групи томів VG створюємо логічний тому LV розміром в 3Gb. Для цього використовуємо наступну команду:
lvcreate -L3G -nLV VG
На що shell відповідає:
Logical volume "LV" created
У моєму випадки команда повернула наступне:
Створення файлової системи і монтування
Для того щоб новий логічний тому можна було використовувати в системі, необхідно створити на ньому файлову систему і потім «примонтировать» його.
Я вибираю для нашого логічного тому LV файлову систему ext3 і створюю її:
mkfs -t ext3 / dev / VG / LV
Створили, тепер потрібно примонтировать логічної тому. Для цього пишемо:
mount / dev / VG / LV / home / igor / test
Поясню попередню команду - ми примонтировать логічний тому LV з папкою / home / igor / test. Тобто, тепер всі файли, які будуть збережені в папці / home / igor / test, насправді будуть зберігатися на логічному томі LV. Далі розповім трохи про монтування. Якщо в момент монтування в точці монтування (папка на диску) знаходяться якісь файли, то вони стають невидимими і недоступними до моменту від'єднання.
Додавання запису в файл / etc / fstab
Зараз ми змонтували систему в ручну, але, якщо системі зробити рестарт, то від нашого монтування і сліду не залишиться, і треба буде робити все заново. Щоб цим не займатися, додамо запис в файл / etc / fstab. Завдання цього файлу полягає в автоматичному монтуванні пристроїв під час запуску системи.
Якщо ви не в корені то переходимо в нього - cd /
І пишемо наступне:
Далі ви повинні побачити приблизно наступне:
Тепер будемо додавати записи про наш логічному томі.
Для цього клавішею «стрілка в низ» на клавіатурі пересуваємося в кінець файлу і починаємо писати. А що писати то? Щоб знати, що писати, необхідно знати про полях файлу / etc / fstab. І так про них:
- Пристрій (у нас це / dev / VG / LV)
- Точка монтування (/ home / igor / test)
- Файлова система диска або партіціі (ext3)
- Опція (defaults)
- Прапор резервного копіювання. 0 - не додавати розділ в архів резервного копіювання та відповідно 1 - додавати. (0)
- Прапор перевірки диска або партіціі при завантаженні системи. 0 - перевірка відключена, 1 - перевірка включена. (0)
Щоб пересуватися між полями в / etc / fstab, використовуємо кнопку Tab. Далі додамо потрібну нам запис:
Тиснемо Ctrl + X для виходу, говоримо, що хочемо зберегти зміни - Y (Yes) і зберегти зміни в / etc / fstab, тобто тиснемо Enter.
Для того, щоб тільки що доданий пристрій було знайдено системою, пишемо наступне:
Готово! Тепер можна використовувати логічної тому.
Якщо згадати початок статті, то всі ці операції ми по ідеї повинні були зробити для того, щоб в будь-який момент можна було легко додати додатковий об'єм до диска. Ось, і настав цей довгоочікуваний момент.
Для того, щоб збільшити об'єм логічного тому LV на 800Mb, пишемо наступне:
lvextend -L + 800M / dev / VG / LV
На що shell нам відповідає:
Extending logical volume LV to 3.78 GB
Logical volume LV successfully resized
А для того, щоб зменшити об'єм логічного тому на 800MB пишемо:
lvreduce -L-800M / dev / VG / LV
Організація логічного тому задоволена складна процедура. Принаймні, мені так здалося, коли я розбирався в LVM. Але вже незабаром, ви оціните плюси створення логічного тому, і сподіваюся що, хоч якийсь час не буде проблем з нестачею місця на жорсткому диску.