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

ncdu

Данный пример отрабатываем на виртуальной машине 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 [email protected]

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

 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

Вуаля!

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