Изменение размера виртуального диска в VirtualBox


Понадобилось мне сегодня для одного из виртуальных серверов, с которыми я работаю для тестирования серверного ПО, несколько увеличить размер основного жесткого диска. Иногда так бывает — сначала ты планируешь реализовать одно, а потом, уже во время работы, тебя посещает идея о том, что это можно сделать лучше и интереснее, только вот жесткий диск-то уже создан и его прежний размер уже не соответствует новым реалиям. Так случилось и сегодня. У меня есть шаблон веб-сервера на Gentoo, но поскольку там все по-минимуму, то и размер основного системного диска минимален.

Раньше я уже многократно сталкивался с этой задачей, но запамятовал четкий порядок действий. Решил поискать его в Интернете и пожалел. Чего только не советуют на форумах и в блогах, я просто был в шоке. Я приведу парочку советов здесь чисто юмора ради.

Нужно установить gparted, с помощью которого стрелочкой растянуть нужный раздел на свободное пространство и задача будет решена. Если нет графического окружения, то нужно установить базовое.

Потребуется создать новый виртуальный жесткий диск с фиксированным размером, привязать его к той же виртуальной машине, что и основной, после чего запустить машину и все с основного диска переписать plain-способом на новый при помощи dd.

Достаточно будет подключить к компьютеру флешку и пробросить ее на виртуальную машину, после чего перенести на флешку в виде архива (stage4) содержимое основного диска. Перезагрузить виртуальную машину, загрузиться с установочного ISO-образа, отформатировать раздел с нужным размером, потом скопировать архив с флешки обратно на отформатированный раздел.

Я, честно признаться, не понимаю прикола в том, чтобы переносить или копировать куда-либо данные с жесткого диска. Быть может, мой виртуальный диск имеет объем в 2Тб. Весело будет такой архив гонять по сети, за флешки я вообще молчу, тут уже надо брать выше — съемный HDD. Непременно твердотельный, ибо иначе увеличение размера виртуального жесткого диска может занять неделю, а то и больше (особенно, с использованием USB 2.0).

А если быть немножко серьезнее, то меня немного расстраивает нежелание современных системных администраторов изучать какие-то там справки к системным утилитам. Давайте рассмотрим процесс увеличения объема виртуального жесткого диска по порядку, чтобы всем сразу стало понятно, насколько это просто.


Непосредственно предельный размер виртуального жесткого диска увеличивается в «Менеджере виртуальных носителей» VirtualBox. Для того, чтобы изменить этот параметр, даже не потребуется отключать виртуальную машину — можно все делать прямо при включенной.

Перезагрузку на следующем шаге я выполнил, но, скажу честно, забыл посмотреть, можно ли без нее, поэтому рекомендую попробовать. Для этого после того, как в VirtualBox был изменен размер виртуального носителя, выполните на гостевой машине следующую команду:

lsblk

Она возвратит реальные объемы блочных устройств. Если вы по-прежнему видите старый объем — стоит отправить гостевую машину в перезагрузку. Как только вы увидите новый размер, переходим ко второму шагу — распределению свободного пространства между разделами.

Тут стоит отметить один момент: добавленное пространство будет в конце диска. Как правило, в конце диска у меня swap-раздел, а вот основной — достаточно редко. Так вот прежде, чем вы сможете при таком раскладе увеличить размер основного раздела, вам придется удалить swap.

Итак, запускаем cfdisk. Если без аргументов — он покажет первый виртуальный жесткий диск. Если у вас их несколько, нужно передать аргументом путь к тому диску, который нужно править. Например:

cfdisk /dev/sdb

В таблице сразу видим свободное пространство и те разделы, которые стоят между тем, что нам потребуется увеличить, и свободным местом. Как я уже говорил, у меня между ними оказался swap, который я успешно удалил, после чего изменил размер нужного мне раздела, оставив свободное место под swap, который после этого снова создал в прежнем размере. Когда все будет готово, не забудьте выбрать write и ответить ему «yes» на заданный вопрос.

Все, теперь неразмеченного пространства у нас нет, все перешло под существующие разделы. Но есть одно «но». Помните, что происходит после разметки дисков при установке Gentoo, к примеру? Да, создание файловых систем. В данный момент, файловая система увеличенного нами раздела еще не подозревает о том, что произошли какие-то пертурбации. На форуме ради ее уведомления советовали собрать графическую среду и установить gparted, но мы сделаем это проще:

resize2fs /dev/sdb3

Где «/dev/sdb3» — раздел, который мы увеличивали. Теперь, сразу после этой операции, вы сможете выполнить df -h и увидеть новый размер раздела.


20.05.2019, 01:47
  Linux, VirtualBox, Gentoo.
Просмотров: 319481.
1