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

VMware logo Недавно возникла необходимость увеличить размер дискового пространства на виртуальной машине, работающей на сервере под управлением VMWare vSphere v5.5. Операционная система на виртуальной машине Microsoft Windows XP с первоначальным размером диска в 20 гигабайт. Этого для тестов оказалось мало, было принято решение о выделении под неё дополнительных 5 Gb.

Вроде бы тривиальная задача, однако для её решения пришлось прибегнуть к некоторым уловкам. Как оказалось, на увеличение дискового пространства уже созданной виртуальной машины накладывается рад ограничений. Его невозможно выполнить, если:

  • виртуальная машина имеет снимки (snapshot);
  • виртуальная машина является связанным клоном или родителем связанного клона;
  • виртуальная машина в качестве контроллера для своего диска использует IDE.

Первое ограничение можно обойти просто удалив все снимки, если они есть (желательно перед этим скопировать их посредством shell в другое место). Для этого в консоли vSphere Client (у меня она версии 5.5.0) выберите необходимую виртуальную машину, откройте для неё Snapshot Manager и удалите все снимки, как показано ниже:

Увеличение диска VM на vmware - 10

Второго ограничения у меня не было (проверить можно, зайдя на вкладку Summary в консоли vSphere Client для этой виртуальной машины), а вот третье и стало небольшим камнем преткновения на пути решения моей задачи. При создании данной виртуальной машины контроллером для ее диска был выбран IDE, поэтому окно размера дискового пространства (остановленной виртуальной машины) оставалось неактивным:

Увеличение диска VM на vmware - 11

Если бы виртуальный контроллер был SCSI, то расширение дискового пространства для такой машины сводился бы к её остановке и простому увеличению цифры в указанном окошке до необходимого значения. Мне же пришлось выполнить следующее:

1. определяем расположение (Storage) требуемой виртуальной машины из консоли vSphere Client, зайдя на вкладку Summary:

Увеличение диска VM на vmware - 12

2. подключаемся к серверу под управлением VMWare vSphere v5.5 по ssh, предварительно включив такую возможность (если она у вас всё ещё не задействована) непосредственно с консоли сервера vSphere.

3. определяем в shell физическое расположение необходимого Storage:

~ # df -h | grep VirtualMachine
VMFS-5     419.0G 276.1G    142.9G  66% /vmfs/volumes/VirtualMachine
~ # cd /vmfs/volumes/VirtualMachine
/vmfs/volumes/5472fa91-b5470d28-d257-d485646bbf92 # ls -Al | grep sit-0xx.domain.ru
drwxr-xr-x    1 root     root          3220 Sep  9 17:40 sit-0xx.domain.ru

4. останавливаем нашу виртуальную машину и даём в shell сервера VMWare vSphere команду на увеличение дискового пространства:

vmkfstools -X newsize /vmfs/volumes/volume name/[VM directory name]/[имя диска виртуальной машины]

, где newsize — новый размер диска в MB/GB. В моём случае команда приняла вид:

~ # vmkfstools -X 25GB /vmfs/volumes/VirtualMachine/sit-0xx.domain.ru/sit-0xx.domain.ru.vmdk
Grow: 100% done.

5. запускаем нашу виртуальную машину и зайдя в оснастку Управление компьютером -> Управление дисками увидим добавившееся нераспределённое пространство.

Увеличение диска VM на vmware - 1

6. далее потребуется любым известным вам способом расширить системный диск на это пространство. Для этой цели я выбрал бесплатную утилиту GNOME Partition Editor.

Скачайте образ .iso последней версии и подмонтируйте его требуемой виртуальной машине:

Увеличение диска VM на vmware - 13

7. теперь необходимо загрузиться с этого образа утилиты GParted, подмонтированного в ваш CD-Rom. Для этого в начальный момент загрузки, когда отображается экран POST vmware, вы можете либо вызвать меню загрузки (Boot Menu), нажав Esc, либо меню порядка загрузки в BIOS, нажав F2. Вся загвоздка заключилась в том, что экран POST проскакивал слишком быстро (а в некоторых случаях он может вообще не появляться) и не реагировал на нажатие клавиш. Пришлось снова прибегнуть к небольшому трюку, который заключается в задании времени задержки экрана POST для нужной виртуальной машины. Для этого в соответствующий файл с расширением .vmx внесите следующий параметр bios.bootDelay = "delay in ms" — максимум 10000 мс:

~ # vi /vmfs/volumes/VirtualMachine/sit-0xx.domain.ru/sit-0xx.domain.ru.vmx
...
bios.bootDelay = "1000"
...

8. наконец-то у меня возникла возможность загрузиться с образа GParted:

Увеличение диска VM на vmware - 2

9. после загрузки запускается сама утилита GParted, которая отобразит существующте разделы виртуальной машины:

Увеличение диска VM на vmware - 3

10. кликните на графическое изображение разделов диска правой клавишей мыши и выберите из появившегося меню “Изменить размер или переместить”:

Увеличение диска VM на vmware - 4

11. сделайте необходимые изменения потянув за полозок вправо до упора и нажмите кнопку “Изменить размер или переместить”:

Увеличение диска VM на vmware - 5

12. зайдите в меню “Правка” и выберите пункт “Применить все операции”:

Увеличение диска VM на vmware - 6

13. подтвердите операцию:

Увеличение диска VM на vmware - 7

14. закройте окно выполнения операции по расширению партиции:

Увеличение диска VM на vmware - 8

15. выйдите из GParted через меню “Файл – Выход” и остановите виртуальную машину через иконку на рабочем столе “Exit”:

Увеличение диска VM на vmware - 9

16. загрузившись в виртуальную машину вы убедитесь, что размер её диска увеличился до необходимого.

Надеюсь, приведённая информация окажется кому-нибудь полезной. Удачи!