Перед тем как вносить изменения на рабочей системе я воссоздаю всю ситуацию с использованием виртуализации на рабочем месте задействовав пакет VirtualBox, можно конечно же использовать ESXi — только вот ресурсов для такого у меня дома, а иногда и на рабочих местах где мне удалось поработать нет, вот и приходится использовать виртуализацию домашнего уровня. Ну да ладно, главное результат моих задумок оттестировать, а что и где для этого использовалось не столь важный вопрос.
Вот только заготовки виртуальных машин я порой создаю не задумавшись о требования которые накладывают мои задумки, вот и сейчас мне нужно чтобы на виртуальной системе Windows Server 2008 R2 Enterprise системный диск был равен более 25Gb, а лучше чтобы он равнялся 50Gb. Формат который я задавал для диска — это vdi.
ekzorchik@dv6:~$ ls -lh VirtualBox\ VMs/Server2008R2№1/
итого 6,5G
-rw——- 1 ekzorchik ekzorchik 2,0M окт. 5 20:41 BackupAD.vdi
drwx—— 2 ekzorchik ekzorchik 4,0K окт. 21 19:31 Logs
-rw——- 1 ekzorchik ekzorchik 49K окт. 21 19:34 Server2008R2№1.vbox
-rw——- 1 ekzorchik ekzorchik 48K окт. 21 19:31 Server2008R2№1.vbox-prev
-rw——- 1 ekzorchik ekzorchik 6,5G авг. 19 23:43 Server2008R2№1.vdi
drwx—— 2 ekzorchik ekzorchik 4,0K окт. 21 19:30 Snapshots
А внутри системы сейчас свободно: 8.25Gb — мне нужно больше, как этого добиться?
Ниже пошаговые действия, как увеличить размер для виртуальной системы по части задействованного жесткого диска:
Выключаем виртуальную систему:
ekzorchik@dv6:~$ vboxmanage controlvm Server2008R2№1 poweroff
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
ekzorchik@dv6:~$ cd VirtualBox\ Vms/Server2008R2№1/
Далее указываем в MB размер на который хотим расширить диск с уже имеющегося объема на требуемый (т. к. у меня сейчас 25Gb, а нужно 50Gb, то нужно: (50 – 25) * 1024 = 25600Mb, тот объем который будем указывать ниже):
ekzorchik@dv6:~/VirtualBox VMs/Server2008R2№1$ vboxmanage modifyhd Server2008R2№1.vdi --resize 25600
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
После включив VM проверил, что диск как был 25Gb так и остался и ни какого намека на его увеличение нет.
Вроде отработала команда, но размер диска для виртуальной системы не изменился, поэтому снова выключаю VM:
ekzorchik@dv6:~/VirtualBox VMs/Server2008R2№1$ vboxmanage controlvm Server2008R2№1 poweroff
Вообще-то моя формула по которой я расширяю диск не правильна, как оказалось выше, нужно же просто сразу указать размер диска который мне нужен, а именно 50Gb, потому команда будет следующей:
ekzorchik@dv6:~/VirtualBox VMs/Server2008R2№1$ vboxmanage modifyhd Server2008R2№1.vdi --resize 51200
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
Теперь смотря свойства виртуальной системы через окружение VirtualBOX наблюдаю — что виртуальный размер равен 50Gb
Теперь нужно же донести изменения до виртуальной машины, для этого мне понадобится дистрибутив gparted, скачав его с официального сайта, после загружаю его к виртуальной машине с целью загрузиться на него:
включаю ее:
ekzorchik@dv6:~/VirtualBox VMs/Server2008R2№1$ vboxmanage startvm Server2008R2№1
Waiting for VM “Server2008R2№1” to power on…
VM “Server2008R2№1” has been successfully started.
После того как изменения с контейнером виртуальной системы произведены сохраняем их и запускаем виртуальную систему:
Но в очередной раз сталкиваюсь, что размер в 50Gb внутренности виртуальной системы не видят, как же добиться того, чтобы расширить задействованное место гостевой системы?
Внимательное рассмотрение, что же представляет в моем случае каталог с виртуальной машиной осенило меня, я же начал использовать виртуальную машину не обратив внимание что для нее у меня уже создано некое количество снапшотов, поэтому я увеличил размер основного диска, а для диска снапшота на котором я сейчас нахожусь нет — и вот в этом моя проблема. Потому для всех снапшотов проделываю точно такие же действия по увеличению диска:
ekzorchik@dv6:~/VirtualBox VMs/Server2008R2№1$ vboxmanage controlvm Server2008R2№1 poweroff
Проделываю со всеми снапшотами:
ekzorchik@dv6:~/VirtualBox VMs/Server2008R2№1/Snapshots$ vboxmanage modifyhd \{2b10065a-5656-4ee0-9324-49e2babc5f51\}.vdi --resize 51200
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
Проделываю с основным диском виртуальной системы:
ekzorchik@dv6:~/VirtualBox VMs/Server2008R2№1$ vboxmanage modifyhd Server2008R2№1.vdi --resize 51200
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
Далее включаю VM.
После открываю оснастку управления дисками:
Start — Control Panel — Administrative Tools — Server Manager — Storage — Disk Management
перевожу текущий диск в динамический диск, для этого выделяю Disk 0 и через правый клик нахожу элемент меню «Convert to Dynamic Disk…»
Но все равно виртуальная система с осью Windows на борту упорно отказывается видеть добавленное место, обратившись с форумам выяснил, что везде идут по простому пути это сперва удалить все снапшоты, а после для диска в формате vdi через командную строку сделать расширение и уже после когда запустили виртуалку внутри нее через стандартные средства сделать расширение логического тома. Загвоздка же вот в чем — мне необходимы снапшоты, потому как держать кучу систем с различным функционалом это значит занимать драгоценное место на диске, а использование снапшотов это дельта изменений от основной системы, что существенно уменьшает задействованное место.
Снова гружусь с Gparted — Other modes of Gparted Live — Gparted Live (To RAM. Boot media can be removed later) — Don’t touch keymap — 33 и нажимаю далее клавишу Enter — после запустив предварительно консоль командной строки:
Отлично теперь на рабочем столе запускаю приложение gparted и вот что самое удивительно я уже вижу не размеченное пространство в размере тех самых добавленных 25Gb
Отлично же, теперь на разделе /dev/sda3 через правый клик мышью вызываю пункт Resize/Move и посредством мастера текущую область расширяю взявшись левой (зажатой кнопкой) за правый край двигая в самый конец в итоге у меня получается следующее. Далее нажимаю Resize/Move
После диски виртуальной системы примут следующий вид — и для активации внесенных изменений нажимаю «Apply»
Но может случится что на этапе преобразования/расширения будут ошибки — у меня были, из этого далее я попробовал создать просто раздел на выделенной увеличенной части в 25Gb — изменения применились, но вот когда я запустил VM на загрузку, меня ожидало удивление — синий экран смерти и строки белого цвета его сопровождающее, а после меню на черном фоне:
- Launch Startup Repair (recommended)
- Start Windows Normally (при загрузке синий экран)
Выбираю первый пункт:
Но из этого ничего положительно не выходит, все что я пытаюсь сделать успехом не завершается.
Откатываюсь на снапшот того момента на котором я задумал изменить размер логического диска, действиями выше я угробил систему.
И о чудо, открыв оснастку управления дисками обнаружил, что система увидела дополнительное место прибавленное к основному диску:
Это отличные новости, ничего стопорящего не остается, как произвести расширение, этот процесс можно сделать как использую GUI интерфейс, так и интерфейс командной строки из заметки, я для простоты задействую первый вариант → GUI.
Левой кнопкой мыши на логическом диске C: через правый клик вызываю элемент: Extend Volume – Next — указываю размер на который я хочу расширить:
Select the amount of space in MB: 25599 (оставляю данное значение по умолчанию выбранное системой), Next – Finish
В конечном итоге получаю то к чему так стремился, размер логического диска С: стал равен 49.8Gb, а свободно стало — 40,4Gb — результат достигнут.
Теперь подведу итог действий на будущее применительно к гостевой системе Windows:
- выключить виртуальную машину
- если есть снапшоты произвести resize для них
- после сделать resize для диска самой виртуальной системы
- включить виртуальную машину
- и через диспетчер дисков произвести расширение тома
вот и все.
На этом я считаю свои пошаговые действия по задачи которую я сам себе поставил выполненной в полной мере. Что еще самое главное это то что я опробовал на себе и мне знакомы многие нюансы данного процесса, а они мне ой как пригодятся в дальнейшем, так уже было и ни раз. Прощаюсь — до встречи в следующей заметки, с уважением автор блога — ekzorchik.