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

автоматически запускать новую виртуальную машину с помощью sysprep vhd в Hyper-v

У меня есть VHD, который был подготовлен с помощью sysprep (он был создан на самом Hyper-V), и у меня также есть файл ответов, созданный с помощью sysprep. Теперь мне нужно создать новую виртуальную машину с помощью Hyper-V, которая будет использовать созданный выше VHD. Когда я вызываю виртуальную машину, появляется пользовательский интерфейс и ожидает, что я введу имя машины и другие детали. Не могу ли я автоматизировать эту часть и каким-то образом передать файл ответов в Hyper-V, который считывает из него значения и запускает для меня ОС?

Я видел много ссылок, предлагающих использовать SCVMM, но у меня его нет. Разве это невозможно сделать с одним только Hyper-V?

Среды виртуализации, такие как Hyper-V, в основном просто создают виртуальную машину, которая аналогична физической машине в отношении программного обеспечения, работающего на ней. Конечно, каждый продукт виртуализации поставляется с некоторым набором инструментов, которые позволяют влиять на программное обеспечение, работающее на виртуальной машине.

Однако для настройки гостевой ОС Hyper-V не предлагает ничего, кроме того, что есть на физической машине. Представьте себе загрузку физического компьютера с сервера PXE. Вы можете настроить образ на этом сервере и набор файлов автоматической установки для различных клиентов. Затем необходимая ОС будет установлена ​​на физическом компьютере при загрузке по сети.

То же самое и здесь. Вы можете подготовить образ для загрузки на виртуальной машине. Но это ничем не отличается от подготовки образа для загрузки на физическом оборудовании. Hyper-V тут ни при чем. Это просто хранится на VHD.

SCVMM - это продукт управления, который выполняет несколько функций, включая подготовку образов и настройку виртуальных машин на серверах Hyper-V. Если вы не хотите его использовать, ничего страшного. Но не стоит рассчитывать на то, что Hyper-V предлагает услуги по настройке гостевой ОС. Для этого вам нужно будет обрабатывать гостевую рабочую нагрузку, как и любой другой компьютер.

Если вы хотите смонтировать виртуальный жесткий диск, чтобы управлять файлами на нем без SCVMM, см. Эту запись в блоге для получения образца кода сценария:

http://blogs.msdn.com/b/virtual_pc_guy/archive/2008/02/01/mounting-a-virtual-hard-disk-with-hyper-v.aspx

Я никогда не пробовал это раньше, но могу придумать 2 варианта.

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

  • Вы также можете запустить файл сценария на виртуальной машине при ее первой загрузке после установки ОС, которая считывает данные конфигурации через службу обмена данными и фактически выполняет настройку. Сервис обмена данными автоматически включается по умолчанию. Когда вы редактируете определенные разделы реестра на главном компьютере, они будут отображаться в соответствующих разделах реестра на виртуальной машине.

Ну, здесь пользователи отдельно от админов. Админы привыкли писать сценарии.

PowerShell можно использовать для управления Hyper-V - есть командлеты, которые можно загрузить для вещей, которых еще нет (без них Hyper-V API будет довольно загадочным). Остальное - это упражнение для младших администраторов по написанию сценария для чтения файла ответов и настройки гипервизора. ЭТО СКАЗАЛО - очевидно, что он не может легко получить доступ к файлу ответов, встроенному в сам vhd. И перемещение файла ответов в Hyper-V - еще одна сложная проблема, для которой я серьезно рекомендую вам хотя бы проверить SCVMM.

Примечание. Это только Hyper-V, если вы считаете, что PowerShell доступен, а PowerShell в наши дни является частью основных функций Windows.