В Hyper V создание виртуальной машины можно выполнить множеством способов. Это можно сделать множеством способов, но мы разберем с Powershell и диспетчер Hyper V.
Создание виртуальных машин одинаковое в случаях всех версий Windows. Если вы планируете установить Linux, то после создания ВМ может потребоваться отключить опцию Secure Boot.
В случае с интерфейсом первое что нужно сделать это зайти по следующему пути:
В первом, ознакомительном, окне нажимаем далее. В следующем окне мы можем выбрать имя машины (1) и указать где будет находиться файл конфигурации. По умолчанию директория для файла конфигурации берется из настроек Hyper V. Рядом с этим файлом будут храниться и снимки виртуальных машин, которые могут занимать много места.
Сама ВМ состоит из нескольких файлов - это файлы конфигураций и виртуальный диск. После создания эти файлы можно переместить. Я обычно располагаю их в одном месте.
На следующей вкладке мы видим возможность выбора поколения ВМ. Все операционные системы могут работать в первом поколении виртуальных машин (Generation 1), большинство 64-разрядных систем могут работать в поколении 2 (Generation 2). Легче всего представлять, что первое поколение это машины с BIOS и MBR, а второе с UEFI и GPT. В основном отличия такие:
- Generation 1 - если редакции ниже и включая Windows Server 2008 R2, Windows 7, CentOS 5, Debian 7, FreeBSD 10.1, Oracle Linux 6, Ubuntu 12 либо это 32 разрядные системы. В этом поколении используются контроллеры IDE, виртуальный диск VHD до 2 ТБ и VHDX.
- Generation 2 - в редакциях выше предыдущих, например Windows Server 2012, и 64 - разрядные. Все характеристики имею больше возможностей, чем машины предыдущих.
В большинстве случаем выбирается поколение 2. В дальнейшем этот параметр нельзя изменить:
В следующем окне мы можем выбрать фактическую память, которая будет присвоена ВМ и возможность использования памяти из пула динамической памяти. В отличие от VMWare ESXI гипервизор Hyper V не может использовать больше памяти, чем фактически установлено в системе. От этого следует, что в промышленной среде этот выбор нужно делать более обдумано. Если бы я устанавливал AD на ВМ, в маленькой организации, то я бы указал 5 Гб памяти для запуска машины ( Windows Server поставляется только в редакциях х64) и указал мы возможность использования динамической памяти. В таком случае, если понадобиться, виртуальная машина могла бы брать память из динамического пула. При этом в последующем можно установить диапазон динамической памяти, ее приоритет и многое другое. Эти параметры потом можно будет изменить и какие-то в случае работающей ВМ.
На этой странице мы можем выбрать коммутатор к которому будет подключен виртуальный адаптер машины. Мы создавали Hyper V коммутатор в прошлой статье. В этом окне мы можем его выбрать, так же можно это сделать после создания машины Hyper V.
На следующей шаге выбирается диск. В первом случае мы создаем новый диск. Стоит ввести имя устройства и выбрать его расположение. Я располагаю диски там же где и файл конфигурации ВМ. В этом окне создаются диски динамического типа, но всего существует три типа технологии работы дисков:
- Динамические (Dynamically) - их размер растет с 0 КБ до размера указанного в настройках. Тем самым у вас не занимается все место на хосте Hyper V. В ESXI такие диски называются Thin Provision.
- Фиксированные (Fixed) - на хосте Hyper V сразу создается файл с указанным разделом. В ESXI такие диски называются Thick Provision Lazy Zeroed.
- Дифференциальные или Разностные (Differencing) - работа похожа на дифференциальный бэкап, но в этом случае подразумевается вложенность дифференциального диска в динамический или фиксированный.
По принципу дифференциальных дисков так же часто приводят пример с работой чекпоинтов (снэпшотов), они работают похожим образом.
Дифференциальный не используется в рабочей среде, рекомендуется использовать только в тестовых средах. Я, в тестовых стендах, использую только динамический тип.
В рабочей среде я использую устройства только фиксированного типа. После создания мы получаем фактический размер, при установке ОС мы всю область сразу форматируем, а если не хватает размера, то мы можем увеличить диск Hyper V.
Во втором окне мы можем подключить либо новый пустой диск, либо уже с установленной ОС.
В третьем варианте мы не создаем диск и ничего не подключаем. Подключить и создать диск можно и после создания виртуальной машины.
В предпоследнем окне мы можем подключить образ ОС, установить операционную систем через сеть либо сделать это позже.
На последнем шаге еще раз можем проверить выбранные данные и нажать кнопку подтверждения. После этого виртуальный сервер будет создан.
Дальше запускаем виртуальную машину Hyper V. Гипервизор запуститься с установочного диска. Возможно потребуется начать любую кнопку. Сама установка ОС на виртуальную машину Hyper V ничем не отличается от обычной:
Так как я устанавливал не Windows, а сервер CentOS т.е. Linux у меня появится ошибка:
No operating system was loaded. Your virtual machine may be configured incorrectly
Система не может загрузится.
Связано это с такой опцией как "Безопасная загрузка" или "Secure Boot". В случае с ОС Windows в Hyper V уже есть сертификаты, которые бы могли подписать загрузчик. В случае с Linux это нужно сделать через Powershell, на выключенной виртуалке:
Set-VMFirmware -VMName 'CentOS Virtual' -SecureBootTemplate MicrosoftUEFICertificateAuthority
На сколько помню, в случае с FreeBSD, это не поможет. В этом случае нужно отключить Безопасную загрузку вовсе. Для этого зайти в настройки виртуальной машины Hyper V:
После этого зайти во вкладку безопасность и снять галочку с "Enable Secure Boot".
После этого запуск виртуальной машины Hyper V будет успешной и мы сможем выполнить установку.
Создание виртуальной машины Hyper V в Powershell
Если запустить команду без параметров, то ВМ создастся Generation 1 и без жесткого диска:
New-VM
Через эту команду мы можем создать виртуальны винчестер, но он будет динамическим. Как и в случае с GUI диск возможно создать и отдельно, а затем подключить его. Командой ниже я создам виртуальную машину с Win 10 х64, стартовой памятью 4GB, она будет поколения 2, с диском VHDX в 40GB и без подключения к коммутатору:
New-VM -Name 'Windows 2012' -MemoryStartupBytes 4GB -Generation 2 -NewVHDSizeBytes 40GB -NewVHDPath 'C:\win2012.vhdx' -BootDevice VHD
Где:
- NewVHDSizeBytes - указывает на передельный размер VHDX файла. Это значение может быть и в терабайтах TB и мегабайтах MB.
- NewVHDPath - путь до папки, где будет храниться файл.
- MemoryStartupBytes - выделенная память. Аналогично созданию диска можно указывать TB и MB. По умолчанию динамическая память отключена.
- Generation - поколение 1 или 2
- BootDevice - устройство с которого будет загрузка. Возможные значения Floppy, CD, IDE, LegacyNetworkAdapter, NetworkAdapter, VHD.
Можно создать виртуальный винчестер, а затем, в этой команде, его подключить. Команда ниже создаст фиксированный винчестер размером в 40Гб. В деталях команду рассматривать не будем, так как мы уже говорили о создании виртуальных дисков Hyper V.
New-VHD -Path 'C:\centos.vhdx' -SizeBytes 40GB -Fixed
Затем я подключу этот винчестер когда выполню в Hyper V создание машины CentOS. Я так же подключу машину к существующему сетевому коммутатору:
New-VM -Name 'CentOS' -MemoryStartupBytes 4GB -Generation 2 -VHDPath 'C:\centos.vhdx' -BootDevice VHD -SwitchName 'Ext Test'
Имена свитчей смотрятся через команду:
Get-VMNetworkAdapter
Если у вас нет коммутаторов почитайте про создание и настройку виртуальных коммутаторов Hyper V.
Способом ниже мы включим динамическую память на одной из созданных выше ВМ:
Set-VM -Name 'Windows 2012' -DynamicMemory
Скорее всего нужно установить ОС. Для этого нам нужно создать привод и указать путь до ISO файла:
# Создание DVD привода
Add-VMDvdDrive -VMName 'CentOS'
# Установка в привод образа
Set-VMDvdDrive -VMName 'CentOS' -Path 'C:\HV\CentOS-7-x86_64-Minimal-1810.iso'
В случае установки Linux может понадобиться отключить безопасную загрузку, как и в случае показанном при установке с GUI:
Set-VMFirmware -EnableSecureBoot Off -VMName 'CentOS'
Выполним запуск виртуальной машины Hyper V в Powershell:
Start-VM 'CentOS'
В моем случае я сразу загрузился с DVD привода.
...
Подписывайтесь на наш Telegram канал
Теги: #powershell #hyper-v