Найти тему
Закуток Ай-Тишника

Расширение корневого раздела с LVM

Оглавление
Жесткий диск
Жесткий диск

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

По этому, я решил написать серию статей о работе с LVM, дабы более не попадать в подобные ситуации и всегда иметь под рукой небольшую инструкцию.

Начнем нашу работу

Имеем: Proxmox VE 8.1, тестовую виртуалку с Ubuntu 20.04, файловую систему ext4 и конечно же настроенный на этой ФС LVM.

Итак ситуация:

Ваш коллега-редиска не стал заморачиваться с разбиением пространства при установке сервера, смонтировав все в корневой раздел, как на примере:

Пример разбивки файловых систем при дефолтной установке Ubuntu
Пример разбивки файловых систем при дефолтной установке Ubuntu

Наша задача - добавить 5 гигабайт в корневой раздел /

Топаем в наш Proxmox, ищем нашу виртуальную машину, выбираем ее и идем в раздел "Оборудование". Находим наш жесткий диск и жмем менюшку "Действия над диском". В выпавшем меню жмем "Изменение размера".

Изменение размера виртуального диска в Proxmox
Изменение размера виртуального диска в Proxmox

Добавляем необходимое количество пространства. В нашем случаем - 5 ГБ.

После нажатия "Изменить размер диска", обновляем страницу и проверяем, что виртуальный диск изменил размер:

Проверяем, что размер изменился
Проверяем, что размер изменился

Диск изменил размер. Отлично!

Идем в консоль линукса и смотрим вывод команды lsblk.

Вывод команды lsblk
Вывод команды lsblk

Видим, что размер блочного устройства изменился.

(В Proxmox динамически обновляется размер блочного устройства при изменениях "на лету", что не скажешь про Wmvare. В этом случае необходимо сдалать "rescan" устройства командой echo 1 > /sys/block/sda/device/rescan)

С гипервизором закончили.

Непосредственно Линукс

Размер устройства мы увеличили, теперь изменим таблицу раздела, на котором базируется наш LVM. В данной ситуации подойдет fdisk. (Примечание: Если раздел большой и имеет GPT, то в таком случае нужно использовать Parted)

Нас интересует диск /dev/sda. Выполняем fdisk /dev/sda и смотрим таблицу разделов через опцию P.

Список разделов на sda
Список разделов на sda

Нас интересует раздел sda3. С помощью опции D удаляем раздел номер 3.

Удаление раздела в fdisk
Удаление раздела в fdisk

Следующим шагом создаем новый раздел опцией N.

Создание раздела в fdisk
Создание раздела в fdisk

Здесь прощелкиваем все "энтером". Fdisk сам предлагает "от скольких до скольких" разметить таблицу нового раздела.

Обратите внимание! Красным цветом отмечается, что fdisk видит на разделе сигнатуры и что данный раздел состоит в группе томом LVM и спрашивает, не хотели бы вы их удалить? Обязательно отвечаем НЕТ, чтоб напрочь все не убить :)

После записываем все изменения на диск опцией W.

Запись таблицы разделов
Запись таблицы разделов

Таблица разделов пересоздана.

Теперь начинаем действия с LVM.

Необходимо сделать ресайз пересозданного раздела командой

pvresize /dev/sda3, так как мы меняли его размер, но LVM пока этого не видит.

Ресайз раздел для LVM
Ресайз раздел для LVM

Следующим шагом проверяем, увиделось ли добавленное пространство. Выполняем команду pvs:

Появилось не размеченное пространство.
Появилось не размеченное пространство.

Да, вот те самые 5 гигов, которые мы подкинули. Теперь надо LVM тыкнуть пальцем и сказать, что вот, это ты тоже можешь использовать.

Выполняем расширение логического тома, который относится к корневому разделу. Адрес раздела можно посмотреть из вывода команды df -h

Вывод команды df -h
Вывод команды df -h

Здесь видим, что общий раздел корневого раздела у нас сейчас 30 гигабайт, занято 4.5 гигабайт, доступно 24 гигабайта.

Выполняем команду расширения логического тома ubuntu--lv

lvresize -r -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

Вывод команды
Вывод команды

Здесь описывается, что логический том увеличен с 30 гигабайт до 35 гигабайт.

Снова выполняем команду df -h и проверяем результат:

Вывод команды df -h после расширения логического тома
Вывод команды df -h после расширения логического тома

Видим, что общий объем увеличился до 35 гигабайт, а доступное пространство до 29 гигабайт.

На этом работы по добавлению пространства в корневой раздел закончены.