- Как увеличить размер виртуального диска VirtualBox
- Как увеличить размер виртуального диска VirtualBox
- Увеличение диска VirtualBox в Windows
- Увеличение файловой системы
- Выводы
- Увеличение размера диска с LVM на VirtualBox
- How to Increase Disk Size of Your Existing Virtual Machines in VirtualBox
- How to enlarge VirtualBox disk size
- Method 1: Using the Virtual Media Manager in VirtualBox
- Method 2: Increase VirtualBox disk space using Linux command line
- Conclusion
Как увеличить размер виртуального диска VirtualBox
Виртуальные машины достаточно часто используются в наше время для тестирования различных операционных систем и выполнения других задач. Одна из самых популярных свободных программ для запуска виртуальных машин — VirtualBox. Когда вы создаете новую машину, вам необходимо создать для нее жесткий диск и указать его размер. Но вы не всегда можете угадать сколько места будет занимать та или иная машина.
Есть, конечно, динамические виртуальные диски, которые занимают место только при записи в них файлов, но это неполное решение проблемы, потому что нельзя все спланировать наперед. В этой статье мы рассмотрим как увеличить размер виртуального диска VirtualBox.
Как увеличить размер виртуального диска VirtualBox
В VirtualBox можно использовать три основных формата дисков — это VDI, VHD и VDMK. Я не буду здесь рассматривать чем они отличаются. Но важно то, что изменить размер можно только для VDI и VHD. Для дисков VDMK есть обходной путь.
Для увеличения размера диска нужно использовать команду в терминале или в командной строке, в графическом интерфейсе такой функции, к сожалению, нет. Также вам нужно знать полный путь к вашему диску. Допустим, наш диск находится по адресу ~/VirtualBox\ VMs/Ubuntu17.04/Ubuntu1610.vdi в Linux. Давайте посмотрим информацию о нем, чтобы знать текущий размер:
VBoxManage showhdinfo ~/VirtualBox\ VMs/Ubuntu17.04/Ubuntu1610.vdi
Здесь размер отмечен в поле capacity и в данном примере он составляет 22075 мегабайта. Важно знать размер в мегабайтах, так как именно его мы будем использовать для увеличения диска. Чтобы увеличить размер виртуального диска virtualbox используется та же команда, только с параметром modifyhd:
VBoxManage modifyhd ~/VirtualBox\ VMs/Ubuntu17.04/Ubuntu1610.vdi —resize 32075
Здесь мы увеличили размер диска на 10 гигабайт. Важно чтобы размер, который вы указываете в параметре resize был не меньше текущего размера диска, иначе данные операционной системы могут быть повреждены и вся суть этой операции теряет смысл.
Если у вашей машины есть снимки состояния, то их размер тоже нужно изменить, иначе ничего не заработает. Для этого можно использовать такой цикл:
for x in ~/VirtualBox\ VMs/Ubuntu17.04/Snapshots/*.vdi ; do VBoxManage modifyhd $x —resize 32075 ; done
Помните, что размер и имена дисков должны совпадать во всех командах для одной машины. Для формата VDMK увеличение размера диска VirtualBox не поддерживается, но зато можно его конвертировать в vdi, увеличить, как описано выше и конвертировать обратно:
VBoxManage clonehd «~/VirtualBox\ VMs/Ubuntu17.04/Ubuntu1610.vdmk» «~/VirtualBox\ VMs/Ubuntu17.04/Ubuntu1610.vdi» —format vdi
VBoxManage modifyhd «~/VirtualBox\ VMs/Ubuntu17.04/Ubuntu1610.vdi » —resize 32075
VBoxManage clonehd «~/VirtualBox\ VMs/Ubuntu17.04/Ubuntu1610.vdi » «~/VirtualBox\ VMs/Ubuntu17.04/Ubuntu1610.vdi_resized.vmdk» —format vmdk
Увеличение диска VirtualBox в Windows
В ОС Windows команда будет выглядеть немного по-другому, а путь к файлу будет начинаться с диска C:. Чтобы выполнить команду VBoxManage сначала необходимо перейти в папку с исполняемыми файлами VirtualBox:
cd “C:\Program Files\Oracle\VirtualBox”
Затем, запустите команду чтобы увеличить размер диска virtualbox, как было описано раньше, путь к файлу замените на свой:
VBoxManage showhdinfoC:\Users\Admin\VirtualBox VMs\Windows 7\Windows 7.vdi
Затем изменяем размер этого диска, помните, что размер нужно указать в мегабайтах, и он должен быть больше чем текущий.
VBoxManage modifyhd «C:\Users\Admin\VirtualBox VMs\Windows 7\Windows 7.vdi» —resize 32075
Увеличение файловой системы
То, что вы увеличили доступный размер диска еще ничего не меняет, как ничего не поменяет и то, что вы добавите новый жесткий диск к системе. Дальше вам нужно загрузится в вашу виртуальную машину расширить диск virtualbox и увеличить пространство, занимаемое файловой системой, для этого можно использовать утилиту Gparted. В дистрибутивах Linux она поставляется по умолчанию, запустите утилиту:
Здесь вы увидите отмеченное серым доступное пространство в конце диска. Теперь вы можете изменить размер для последнего раздела нажав на нем правой кнопкой и вызвав контекстное меню, затем выбрав «изменить размер/переместить»:
Когда завершите, не забудьте нажать «Apply» чтобы применить все операции.
Читайте более подробно о том, как пользоваться Gparted в отдельной статье. Если у вас в качестве гостевой системы установлена Windows, вы можете использовать стандартную утилиту управления дисками или скачать ISO образ Gparted.
Выводы
В этой статье мы рассмотрели как увеличить размер виртуального диска virtualbox с помощью командной строки и как предоставить полученное пространство вашей гостевой системе. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Увеличение размера диска с LVM на VirtualBox
Приветствую, меня зовут Иван, я системный администратор. Решил попробовать писать такие вот заметки на задачи, которые делаю редко, чтобы потом вспомнить, если понадобится. Надеюсь и ещё кому-то пригодится.
Все пути и имена разделов мои, меняйте соответственно на своё. Все действия на свой страх и риск, делайте бэкапы.
Задача следующая. Есть виртуалка, к ней подключен виртуальный диск, на нём система Debian 10, разметка сделана автоматически с LVM, отдельные разделы /var , /tmp , /home и т.д. Требуется расширить существующий раздел /root не добавляя дополнительный том в LVM
(И да, если вам удобнее — есть возможность расширять разделы LVM добавляя дополнительные физически тома в группу томов, я такой способ сейчас не описываю, у меня немного другая задача)
root@ElasticLog:~# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home ElasticLog-vg -wi-ao----
Пункт 1. Увеличение размера диска средствами VM
Этот пункт зависит от используемой вами VM и типа виртуального диска, так что я опишу только свой пример.
Для начала отключаем виртуалку и увеличиваем размер виртуального диска. У меня она на VirtualBox, диск динамический .vhd. Так же, насколько помню, без проблем изменяется динамический .vdi, с другими не подскажу.
Пункт 2. Увеличение раздела средствами системы
После этого мы видим, что в системе "физический" том sda увеличился
Наш раздел LVM - sda5, но есть нюансы, о них ниже
root@ElasticLog:~# lsblk -l NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 250G 0 disk sda1 8:1 0 487M 0 part /boot sda2 8:2 0 1K 0 part sda5 8:5 0 185,8G 0 part sr0 11:0 1 1024M 0 rom ElasticLog--vg-root 254:0 0 4G 0 lvm / ElasticLog--vg-swap_1 254:1 0 976M 0 lvm [SWAP] ElasticLog--vg-var 254:2 0 15G 0 lvm /var ElasticLog--vg-tmp 254:3 0 364M 0 lvm /tmp ElasticLog--vg-home 254:4 0 165,5G 0 lvm /home
Я использовал утилиту parted, так как она меняет размер без размонтирования, соответственно корневой раздел меняется без лишних заморочек.
Gparted тоже весьма удобно, но только если у вас есть графическая оболочка, либо если вы загрузились с соответствующего LiveCD. (описывать изменение раздела в gparted я не буду, там всё просто, разберётесь.)
Если у вас таблица разделов MBR - разметка будет похожа на мою, и раздел lvm sda5 будет находиться внутри расширенного раздела sda2, поэтому чтобы нам увеличить sda5 нужно будет сначала увеличить sda2
Ести таблица у вас GPT - расширенного раздела скорее всего не будет, так что просто увеличиваем раздел с флагом LVM.
Команда p показывает нам текущий список разделов.
Указать можно как итоговый желаемый раздел диска (250gb например) так и размер в процентах (100%) - то есть использовать всё свободное пространство. Для примера ниже я показал оба варианта.
Выходим из parted командой q
root@ElasticLog:~# parted /dev/sda GNU Parted 3.2 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Model: ATA VBOX HARDDISK (scsi) Disk /dev/sda: 268GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 512MB 511MB primary ext2 boot 2 513MB 200GB 199GB extended 5 513MB 200GB 199GB logical lvm (parted) resizepart 2 End? [200GB]? 250gb (parted) resizepart 5 End? [200GB]? 100% (parted) q Information: You may need to update /etc/fstab.
Пункт 3. Увеличение LVM разделов
LVM ещё не знает, что размер её "физического" раздела увеличился. Подсказать можно командой:
pvresize [путь к устройству]
После этого можно посмотреть через утилиту pvs , что появилось свободное место в колонке PFree (там было ноль)
root@ElasticLog:~# pvresize /dev/sda5 Physical volume "/dev/sda5" changed 1 physical volume(s) resized or updated / 0 physical volume(s) not resized root@ElasticLog:~# pvs PV VG Fmt Attr PSize PFree /dev/sda5 ElasticLog-vg lvm2 a-- 232,35g
Путь к разделу состоит из /dev/[имя группы разделов]/[имя раздела]. Где LV - имя раздела, VG - имя группы разделов. Посмотреть можно командой lvs
Затем увеличиваем размер интересующего нас логического раздела командой.
lvresize --resizefs --size 15g /dev/ElasticLog-vg/root
можно изменять размер не обязательно на конкретное значение, а допустим +15g или -15g
root@ElasticLog:~# lvresize --resizefs --size 15g /dev/ElasticLog-vg/root Size of logical volume ElasticLog-vg/root changed from 4,03 GiB (1032 extents) to 15,00 GiB (3840 extents). Logical volume ElasticLog-vg/root successfully resized. resize2fs 1.44.5 (15-Dec-2018) Filesystem at /dev/mapper/ElasticLog--vg-root is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 2 The filesystem on /dev/mapper/ElasticLog--vg-root is now 3932160 (4k) blocks long.
Через lvs мы видим тут, что раздел root увеличился до 15 ГБ.
root@ElasticLog:~# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home ElasticLog-vg -wi-ao----
В целом на этом всё. Если я что-то упустил, либо вы знаете способы лучше - с радостью поправлю статью.
How to Increase Disk Size of Your Existing Virtual Machines in VirtualBox
Here’s the scenario you may come across sooner or later.
You installed one or more operating systems in VirtualBox. While creating those virtual operating systems, you also created virtual hard disks for them in VirtualBox.
You specified the maximum size of the virtual disk to say 15 or 20 GB but now after using it for some time, you realize that your virtual machine is running out of space.
While there are ways to free up disk space on Ubuntu and other operating systems, a more robust way of handling the situation is to increase the disk size of your virtual machines created in VirtualBox.
Yes, you can enlarge the virtual hard disk in VirtualBox even after creation. Although this is a safe and tested procedure, it is highly recommended to create a backup of your virtual machine before you perform such an action.
How to enlarge VirtualBox disk size
I will show you how to resize disk in VirtualBox graphically and via command line (for Linux geeks). Both methods are easy and straightforward.
Method 1: Using the Virtual Media Manager in VirtualBox
VirtualBox 6 added a graphical option for resizing virtual disks. You can find it at the file tab of VirtualBox home page.
Go to File->Virtual Media Manager:
Select one of your virtual machines in the list, click on Properties from the top and then use the “Size” slider or type the size value that you need. Once done click “Apply”.
Keep in mind that though you increased the size of your virtual disk, the actual partition size remains the same if your space is dynamically allocated.
Method 2: Increase VirtualBox disk space using Linux command line
If you are using a Linux operating system as a host, open the terminal and type the following command to resize VDI:
VBoxManage modifymedium "/path_to_vdi_file" --resize
The resize process should finish right after you click the enter button to execute the command.
The commands modifyvdi and modifyhd of earlier versions of VirtualBox commands are also supported and mapped internally to the modifymedium command.
If you are not sure where your virtual machines are saved, you can find the default location from the VirtualBox home page by clicking on Files -> Preferences or by using the keyboard shortcut Ctrl+G.
Conclusion
Personally, I prefer to use the terminal on every Linux distribution that I use for expanding disk, the graphical option is a very handy addition to the latest VirtualBox release.
This is an easy and quick tip but a great addition to VirtualBox fundamentals. If you find this tip useful, check out a few features of VirtualBox guest additions.