Назад | Перейти на главную страницу

Добавление второго виртуального жесткого диска к виртуальной машине Hyper-V программным способом или из командной строки

Я уже некоторое время успешно пишу сценарии создания моих виртуальных машин Hyper-V с vbscript. Все, что нужно сделать техническому специалисту, это запустить мой сценарий, выбрать тип создаваемого им сервера (например, веб-сервер, SQL-сервер и т. Д.), И все соответствующие виртуальные ресурсы будут выделены (поэтому размер ОЗУ, размер диска и т. Д. Будут отличаться. в зависимости от функции сервера).

Проблема в том, что мне нужно изменить сценарий, чтобы добавить второй VHD. Его можно либо добавить в качестве вторичного диска на IDE Controller 0, либо в IDE Controller 1 (оставив первичный диск на IDE Controller 0).

Я разместил этот вопрос в StackOverflow 22.02.12: https://stackoverflow.com/questions/9395823/scripting-the-addition-of-a-second-vhd-to-a-hyper-v-vm. У меня было очень мало обращений, но пока никаких ответов.

Я не могу понять, как изменить существующий код, чтобы добавить второй VHD!

Полагаю, есть два варианта:

  1. Измените мой сценарий, заменив существующие функции другим программным подходом. Любые идеи?
  2. Если кто-то знает, как это сделать с помощью командной строки, я могу довольно легко включить этот подход в свой сценарий, используя объект оболочки.

Я открыт для любых предложений.

Спасибо.

При создании / изменении виртуального жесткого диска в Hyper-V вам необходимо позаботиться о трех объектах WMI: Controller, Drive и VHD. Только контроллер автоматически создается при создании виртуальной машины.
Чтобы создать объект Drive, вам необходимо клонировать определение жесткого диска, которое является объектом Msvm_ResourceAllocationSettingData, установить его родительский элемент на путь к объекту Controller и его Address равным '0' или '1'. Чтобы создать объект VHD, клонируйте определение VHD, которое относится к тому же классу WMI, а в параметрах Connections укажите путь к файлу VHD.

Также есть библиотека Powershell для Hyper-V. http://pshyperv.codeplex.com/