Если вы используете виртуальные машины с Ubuntu Linux, скорее всего рано или поздно вы столкнетесь с необходимостью расширения места на виртуальном диске. Установщик Ubuntu по умолчанию предлагает использовать логические LVM тома для развертывания ОС, поэтому мы рассмотрим расширение диска на примере именно LVM.
В первую очередь нужно увеличить размер виртуального диска со стороны вашей системы виртуализации:
После того, как вы расширили диск в ВМ, нужно расширить его в гостевой ОС (в этом примере это Ubuntu 22.04 LTS). Чтобы Ubuntu увидела добавленное место, выполните принудительный рескан дисков с помощью команды:
$ echo 1>/sys/class/block/sda/device/rescan
Для управления разделами используйте утилиту cfdisk:
$ sudo cfdisk
В данном примере видно, что на диске /dev/sda есть свободное место размером 1 Гб. Выберите раздел, который нужно расширить (/dev/sda3 в этом примере) и выберите в меню Resize.
Чтобы сохранить изменения в разделах диска, выберите в меню Write.
Закройте утилиту cfdisk.
После того, как вы увеличили физический раздел, нужно увеличить размер логического раздела Ubuntu. Проверьте, что у вас используется используются тома LVM:
$ sudo lsblk
Вкратце напомним основные концепции LVM:
- Physical Volume (PV) — ваши физические диски
/dev/sda
,/dev/sdb
, и т.д. - Volume Group (VG) — группы томов, в которые объединены физически диски. Например
ubuntu-vg
=/dev/sda
+/dev/sdb
. Также VG можно состоять всего из одного диска. - Logical Volume (LV) — логический раздел в группе томов. Например,
ubuntu-vg/root
,ubuntu-vg/home
, и т.д.
Проверьте свободное место в группе томов LVM с помощью:
$ sudo vgdisplay
Для расширения раздела LVM нужно сначала увеличить PV (Physical Volume):
$ sudo pvresize /dev/sda3
Теперь можно увеличить логический том. В этом примере мы расширим том за счет всего доступного пространства:
$ sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
Logical volume ubuntu-vg/ubuntu-lv successfully resized
Осталось расширить файловую систему. Для ext2, ext3 и ext4 выполните:
$ sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
Проверьте свободное место в Linux с помощью команды:
$ df -h
Итак, мы успешно расширили LVM том в Ubuntu.
Если у вас не используются LVM тома, воспользуйтесь утилитой parted для увеличения раздела в Linux:
$ sudo parted
print free
resizepart n