Увеличиваем диск виртуальной машины для Ubuntu 20.04 в консоли

Данный пример отрабатываем на виртуальной машине VirtualBox (Версия 6.1.24 r145767 (Qt5.12.8)) от Oracle в которой работает сервер Ubuntu 20.04 LTS (только консоль, без графического интерфейса) и требуется прибавить пару Гб к существующему динамическому диску размером 12 Гб.

На хосте перейдите в каталог виртуальной машины. Она должна быть выключена/остановлена. Выполните команду над изменением размера диска виртуальной машины. 14000 это нужный размер в 14 Гб.

VBoxManage modifyhd Ubuntu20.vdi --resize 14000

Всё, теперь нужно запустить виртуальную машину и произвести действия в её консоли.

Определяем номер виртуальной машины:

VBoxManage list vms

Получаем ответ в консоль:

"Windows 10" {3d355328-a9ff-4514-acf2-5e35f321b328}
"Ubuntu 16.04" {6b79ef35-7335-437f-b8d4-da9846c77ac6}
"Ubuntu 20 1" {7bac2044-3cdc-4070-aa6a-3a9063a288bf}
"Ubuntu 20 2" {f6633426-d07b-436c-ac0a-525b7272b7a4}

Запускаем нужную виртуальную машину в фоновом режиме:

VBoxManage startvm f6633426-d07b-436c-ac0a-525b7272b7a4 --type headless

Идём по ssh (мы же знаем как):

ssh root@192.168.1.202

Необходимо выполнить сканирование новой конфигурации:

echo 1 > /sys/block/sda/device/rescan

Запускаем утилиту parted, для управления жесткими дисками:

parted

Запускается консоль утилиты и сообщает нам следующее:

GNU Parted 3.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

Уже в консоли этой утилиты даём команду print или p:

(parted) p

Получаем ответ:

Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 14.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 
 
Number  Start   End     Size    File system  Name  Flags
 1      1049kB  2097kB  1049kB                     bios_grub
 2      2097kB  1076MB  1074MB  ext4
 3      1076MB  14.7GB  12.6GB

В этом ответе мы видим нужное

Видим и запоминаем полный размер диска:

Disk /dev/sda: 14.7GB

Видим и запоминаем интересующий нас раздел 3:

3      1076MB  14.7GB  12.6GB

Меняем размер 3-го раздела:

(parted) resizepart 3

спросит размер и мы укажем как видели ранее Disk /dev/sda: 14.7GB:

End?  [14.7GB]? 14.7GB

Всё, можно выходить из parted, можно через q

(parted) quit

Теперь сообщим ядру новость об изменениях в разделах диска.

Посмотрим состав всей файловой системы:

df -h

Получим ответ:

Filesystem                         Size  Used Avail Use% Mounted on
udev                               950M     0  950M   0% /dev
tmpfs                              199M  796K  198M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  8.8G  8.6G     0 100% /
tmpfs                              994M  160K  994M   1% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              994M     0  994M   0% /sys/fs/cgroup
/dev/sda2                          976M  205M  704M  23% /boot
tmpfs                              199M     0  199M   0% /run/user/0

запомним из этого /dev/mapper/ubuntu—vg-ubuntu—lv

Считываем новый размер, чтобы ядро узнало это:

pvresize /dev/sda3

Получаем ответ:

Physical volume "/dev/sda3" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized

Измените логический том:

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

Получаем в ответ сообщение:

Size of logical volume ubuntu-vg/ubuntu-lv changed from <9.00 GiB (2303 extents) to <12.67 GiB (3243 extents).
 Logical volume ubuntu-vg/ubuntu-lv successfully resized.
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 2
The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 3320832 (4k) blocks long.

Можно просмотреть ситуацию:

df -h

И получить информацию, что всё сделано и всё в порядке:

Filesystem                         Size  Used Avail Use% Mounted on
udev                               950M     0  950M   0% /dev
tmpfs                              199M  796K  198M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   13G  8.6G  3.3G  73% /
tmpfs                              994M  160K  994M   1% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              994M     0  994M   0% /sys/fs/cgroup
/dev/sda2                          976M  205M  704M  23% /boot
tmpfs                              199M     0  199M   0% /run/user/0

Вуаля!

Можно перезагрузить виртуальную машину и пользоваться ею дальше.