
Данный пример отрабатываем на виртуальной машине 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
Вуаля!
Можно перезагрузить виртуальную машину и пользоваться ею дальше.