В этой статье я расскажу о создании образа ВМ с Windows Server, его развертывании и создании тестовой среды для работы с Windows Server.
Я часто создаю ВМ с Windows для тестирования различных технологий. Со временем я частично автоматизировал этот процесс и хочу об этом расказать. Эта статья может быть интересна начинающим Windows администраторам. Затронуты будут следующие темы:
Для работы тестовой среды я использую домашний компьютер со следующими характеристиками:
При одновременной работе нескольких виртуальных машин большая нагрузка идет на диски. Поэтому я рекомендую размешать диски виртуальных машин на SSD. Наличие производительной дисковой системы в первую очередь будет влиять на отклик виртуальной машины. По ссылке можно ознакомить с полными требованиями для установки Hyper-V в Windows 10. Отмечу следующее, вы не сможете установить Hyper-V на Windows 10 Домашняя. Также обязательно наличие процессора с поддержкой виртуализации.
Запутите консоль PowerShell от имени администратора. В дальнейшем все команды PowerShell требуется выполнять в консоли с правами администратора.
Выполните следующую команду.
Перезагрузите компьютер.
Для доступа виртуальной машины к сети требуется создать коммутатор Hyper-V и подключить к нему адаптер виртуальной машины. Код на PowerShell:
— выводит список сетевых адаптеров в системе
— переименовывает адаптеры для удобства
— создает виртуальный коммутатор Hyper-V
Если у вас только один сетевой адаптер, используйте следующую команду для создания виртуального коммутатора
— AllowManagementOS $true — автоматически создаст виртуальный сетевой адапетр хоста и подключит его к новому коммутатору. При создании на виртуальный адаптер хоста будут перенесены параметры конфигруации физического адаптера, к которому подключается виртуальный коммутатор.
Также настроим расположение файлов конфигруций и жестких дисков для новых виртуальных машин на нашем гипервизоре. В примере задается путь «F:\Hyper-V\».
На это базовая настройка Hyper-V завершена и можно приступать к созданию виртуальных машин.
Сначала создадим виртуальную машину WindowsSvr2012R2.
— $pathvm каталог для хранения конфигурации ВМ
— $pathvhd каталог для хранения виртуального жесткого диска
— $vmname имя виртуальной машины
— New-VHD создать новый виртуальный жесткий диск
— New-VM создать новую виртуальную машину
— Set-VMMemory задать параметры памяти
— Add-VMDvdDrive подключить образ в формате ISO к виртуальной машине (подключить установочный образ необходимой вам ОС)
— Set-VMFirmware выбрать подключенный образ первым загрузочным устройством
Теперь запускаем виртуальную машину WindowsSvr2012R2
Теперь необходимо подготовить образ. Для этого необходимо выполнить:
— Установить ОС
— Установить обновления ОС
— Установить необходимые программы и утилиты
Теперь все готово к подготовке образа к развертыванию. В командной строке виртуальноый машины необходимо выполнить команду Sysprep. Она подготовит образ к дальнейшему развертыванию.
После окончания работы Sysprep виртуальная машина выключится и у нас будет готовый vhdx файл для дальнейшего развертывания. Если теперь сразу включить вм, она загрузится на этапе OOBE процесса установки Windows. И после принятия лицензионного соглашения и настройки региональных параметров будет готова к работе.
Для экономии свободного места на диске при создании новой виртуальной машины можно использовать разностный виртуальный диск. При создании разностного диска необходимо определить диск «родитель». Данные диска родителя будут доступны на разностном диске, но все изменения, которые вносятся на разностный диск будут сохранены в отдельном файле. Таким образом подготовив диск с образом ОС и используя его в качестве родительского диска, мы можем быстро развертывать новые виртуальные машины.
Важное о работе с разностным диском:
— размер разностного диска не может превышать размер диска родителя
— важно сохранять неизменным диск родитель, его изменение приведет к поломке всех разностных дисков для которых он был родителем
— используя Hyper-V Manager можно объеденить диск потомок и диск родитель. При этом можно выбрать, будет ли создан новый диск содержащий данные с родителя и потомка. Или данные диска потомка будут перенесены на диск родитель.
— диск потомок может выступать родителем для нового разностного диска
— я рекомендую использовать ВМ с разсностынми дисками только для целей тестирования
Для создания виртуальной машины с разностным диском можно использовать следующий код.
— $pathvm каталог для хранения конфигурации ВМ
— $pathvhd каталог для хранения виртуального жесткого диска
— $parentvhd задаем диск родитель
— $vmname имя виртуальной машины
— New-VHD создаем разностный диск
— New-VM создать новую виртуальную машину и подключить разностный диск
— Set-VMMemory задать параметры памяти
Таким образом можно быстро развернуть тестовую среду с идентичными виртуальными машинами.
Я часто создаю ВМ с Windows для тестирования различных технологий. Со временем я частично автоматизировал этот процесс и хочу об этом расказать. Эта статья может быть интересна начинающим Windows администраторам. Затронуты будут следующие темы:
- Установка и базовая настройка Hyper-V в Windows 10
- Создание образа виртуальной машины
- Создание виртуальной машины из образа на базе разностного диска
Для работы тестовой среды я использую домашний компьютер со следующими характеристиками:
- Intel Core i5-3570K
- 32 GB RAM
- SSD 128GB — System
- SSD 512GB — Hyper-V
- 2x1Gbps NIC
- ОС Microsoft Windows 10 Enterprise
При одновременной работе нескольких виртуальных машин большая нагрузка идет на диски. Поэтому я рекомендую размешать диски виртуальных машин на SSD. Наличие производительной дисковой системы в первую очередь будет влиять на отклик виртуальной машины. По ссылке можно ознакомить с полными требованиями для установки Hyper-V в Windows 10. Отмечу следующее, вы не сможете установить Hyper-V на Windows 10 Домашняя. Также обязательно наличие процессора с поддержкой виртуализации.
Установка и базовая настройка Hyper-V в Windows 10
Запутите консоль PowerShell от имени администратора. В дальнейшем все команды PowerShell требуется выполнять в консоли с правами администратора.
Выполните следующую команду.
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Перезагрузите компьютер.
Для доступа виртуальной машины к сети требуется создать коммутатор Hyper-V и подключить к нему адаптер виртуальной машины. Код на PowerShell:
— выводит список сетевых адаптеров в системе
— переименовывает адаптеры для удобства
— создает виртуальный коммутатор Hyper-V
Почему скриншоты, где Ctrl-C + Ctrl-V
Код приводится для примера. И я считаю, что лучше один раз набрать код самому. Что поможет его быстрее запомнить.
Если у вас только один сетевой адаптер, используйте следующую команду для создания виртуального коммутатора
New-VMSwitch -Name VMSW01 -NetAdapterName 'Ethernet' -MinimumBandwidthMode Weight -AllowManagementOS $true
— AllowManagementOS $true — автоматически создаст виртуальный сетевой адапетр хоста и подключит его к новому коммутатору. При создании на виртуальный адаптер хоста будут перенесены параметры конфигруации физического адаптера, к которому подключается виртуальный коммутатор.
Также настроим расположение файлов конфигруций и жестких дисков для новых виртуальных машин на нашем гипервизоре. В примере задается путь «F:\Hyper-V\».
На это базовая настройка Hyper-V завершена и можно приступать к созданию виртуальных машин.
Создание образа виртуальной машины
Сначала создадим виртуальную машину WindowsSvr2012R2.
— $pathvm каталог для хранения конфигурации ВМ
— $pathvhd каталог для хранения виртуального жесткого диска
— $vmname имя виртуальной машины
— New-VHD создать новый виртуальный жесткий диск
— New-VM создать новую виртуальную машину
— Set-VMMemory задать параметры памяти
— Add-VMDvdDrive подключить образ в формате ISO к виртуальной машине (подключить установочный образ необходимой вам ОС)
— Set-VMFirmware выбрать подключенный образ первым загрузочным устройством
Теперь запускаем виртуальную машину WindowsSvr2012R2
Start-VM WindowsSvr2012R2
Теперь необходимо подготовить образ. Для этого необходимо выполнить:
— Установить ОС
— Установить обновления ОС
— Установить необходимые программы и утилиты
Теперь все готово к подготовке образа к развертыванию. В командной строке виртуальноый машины необходимо выполнить команду Sysprep. Она подготовит образ к дальнейшему развертыванию.
c:\windows\system32\Sysprep /generalize /oobe /mode:vm /shutdown
После окончания работы Sysprep виртуальная машина выключится и у нас будет готовый vhdx файл для дальнейшего развертывания. Если теперь сразу включить вм, она загрузится на этапе OOBE процесса установки Windows. И после принятия лицензионного соглашения и настройки региональных параметров будет готова к работе.
Как сделать еще быстрее
Этап настройки OOBE можно пропустить, если заранее подготовить файл ответов.
Настройка Sysprep и файла ответов [на английском]
Настройка Sysprep и файла ответов [на английском]
Создание виртуальной машины из образа на базе разностного диска
Для экономии свободного места на диске при создании новой виртуальной машины можно использовать разностный виртуальный диск. При создании разностного диска необходимо определить диск «родитель». Данные диска родителя будут доступны на разностном диске, но все изменения, которые вносятся на разностный диск будут сохранены в отдельном файле. Таким образом подготовив диск с образом ОС и используя его в качестве родительского диска, мы можем быстро развертывать новые виртуальные машины.
Важное о работе с разностным диском:
— размер разностного диска не может превышать размер диска родителя
— важно сохранять неизменным диск родитель, его изменение приведет к поломке всех разностных дисков для которых он был родителем
— используя Hyper-V Manager можно объеденить диск потомок и диск родитель. При этом можно выбрать, будет ли создан новый диск содержащий данные с родителя и потомка. Или данные диска потомка будут перенесены на диск родитель.
— диск потомок может выступать родителем для нового разностного диска
— я рекомендую использовать ВМ с разсностынми дисками только для целей тестирования
Для создания виртуальной машины с разностным диском можно использовать следующий код.
— $pathvm каталог для хранения конфигурации ВМ
— $pathvhd каталог для хранения виртуального жесткого диска
— $parentvhd задаем диск родитель
— $vmname имя виртуальной машины
— New-VHD создаем разностный диск
— New-VM создать новую виртуальную машину и подключить разностный диск
— Set-VMMemory задать параметры памяти
Таким образом можно быстро развернуть тестовую среду с идентичными виртуальными машинами.
Комментарии (5)
Nnnnoooo
26.11.2021 23:26+1больше всего умиляет когда рассказывают насчет разностных дисков, хотя по факту полезность их через полгодика-год учитывая постоянные обновления системы на виртуалках стремится к нулю.
The_Kf
27.11.2021 14:38Разностные диски подходят для инфраструктур, которые часто пересоздаются, разумеется
Nnnnoooo
30.11.2021 20:42Это понятно, но насколько часто это нужно в юзкейсах, описанных в статье? Здесь же обычная 10-ка, простой комп, обычные юзерские виртуалки (и сервер). Т.е. разностные диски здесь вообще не в тему.
psynix
привет, пикабу.