В работе системного администратора, рано или поздно, настает момент, когда на подшефном сервере, на одном из разделов, закончилось место. В этот момент, особенно, если это боевой сервер с большим количеством пользователей, а начальник дышит в затылок и готовит бочку смазочного материала, в голове начинается сумбур и ты судорожно вспоминаешь порядок действий в таких ситуациях. Руки трясутся и потеют, мозг начинает судорожно вспоминать, и в этот момент ты коришь себя, что не сделал записи, благодаря которым, смог бы за несколько минут решить эту проблему.
По этому, я решил написать серию статей о работе с LVM, дабы более не попадать в подобные ситуации и всегда иметь под рукой небольшую инструкцию.
Начнем нашу работу
Имеем: Proxmox VE 8.1, тестовую виртуалку с Ubuntu 20.04, файловую систему ext4 и конечно же настроенный на этой ФС LVM.
Итак ситуация:
Ваш коллега-редиска не стал заморачиваться с разбиением пространства при установке сервера, смонтировав все в корневой раздел, как на примере:
Наша задача - добавить 5 гигабайт в корневой раздел /
Топаем в наш Proxmox, ищем нашу виртуальную машину, выбираем ее и идем в раздел "Оборудование". Находим наш жесткий диск и жмем менюшку "Действия над диском". В выпавшем меню жмем "Изменение размера".
Добавляем необходимое количество пространства. В нашем случаем - 5 ГБ.
После нажатия "Изменить размер диска", обновляем страницу и проверяем, что виртуальный диск изменил размер:
Диск изменил размер. Отлично!
Идем в консоль линукса и смотрим вывод команды lsblk.
Видим, что размер блочного устройства изменился.
(В Proxmox динамически обновляется размер блочного устройства при изменениях "на лету", что не скажешь про Wmvare. В этом случае необходимо сдалать "rescan" устройства командой echo 1 > /sys/block/sda/device/rescan)
С гипервизором закончили.
Непосредственно Линукс
Размер устройства мы увеличили, теперь изменим таблицу раздела, на котором базируется наш LVM. В данной ситуации подойдет fdisk. (Примечание: Если раздел большой и имеет GPT, то в таком случае нужно использовать Parted)
Нас интересует диск /dev/sda. Выполняем fdisk /dev/sda и смотрим таблицу разделов через опцию P.
Нас интересует раздел sda3. С помощью опции D удаляем раздел номер 3.
Следующим шагом создаем новый раздел опцией N.
Здесь прощелкиваем все "энтером". Fdisk сам предлагает "от скольких до скольких" разметить таблицу нового раздела.
Обратите внимание! Красным цветом отмечается, что fdisk видит на разделе сигнатуры и что данный раздел состоит в группе томом LVM и спрашивает, не хотели бы вы их удалить? Обязательно отвечаем НЕТ, чтоб напрочь все не убить :)
После записываем все изменения на диск опцией W.
Таблица разделов пересоздана.
Теперь начинаем действия с LVM.
Необходимо сделать ресайз пересозданного раздела командой
pvresize /dev/sda3, так как мы меняли его размер, но LVM пока этого не видит.
Следующим шагом проверяем, увиделось ли добавленное пространство. Выполняем команду pvs:
Да, вот те самые 5 гигов, которые мы подкинули. Теперь надо LVM тыкнуть пальцем и сказать, что вот, это ты тоже можешь использовать.
Выполняем расширение логического тома, который относится к корневому разделу. Адрес раздела можно посмотреть из вывода команды df -h
Здесь видим, что общий раздел корневого раздела у нас сейчас 30 гигабайт, занято 4.5 гигабайт, доступно 24 гигабайта.
Выполняем команду расширения логического тома ubuntu--lv
lvresize -r -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
Здесь описывается, что логический том увеличен с 30 гигабайт до 35 гигабайт.
Снова выполняем команду df -h и проверяем результат:
Видим, что общий объем увеличился до 35 гигабайт, а доступное пространство до 29 гигабайт.
На этом работы по добавлению пространства в корневой раздел закончены.