syxoi
@syxoi

Как расширить шифрованный LVM?

Здравствуйте!
Имеется:
диван 8 (latest)
/dev/sda1 - под бут
/dev/sda2 - шифрованный контейнер
в шифрованном контейнере есть два LVM тома - корень и своп.
в конце диска много неразмеченной области
Задача: необходимо расширить своп, расширить корень.
Читал разные инструкции и везде такая последовательность: сначала уменьшаем корень, потом лвм, потом сам контейнер, для расширение нужно, получается, все делать в обратном порядке, т.е. сначала расширяем криптоконтейнер, потом лвм и потом тома лвм?
Еще заметил параметр, указывающий конкретный размер, а возможно ли указать максимальный размер, а не вручную "Добывать" информацию о доступном месте и т.д.?
И если сначала был создан своп, а потом корень, то возможно ли их расширить? Зная MBR, в ней так нельзя сделать, то есть, нужно было двигать разделы и т.д., есть ли такое же с лвм? Или здесь по-другому?
Спасибо)
  • Вопрос задан
  • 1061 просмотр
Решения вопроса 2
sim3x
@sim3x
Важную инфу перед началом таких действий необходимо забекапить!

Сначала расширь раздел /dev/sda2 resize2fs
потом криптоконтейнер cryptsetup
потом лвм физическое устройство pvresize
потом резайз lvresize того раздела внутри криптоконтейнера, внутри лвм, который нужно увеличить
потом для диска внутри lv (logical volume) resize2fs

Ниже линк на слегка устаревшая инструкция

Лучше использовать gparted
Лучше НЕ использовать fdisk, а если использовать, то ребутиться не обязательно

https://help.ubuntu.com/community/ResizeEncryptedP...

lvm разбивает pv на чанки, а потом делает из набра чанков тебе lv
lv может состоять из чанков в разных частях pv и соответственно, в разных частях реального устройства (или устройств)
Ответ написан
syxoi
@syxoi Автор вопроса
Вобщем, делается это дело так:
Загружаемся с "живой" оси, конечно же.
Открываем fdisk'ом диск (fdisk /dev/sda), находим нужный раздел, получаем инфу о разделах (p), запоминаем сектор, где начинается раздел (Start LBA), затем удаляем раздел (d), создаем раздел (n), такого же типа (ext or prm), такой же номер раздела и fdisk спросит начальный сектор, вводим как был ранее, последний сектор оставляем по-умолчанию (по-умолчанию заполнить все до конца), открываем шифрованный контейнер, открываем LVM (vgscan --mknodes and vgchange -ay), затем натравляем cryptsetup resize cryptcontainer -v тем самым расширяя криптоконтейнер, затем расширяем физический том LVM - pvresize /dev/mapper/cryptcontainer, pvchange -xy /dev/mapper/cryptcontainer. Теперь расширяем нужные логические тома lvm. lvresize --size +1G /dev/crypt/swap (если по объему), и заполняем остальные разделы полностью lvresize -l +100%FREE /dev/crypt/root. Сохраняем изменения pvchange -xn /dev/mapper/cryptcontainer. Проверяем целостность ФС (в моем случае btrfs) btrfsck /dev/crypt/root (ошибок быть не должно!), теперь ресайзим саму ФС - монтируем /dev/crypt/root /mnt, btrfs filesystem resize max /mnt. смотрим - df -h - вуаля!
Теперь, как обычно: umount /mnt, vgchange -an, cryptsetup luksClose cryptcontainer, sync, reboot...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы