Разное

Виртуальный коммутатор hyper v: Добавление компонентов [Установка] Hyper-V в Windows 10 | Создание виртуальной машины

Содержание

Добавление компонентов [Установка] Hyper-V в Windows 10 | Создание виртуальной машины

Содержание статьи:

Мы добавим компоненты Hyper-V в Windows 10, рассмотрим вариант создания виртуальной машины с помощью Hyper-V, а также рассмотрим её параметры.

Добавляем компоненты Hyper-V.

Запускаем «Выполнить» любым из двух способов:

  1. Жмём правой кнопкой по меню «Пуск» и выбираем «Выполнить».(Рис.1)
  2. Нажимаем сочетание клавиш «Win»+«R».

Рис.1 — Правой кнопкой «Пуск» -> «Выполнить».

Вводим appwiz.cpl (Рис.2)

Рис.2 — Вводим appwiz.cpl

Откроется окно «Программы и компоненты». Слева нажимаем «Включение или отключение компонентов Windows».(Рис.3)

Рис.3 — Программы и компоненты.

Откроется окно «Компоненты Windows». Выбираем всё что есть в разделе Hyper-V.(Рис.4)

Жмём «Ок».

Рис.4 — Выбор компонентов Hyper-V.

Ждём установку компонентов — Применение изменений, и нажимаем «Перезагрузить сейчас».(Рис.5)

Рис.5 — Применение компонентов, перезагрузка системы.

На этом Добавление компонентов закончено. Приступаем к работе с Hyper-V


Запуск Hyper-V.

В меню «Пуск» -> «Средства администрирования Windows» появился ярлык «Диспетчер Hyper-V». Запускаем его.(Рис.6)

Рис.6 — Запускаем Диспетчер Hyper-V.

Перед нами стартовое окно «Диспетчера Hyper-V».(Рис.7)

Рис.7 — Стартовое окно Диспетчера Hyper-V.


Настройка сети.

Выбираем слева наш компьютер, у меня это — DESKTOP-9PLBR7Q, справа появится меню «Действия», Нажмите на пункт «Диспетчер виртуальных коммутаторов».(Рис.8)

Рис.8 — Заходим в Диспетчер виртуальных коммутаторов.

В «Диспетчере виртуальных коммутаторов» нажмите «Создать виртуальный коммутатор».(Рис.9)

Рис.9 — Создаём виртуальный коммутатор.

Введите Имя,  у меня это — Hypernet и примечание, у меня это — Сеть Hyper-V.(Рис.10)

Так же выберете Тип  подключения. Я выбрал подключение к Внешней сети через мою сетевую карту — «Realtek PCIe GBE Family Controller». А также установил галочку в чекбоксе «Разрешить управляющей операционной системе предоставлять общий доступ к этому сетевому адаптеру».

Жмём «Применить».

Рис.10 — Свойства виртуального коммутатора.

Выскакивает предупреждение «Ожидающие изменения могут нарушить сетевое подключение».(Рис.11) Я предполагаю, что эту статью будут читать новички, а значит они вряд ли будут пошагово повторять за мной, используя задействованный сервер, своего предприятия 😀. Следовательно ничего страшного в том, что мы можем на некоторое время потерять сетевое подключение. Жмём «Да» и ждём «Применение изменений».

Как удалить виртуальный Ethernet-коммутатор Hyper-V

Это было проверено на Windows 10 1607.

Короткий ответ, если вы используете Docker:

PS> Stop-Service com.docker.service PS> Remove-ContainerNetwork -Name nat 

Длинный ответ:

Если вы столкнетесь с этой ситуацией и у вас будут включены контейнеры или установлен Docker, вам нужно остановить Docker, прежде чем вы сможете удалить VMSwitch.

PS> Get-VMSwitch  Name SwitchType NetAdapterInterfaceDescription ---- ---------- ------------------------------ DockerNAT Internal nat Internal Windows Phone Emulator Internal Switch Private Primary Virtual Switch External Intel(R) Wireless 

Как видите, у меня есть имя VMS-переключателя nat. Я хочу, чтобы это ушло.

PS> Remove-VMSwitch -Name nat  Confirm Are you sure you want to remove the virtual switch "nat"? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): Remove-VMSwitch : Failed while removing virtual Ethernet switch. Switch delete failed, switch = '<guid>': General access denied error (0x80070005). At line:1 char:1 + Remove-VMSwitch -Name nat + ~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : PermissionDenied: (:) [Remove-VMSwitch], VirtualizationException + FullyQualifiedErrorId : AccessDenied,Microsoft.HyperV.PowerShell.Commands.RemoveVMSwitch 

Ответ оказался довольно простым. Поскольку я настроил natVMS-переключатель с NetNat, я удалил NetNat. Я не уверен, является ли это необходимым шагом, но я все равно сделал это.

PS> Get-NetNat -Name '<name>' | Remove-NetNat 

Затем я остановил Докер.

PS> Stop-Service com.docker.service 

И наконец

PS> Remove-ContainerNetwork -Name nat  Confirm Remove-ContainerNetwork will remove the container network "nat". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): 

Чтобы убедиться, что оно пропало:

PS> Get-VMSwitch  Name SwitchType NetAdapterInterfaceDescription ---- ---------- ------------------------------ DockerNAT Internal Windows Phone Emulator Internal Switch Private Primary Virtual Switch External Intel(R) Wireless 

windows-10 — Как удалить виртуальный Ethernet-коммутатор Hyper-V

Я не уверен, что это правильно, но у меня сработало:https://www.online-tech-tips.com/computer-tips/unable-delete-network-adapter-windows-10/


Источник: Невозможно удалить сетевой адаптер в Windows 10?

Способ 1 — использование диспетчера устройств

Первое, что вы можете попытаться сделать, это открыть Диспетчер устройств (нажмите «Пуск» и введите «Диспетчер устройств»), разверните «Сетевые адаптеры», а затем щелкните правой кнопкой мыши сетевой адаптер, который вы хотите удалить.

Здесь вы увидите опцию под названием Удаление устройства. Надеюсь, это не должно быть серым. Если это так, перейдите к следующему способу. Когда вы выбираете удалить устройство, появится другое окно с просьбой подтвердить удаление.

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

Если вы не видите устройства, перечисленного здесь, вы можете попробовать нажать « Просмотр», а затем « Показать скрытые устройства».

Способ 2 — удалить профиль сети

Мы также можем попытаться удалить профиль сети через командную строку, а затем снова попробовать метод 1. Сначала необходимо открыть командную строку с повышенными привилегиями, нажав кнопку «Пуск», введя CMD, а затем щелкните правой кнопкой мыши командную строку и выберите « Запуск от имени администратора».

Теперь введите следующую команду, чтобы увидеть все проводные (Ethernet) адаптеры:

netsh lan show profiles

Если вам нужно удалить беспроводной адаптер, введите эту команду:

netsh wlan show profiles

Если вы получите какое — то сообщение об ошибке об услуге проводной или WLAN автонастройки не работает, а затем нажмите кнопку Пуск, введите services.msc, щелкните правой кнопкой мыши на соответствующую службу и выберите Start.

Теперь, когда вы запустите команду, вы должны увидеть список профилей. В моем случае у меня только один профиль на этом компьютере.

Затем введите следующую команду, которая удалит нужный интерфейс.

netsh lan delete profile interface="InterfaceName"

Опять же, если это беспроводной интерфейс, используйте wlan вместо lan. Имя интерфейса указывается в верхней части каждого заголовка (Профиль в имени интерфейса), когда вы запустили команду show profile. Как только профиль был удален, перезагрузите компьютер и попробуйте метод 1 снова.

Способ 3 — удалить настройки адаптера через реестр

ВАЖНЫЙ

Если вам нужно отредактировать реестр, сначала сделайте резервную копию реестра.

Помимо удаления профиля сети, вы также можете попытаться удалить настройки адаптера через реестр. После удаления настроек вы можете вернуться к способу 1 и попытаться удалить адаптер. Чтобы удалить настройки, откройте редактор реестра (нажмите «Пуск» и введите regedit.msc) и перейдите к следующему ключу:

HKEY_LOCAL_MACHINE - SYSTEM - CurrentControlSet - Services - Tcpip - Parameters - Interfaces

Вы увидите несколько предметов, перечисленных с длинной серией случайных чисел. Если вы щелкнете по каждому из них, вы увидите IP-адрес, назначенный этому сетевому адаптеру.

Вы можете подтвердить, какой сетевой адаптер соответствует этому разделу реестра, открыв командную строку (Start и введите cmd) и введя в ipconfig.

Как видите, Ethernet-адаптер имеет IP-адрес 192.168.1.233. Таким образом, вы удалили бы ключ в разделе Интерфейсы, который начинается с {73123f2a-ad10-4f4b-900e…}. Если вы щелкнете по другому интерфейсу, у одного из них будет IP 192.168.247.1, который соответствует сетевому адаптеру VMWare на компьютере. Опять же, это только удаляет настройки для адаптера, а не сам адаптер. Перезагрузите компьютер и попробуйте способ 1 снова.

Для получения дополнительной информации, пожалуйста, перейдите по следующей ссылке:

https://www.online-tech-tips.com/computer-tips/unable-delete-network-adapter-windows-10/

Создание виртуальной машины Hyper-V в powershell · Павел Сатин

Список сетевых адаптеров:

Get-NetAdapter

PS C:\Users\Administrator> Get-NetAdapter

Name                      InterfaceDescription                    ifIndex Status

----                      --------------------                    ------- -----
Embedded LOM 1 Port 2     HPE Ethernet 1Gb 2-port 332i Adapter #2      14 Di...
Embedded LOM 1 Port 1     HPE Ethernet 1Gb 2-port 332i Adapter         13 Up

Создаем новый внешний виртуальный коммутатор:

New-VMSwitch -name Virtual_LAN0  -NetAdapterName "Embedded LOM 1 Port 2" -AllowManagementOS $false

-SwitchType — Определяет тип создаваемого коммутатора. Допустимые значения — внутренние и частные. Чтобы создать внешний виртуальный коммутатор, укажите параметр NetAdapterInterfaceDescription или NetAdapterName, который неявно устанавливает тип виртуального коммутатора на External.

Создаем виртуальную машину:

$NewVMParam = @{
  Name = "SQ02"
  MemoryStartUpBytes = 2GB
  Path = "C:\Hyper-V"
  SwitchName =  "Virtual_LAN0"
  NewVHDPath =  "C:\Hyper-V\SQ02\Virtual Hard Disks\sq02.disk0.vhdx"
  NewVHDSizeBytes =  60GB
  ErrorAction =  "Stop"
  Verbose =  $True

}

$VM = New-VM @NewVMParam


$SetVMParam = @{
  ProcessorCount =  4
  DynamicMemory =  $True
  MemoryMinimumBytes =  512MB
  MemoryMaximumBytes =  14Gb
  ErrorAction =  "Stop"
  PassThru =  $True
  Verbose =  $True
}

$VM = $VM | Set-VM @SetVMParam


$VMDVDParam = @{
  VMName =  "SQ02"
  Path = "C:\Hyper-v\iso\WIN2012R2.ISO"
  ErrorAction =  "Stop"
  Verbose =  $True
}

Set-VMDvdDrive @VMDVDParam

Парметры новой виртуальной машины:

$sqvm = Get-VM SQ02
$sqvm | Select *


VMName                      : SQ02
VMId                        : b63c8ce9-d038-4662-b977-d231141c34f3
Id                          : b63c8ce9-d038-4662-b977-d231141c34f3
Name                        : SQ02
State                       : Off
IntegrationServicesState    :
OperationalStatus           : {Ok}
PrimaryOperationalStatus    : Ok
SecondaryOperationalStatus  :
StatusDescriptions          : {Operating normally}
PrimaryStatusDescription    : Operating normally
SecondaryStatusDescription  :
Status                      : Operating normally
Heartbeat                   :
ReplicationState            : Disabled
ReplicationHealth           : NotApplicable
ReplicationMode             : None
CPUUsage                    : 0
MemoryAssigned              : 0
MemoryDemand                : 0
MemoryStatus                :
SmartPagingFileInUse        : False
Uptime                      : 00:00:00
IntegrationServicesVersion  :
ResourceMeteringEnabled     : False
ConfigurationLocation       : C:\Hyper-V\SQ02
SnapshotFileLocation        : C:\Hyper-V\SQ02
AutomaticStartAction        : StartIfRunning
AutomaticStopAction         : Save
AutomaticStartDelay         : 0
SmartPagingFilePath         : C:\Hyper-V\SQ02
NumaAligned                 :
NumaNodesCount              : 1
NumaSocketCount             : 1
Key                         : Microsoft.HyperV.PowerShell.VirtualMachineObjectKey
IsDeleted                   : False
ComputerName                : HV02
Version                     : 5.0
Notes                       :
Generation                  : 1
Path                        : C:\Hyper-V\SQ02
CreationTime                : 01.06.2018 23:34:05
IsClustered                 : False
SizeOfSystemFiles           : 38740
ParentSnapshotId            :
ParentSnapshotName          :
MemoryStartup               : 2147483648
DynamicMemoryEnabled        : True
MemoryMinimum               : 536870912
MemoryMaximum               : 15032385536
ProcessorCount              : 4
RemoteFxAdapter             :
NetworkAdapters             : {Network Adapter}
FibreChannelHostBusAdapters : {}
ComPort1                    : Microsoft.HyperV.PowerShell.VMComPort
ComPort2                    : Microsoft.HyperV.PowerShell.VMComPort
FloppyDrive                 : Microsoft.HyperV.PowerShell.VMFloppyDiskDrive
DVDDrives                   : {DVD Drive on IDE controller number 1 at location0}
HardDrives                  : {Hard Drive on IDE controller number 0 at location 0}
VMIntegrationService        : {Time Synchronization, Heartbeat, Key-Value PairExchange, Shutdown...}

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

Извлечение виртуального DVD диска:

Set-VMDvdDrive -Path $null -ControllerNumber 1 -ControllerLocation 0 -VMName SQ02

IP-адрес виртуальных машин:

Get-VM | ?{$_.ReplicationMode -ne "Replica"} | Select -ExpandProperty NetworkAdapters | Select VMName, IPAddresses, Status

Добавляем второй диск:

New-VHD -Dynamic "C:\Hyper-V\SQ02\Virtual Hard Disks\sq02.databases.vhdx" -SizeBytes 420GB

Add-VMHardDiskDrive -VMName "SQ02" -Path "C:\Hyper-V\SQ02\Virtual Hard Disks\sq02.databases.vhdx" -ControllerType SCSI
PS C:\Users\Administrator> New-VHD -Dynamic "C:\Hyper-V\SQ02\Virtual Hard Disks\
sq02.databases.vhdx" -SizeBytes 420GB


ComputerName            : HV02
Path                    : C:\Hyper-V\SQ02\Virtual Hard Disks\sq02.databases.vhdx
VhdFormat               : VHDX
VhdType                 : Dynamic
FileSize                : 4194304
Size                    : 450971566080
MinimumSize             :
LogicalSectorSize       : 512
PhysicalSectorSize      : 4096
BlockSize               : 33554432
ParentPath              :
DiskIdentifier          : dfb3cacb-50d7-47bf-81fa-c2e06298e664
FragmentationPercentage : 0
Alignment               : 1
Attached                : False
DiskNumber              :
Key                     :
IsDeleted               : False
Number                  :



PS C:\Users\Administrator> Add-VMHardDiskDrive -VMName "SQ02" -Path "C:\Hyper-V\
SQ02\Virtual Hard Disks\sq02.databases.vhdx" -ControllerType SCSI

Установка диска служб интеграции:

$VMDVDParam = @{
  VMName =  "SQ02"
  Path = "C:\Windows\System32\vmguest.iso"
  ErrorAction =  "Stop"
  Verbose =  $True
}

Set-VMDvdDrive @VMDVDParam

Нaстройка удаленного доступа к Hyper-V | Для системного администратора

Нашел полезные статейки по работе с HV. Автор: Алексей Кибкало

Оригиналы здесь:

Делегирование прав на Hyper-V

Нaстройка удаленного доступа к Hyper-V | Для системного администратора

 

Делегирование прав на Hyper-V

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

Hyper-V используют новую модель авторизации пользователей — Authorization Management Framework, которая позволяет гибко настроить права пользователей на виртуальные машины. Модель очень хорошо продумана и имеет ряд интересных моментов, которые я обязательно как-нибудь затрону. Сейчас же мне придется сообщить некую вводную информацию про эту модель, чтобы затем показать настройки делегирования. Итак, термины:

Операция (Operation)

Основной кирпичик модели авторизации — представляет собой действие, которое пользователь может произвести. Примерами операций модели являются op_Create_VM, позволяющая создать виртуальную машину и op_Start_VM, соответственно, запускающая виртуальную машину.

Задача (Task)

Задача — это группа операций, требуемых для выполнения некоторых действий. По умолчанию мы не создаем никаких заданий, но если бы мы могли создать задачу control_VM, то нам бы потребовалось добавить в эту группу операции по запуску (op_Start_VM), остановке (op_Stop_VM), приостановке (op_Pause_VM) и перезапуску (op_Restart_VM) для выполнения необходимых в задаче действий.

Роль (Role)

Роль определяет должность, круг задач или зону ответственности для пользователя. Например, может потребоваться роль Virtual_Network_Admin. Эта роль будет иметь права на все операции и задачи, связанные с виртуальными сетями. При необходимости эту роль можно будет назначать пользователям.

Область (Scope)

Область позволяет вам указать, какие объекты управляются конкретными ролями. Если у вас есть система, и вы хотели бы быть дать пользователю административный доступ к некому набору виртуальных машин в ней, вам потребуется создать область, содержащую эти конкретные виртуальные машины, а затем применить ваши настройки к данной области.

Область по умолчанию (Default Scope)

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

Hyper-V может хранить настройки модели авторизации в Active Directory или в локальном файле в формате XML. По умолчанию после установки роли Hyper-V настройки хранятся в файле, который находится по адресу: %programdata%MicrosoftWindowsHyper-VInitialStore.xml. Для того, чтобы изменить настройки, вам потребуется:

  • Запустить приложение MMC. (Для этого выберите пункт Run в Start Menu или нажмите комбинацию клавиш ‘Windows Key + R’, затем выполните mmc.exe).
  • В меню File выбрать Add/Remove Snap-in.
  • Добавить Authorization Manager.
  • В дереве консоли (левой панели ) выбрать Authorization Manager, затем в меню Action выбрать пункт Open Authorization Store.
  • Выбрать XML file в предлагаемом диалоге Select the authorization store type: и открыть файл по указанному выше пути. (Папка programdata является скрытой, так что проще будет скопировать путь целиком).
  • Выберите InitialStore.xml, затем Microsoft Hyper-V services, далее Role Assignments и в конце концов Administrator.
  • В меню Action выберите Assign Users and Groups, затем From Windows and Active Directory, далее выберите пользователя, которому хотите делегировать права на управления Hyper-V. Нажмите OK и закройте окно MMC. (При этом можно сохранить или отменить настройки MMC. Это не повлияет на изменения, внесенные вами в модель авторизации).

На этом ваша задача выполнена. Пользователь может полностью контролировать Hyper-V, не являясь администратором на этом сервере. Делегирование гранулярных прав на конкретные виртуальные машины осуществляется абсолютно таким же образом.

Нaстройка удаленного доступа к Hyper-V

Мы только что рассмотрели, как делегировать пользователю права на управление Hyper-V. Но этими правами пользователь сможет воспользоваться, только работая на сервере локально.

Для того, чтобы управлять гипервизором с другого компьютера, пользователю, который не является администратором, потребуется выполнить ряд настроек — как на стороне сервера, так и на стороне клиента.

Описанные в этой статье шаги применимы к версии RC0 гипервизора Hyper-V и RC0 версии клиентской утилиты управления Hyper-V Manager для Vista SP1 (x86 и x64).

Итак, на сервере следует выполнить следующие шаги:

  • Разрешить в Windows Firewall правило «Windows Management Instrumentation (WMI)» следующей командой:

netsh advfirewall firewall set rule group=»windows management instrumentation (wmi)» new enable=yes

Внимание: в различных локализованных ОС встроенные правила брандмауэера могут назваться по-разному. Необходимо указать название правила именно так, как оно выглядит в инструментах управления Windows Firewall. Например, в русской версии Windows Server 2008 приведенная выше строка будет выглядеть так:

netsh advfirewall firewall set rule group=»Инструментарий управления Windows (WMI — входящий трафик)» new enable=yes

  • Предоставить пользователю права на удаленный запуск (remote launch and activation) в DCOM. Это можно сделать как для конкретного пользователя или группы, так и для всех AUTHENTICATED USERS.
    1. Нажмите Start, выберите Run, запустите dcomcnfg.exe.
    2. В Component Services раскройте Computers, правой кнопкой нажмите на My Computer и выберите в меню пункт Properties.
    3. В My Computer Properties раскройте COM Security.
    4. В Launch and Activation Permissions выберите Edit Limits.
    5. В случае, если пользователь не указан в списке Groups of user names в окне Launch Permission, добавьте его кнопкой Add.
    6. В Launch Permission выберите пользователя или группу и в колонке Allow в Permissions for user укажите Remote Launch и Remote Activation. Нажмите OK.
  • Предоставить пользователю права на удаленное управление (remote enable) в пространстве имен (namespace) rootCIMv2 и rootvirtualization. Это можно сделать как для конкретного пользователя или группы, или для AUTHENTICATED USERS.
    1. В Control Panel зайдите в Administrative Tools и запустите Computer Management.
    2. В Computer Management раскройте Services and Applications, правой кнопкой выберите WMI Control и нажмите Properties.
    3. В закладке Security выберите Advanced.
    4. В случае, если пользователь не указан в списке Permission в окне Advanced Security Settings, добавьте его кнопкой Add.
    5. В Advanced Security Settings выберите имя пользователя и нажмите Edit.
    6. В выпадающем меню Apply To окна Permission Entry выберите This namespace and subnamespaces и укажите Remote Enable в колонке Allow. Нажмите OK.
  • Предоставьте пользователю права на Hyper-V.
  • Перезагрузите сервер. (Если вы хотите избежать перезагрузки сервера, достаточно перезапустить следующие сервисы: winmgmt, vmms, vhdsvc & nvspwmi). При остановке winmgmt остальные роли стопнутся по депенденсам.

т.е. достаточно этих команд в командной строке (с правами администратора):

net stop winmgmt

а потом

net start winmgmt
net start vmms
net start vhdsvc
net start nvspwmi

Внимание: если сервер с установленной ролью Hyper-V,

Hyper-V.

DeniTornado

: 22.10.2007
#: 62,692
: 2248

: 2

: 02, 2019 16:00: Hyper-V.

!

= Влад =
[+] [+]

: 16.04.2012
#: 138,942
: 21074

: 221

: 02, 2019 16:14:

DeniTornado

: 22.10.2007
#: 62,692
: 2248

: 2

: 02, 2019 16:20:

karavan750
sysadmins

: 22.01.2016
#: 160,064
: 8684

: 95

: 02, 2019 16:34:

_________________

NixOS -.

= Влад =
[+] [+]

: 16.04.2012
#: 138,942
: 21074

: 221

: 02, 2019 16:34:

= Влад =
[+] [+]

: 16.04.2012
#: 138,942
: 21074

: 221

: 02, 2019 16:36:

VanDyke
, склиф

: 09.10.2007
#: 62,098
: 75805
: сеть назначения недоступна

: 620

: 02, 2019 17:06:

_________________
Не такой идеальный, как 42, но довольно близко …

,,,.
DeniTornado

: 22.10.2007
#: 62,692
: 2248

: 2

: 02, 2019 17:07:

DeniTornado

: 22.10.2007
#: 62,692
: 2248

: 2

: 02, 2019 17:54:

= Влад =
[+] [+]

: 16.04.2012
#: 138,942
: 21074

: 221

: 02, 2019 18:52:

!
.
optimism.ru

OpenStack Docs: платформа виртуализации Hyper-V

Hyper-V можно использовать в качестве вычислительного узла в OpenStack
Развертывание.Служба nova-compute работает как openstack-compute ,
32-битный сервис непосредственно на платформе Windows с Hyper-V
роль включена. Необходимые компоненты Python, а также
nova-compute Служба устанавливается непосредственно в Windows
Платформа. Службы кластеризации Windows не требуются для работы
в инфраструктуре OpenStack.
Лучше всего использовать платформу Windows Server 2012.
опыта и является площадкой для активного развития.Следующие платформы Windows были протестированы в качестве вычислительных узлов:

Конфигурация Hyper-V

Единственные службы OpenStack, необходимые на узле Hyper-V, — это nova-compute
и нейтрон-гипервагент . Что касается ресурсов, необходимых для этого
хост, вы должны учитывать, что Hyper-V потребует от 16 ГБ до 20 ГБ
дисковое пространство для самой ОС, включая обновления. Требуются две сетевые карты,
один подключен к сети управления, а другой — к гостевой сети передачи данных.

В следующих разделах обсуждается, как подготовить Windows Hyper-V
узел для работы в качестве вычислительного узла OpenStack.Если не указано иное,
любая информация о конфигурации должна работать для Windows 2012 и
Платформы 2012 R2.

Рекомендации по локальному хранению

Вычислительный узел Hyper-V должен иметь достаточно места для хранения
образы виртуальных машин, запущенные на вычислительных узлах. Вы можете использовать один
том для всех или разделите его на том ОС и том ВМ.

Настроить NTP

Службы сетевого времени должны быть настроены для обеспечения правильной работы
узлов OpenStack.Чтобы установить сетевое время на хосте Windows, вы
необходимо выполнить следующие команды:

 C: \> чистая остановка w32time
C: \> w32tm / config /manualpeerlist:pool.ntp.org,0x8 / syncfromflags: ВРУЧНУЮ
C: \> чистый старт w32time
 

Имейте в виду, что узел должен быть синхронизирован по времени с
другие узлы вашей среды OpenStack, поэтому важно использовать
тот же сервер NTP. Обратите внимание, что в случае среды Active Directory
вы можете сделать это только для контроллера домена AD.

Настроить виртуальную коммутацию Hyper-V

Информацию о виртуальном коммутаторе Hyper-V можно найти здесь:
Обзор виртуального коммутатора Hyper-V.

Для быстрого использования интерфейса в качестве виртуального интерфейса
может использоваться следующий PowerShell:

 PS C: \> $ if = Get-NetIPAddress -IPAddress 192 * | Get-NetIPInterface
PS C: \> New-VMSwitch -NetAdapterName $ if.ifAlias ​​-Name YOUR_BRIDGE_NAME -AllowManagementOS $ false
 

Примечание

Очень важно убедиться, что при использовании Hyper-V
узел только с 1 сетевой картой параметр -AllowManagementOS установлен на True ,
в противном случае вы потеряете подключение к узлу Hyper-V.

Включить службу инициатора iSCSI

Для подготовки узла Hyper-V к возможности подключения к томам, предоставленным
cinder вы должны сначала убедиться, что служба инициатора Windows iSCSI
работает и запускается автоматически.

 PS C: \> Set-Service -Name MSiSCSI -StartupType Automatic
PS C: \> Запуск службы MSiSCSI
 

Настроить динамическую миграцию без общего доступа

Подробную информацию о настройке живой миграции можно найти
здесь: Используйте динамическую миграцию без отказоустойчивой кластеризации для перемещения виртуального
машина.

Ниже описаны шаги живой миграции без общего доступа.

  1. Целевой хост гарантирует, что живая миграция включена и правильно
    настроен в Hyper-V.
  2. Целевой хост проверяет, требует ли переносимый образ базовый
    VHD и извлекает его из службы изображений, если он еще не доступен на
    целевой хост.
  3. Исходный узел гарантирует, что живая миграция включена и правильно
    настроен в Hyper-V.
  4. Исходный хост инициирует динамическую миграцию Hyper-V.
  5. Исходный хост сообщает менеджеру результат операции.

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

  • Это необходимо для поддержки динамической миграции Hyper-V без общего доступа.
    Он используется в nova / compute / manager.py .

     instance_shared_storage = Ложь
     
  • Этот флаг необходим для поддержки динамической миграции на хосты с другим процессором.
    функции.Этот флаг проверяется во время создания экземпляра, чтобы ограничить
    функции ЦП, используемые виртуальной машиной.

     limit_cpu_features = Истина
     
  • Этот параметр используется для указания места хранения экземпляров на диске.

     путь_экземпляра = ДРАЙВЛЕТЕР: \ ПУТЬ \ К \ ВАШЕ \ ЭКЗЕМПЛЯРЫ
     

Дополнительные требования:

  • Hyper-V 2012 R2 или Windows Server 2012 R2 с включенной ролью Hyper-V
  • Контроллер домена Windows с вычислительными узлами Hyper-V в качестве членов домена
  • Параметр / флаг командной строки instance_path должен быть одинаковым на всех хостах
  • Служба openstack-compute , развернутая с установкой, должна работать с
    учетные данные домена.Вы можете установить учетные данные службы с помощью:
 C: \> sc config openstack-compute obj = "ДОМЕН \ имя пользователя" пароль = "пароль"
 

Как настроить динамическую миграцию на Hyper-V

Чтобы включить миграцию «ничего не поделено в реальном времени», запустите 3
инструкции ниже для каждого хоста Hyper-V:

 PS C: \> Включить-VMMigration
PS C: \> Set-VMMigrationNetwork IP_ADDRESS
PS C: \> Set-VMHost -VirtualMachineMigrationAuthenticationTypeKerberos
 

Примечание

Замените IP_ADDRESS на адрес интерфейса
который обеспечит живую миграцию.

Установите nova-compute с помощью установщика OpenStack Hyper-V

Если вы хотите избежать ручной настройки, вы можете использовать Cloudbase
Установщик решений. Вы можете найти это здесь:

HyperVNovaCompute загрузить

Инструмент устанавливает независимую среду Python, чтобы избежать
конфликтует с существующими приложениями и динамически генерирует
nova.conf файл на основе предоставленных вами параметров.

Инструмент также может использоваться в автоматическом и автоматическом режиме для
развертывания на большом количестве серверов.Подробнее о том, как
Чтобы использовать программу установки и ее функции, можно найти здесь:

Cloudbase

Требования

Питон

Python 2.7 32bit должен быть установлен, поскольку большинство библиотек не
работает нормально на 64-битной версии.

Настройка предварительных требований Python

  1. Загрузите и установите Python 2.7 с помощью установщика MSI отсюда:

    python-2.7.3.msi скачать

     PS C: \> $ src = "https: // www.python.org/ftp/python/2.7.3/python-2.7.3.msi "
    PS C: \> $ dest = "$ env: temp \ python-2.7.3.msi"
    PS C: \> Invoke-WebRequest –Uri $ src –OutFile $ dest
    PS C: \> Разблокировать-файл $ dest
    PS C: \> Start-Process $ dest
     
  2. Убедитесь, что пути Python и Python \ Scripts настроены
    в переменной среды PATH .

     PS C: \> $ oldPath = [System.Environment] :: GetEnvironmentVariable ("Путь")
    PS C: \> $ newPath = $ oldPath + "; C: \ python27 \; C: \ python27 \ Scripts \"
    PS C: \> [System.Среда] :: SetEnvironmentVariable ("Путь", $ newPath, [System.EnvironmentVariableTarget] :: User
     

Другие зависимости

qemu-img требуется для некоторых операций, связанных с изображениями.
Вы можете получить его здесь: http://qemu.weilnetz.de/.
Вы должны убедиться, что путь qemu-img установлен в
Переменная среды PATH.

Некоторые пакеты Python необходимо скомпилировать, поэтому вы можете использовать MinGW или
Visual Studio. Вы можете получить MinGW отсюда:
http: // sourceforge.сеть / проекты / mingw /.
Вы должны настроить, какой компилятор будет использоваться для этой цели, используя
distutils.cfg файл в $ Python27 \ Lib \ distutils , который может содержать:

 [сборка]
компилятор = mingw32
 

В качестве последнего шага для настройки MinGW убедитесь, что двоичные файлы MinGW
каталоги настраиваются в PATH.

Установить nova-compute

Скачать код nova

  1. Используйте Git для загрузки необходимого исходного кода.Установщик для запуска Git в Windows можно скачать здесь:

    https://github.com/msysgit/msysgit/releases/download/Git-1.9.2-preview20140411/Git-1.9.2-preview20140411.exe

  2. Загрузите установщик. После завершения загрузки
    запустите установщик и следуйте подсказкам мастера установки.
    Значение по умолчанию должно быть приемлемым для целей этого руководства.

     PS C: \> $ src = "https://github.com/msysgit/msysgit/releases/download/Git-1.9.2-preview20140411/Git-1.9.2-preview20140411.exe "
    PS C: \> $ dest = "$ env: temp \ Git-1.9.2-preview20140411.exe"
    PS C: \> Invoke-WebRequest –Uri $ src –OutFile $ dest
    PS C: \> Разблокировать-файл $ dest
    PS C: \> Start-Process $ dest
     
  3. Выполните следующее, чтобы клонировать код новой.

     PS C: \> git.exe клон https://git.openstack.org/openstack/nova
     

Установить службу nova-compute

Чтобы установить nova-compute , запустите:

 PS C: \> cd c: \ nova
PS C: \> настройка python.py установить
 

Настроить nova-compute

Файл nova.conf должен быть помещен в C: \ etc \ nova для запуска
OpenStack на Hyper-V. Ниже приведен пример nova.conf для Windows:

 [ПО УМОЛЧАНИЮ]
auth_strategy = keystone
image_service = nova.image.glance.GlanceImageService
compute_driver = nova.virt.hyperv.driver.HyperVDriver
volume_api_class = nova.volume.cinder.API
fake_network = правда
путь_экземпляра = C: \ Program Files (x86) \ OpenStack \ Instances
glance_api_servers = IP_АДРЕС: 9292
use_cow_images = правда
force_config_drive = ложь
injected_network_template = C: \ Program Files (x86) \ OpenStack \ Nova \ etc \ interfaces.шаблон
файл-политики = C: \ Program Files (x86) \ OpenStack \ Nova \ etc \ policy.json
mkisofs_cmd = C: \ Program Files (x86) \ OpenStack \ Nova \ bin \ mkisofs.exe
allow_resize_to_same_host = true
running_deleted_instance_action = пожинать
running_deleted_instance_poll_interval = 120
resize_confirm_window = 5
resume_gests_state_on_host_boot = правда
rpc_response_timeout = 1800
lock_path = C: \ Program Files (x86) \ OpenStack \ Log \
rpc_backend = nova.openstack.common.rpc.impl_kombu
rabbit_host = IP_АДРЕС
rabbit_port = 5672
rabbit_userid = гость
rabbit_password = Passw0rd
logdir = C: \ Program Files (x86) \ OpenStack \ Log \
файл журнала = nova-compute.журнал
instance_usage_audit = истина
instance_usage_audit_period = час
use_neutron = Верно
[нейтрон]
url = http: // IP_ADDRESS: 9696
auth_strategy = keystone
admin_tenant_name = служба
admin_username = нейтрон
admin_password = Passw0rd
admin_auth_url = http: // IP_АДРЕС: 35357 / v2.0
[hyperv]
vswitch_name = newVSwitch0
limit_cpu_features = ложь
config_drive_inject_password = ложь
qemu_img_cmd = C: \ Program Files (x86) \ OpenStack \ Nova \ bin \ qemu-img.exe
config_drive_cdrom = правда
dynamic_memory_ratio = 1
enable_instance_metrics_collection = истина
[rdp]
enabled = true
html5_proxy_base_url = https: // IP_АДРЕС: 4430
 

Таблица Описание опций конфигурации Hyper-V содержит справочник всех опций для Hyper-v.

Подготовьте образы для использования с Hyper-V

Hyper-V в настоящее время поддерживает только формат файлов VHD и VHDX для виртуальных
машинные экземпляры. Подробная инструкция по установке виртуальных машин
на Hyper-V можно найти здесь:

Создание виртуальных машин

После успешного создания виртуальной машины вы можете загрузить
изображение для просмотра с помощью openstack-client:

 PS C: \> создание образа openstack --name "VM_IMAGE_NAME" --property hypervisor_type = hyperv --public \
          --container-format голый --disk-format vhd
 

Примечание

Размеры файлов

VHD и VHDX могут быть больше, чем их максимальный внутренний размер,
поэтому вам нужно загружать экземпляры, используя аромат с немного большим
размер диска, чем внутренний размер файла на диске.Для создания виртуальных жестких дисков используйте следующий командлет PowerShell:

 PS C: \> Новый-VHD DISK_NAME.vhd -SizeBytes VHD_SIZE
 

Внедрить интерфейсы и маршруты

Файл interfaces.template описывает сетевые интерфейсы и маршруты.
доступны в вашей системе и как их активировать. Вы можете указать
расположение файла с конфигурацией injected_network_template
вариант в /etc/nova/nova.conf .

 injected_network_template = PATH_TO_FILE
 

Шаблон по умолчанию существует в nova / virt / interfaces.шаблон .

Запуск вычислений с Hyper-V

Чтобы запустить службу nova-compute , запустите эту команду из консоли.
в сервере Windows:

 PS C: \> C: \ Python27 \ python.exe c: \ Python27 \ Scripts \ nova-compute --config-file c: \ etc \ nova \ nova.conf
 

Удалить виртуальный коммутатор в Hyper-V — jermsmit.com

Так и случилось. . .

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

Для этого я сначала попробовал следующее:

Выпущена команда: Get-VMSwitch для вывода имени интерфейса сетевого адаптера. Затем я попытался удалить интерфейс, введя:

 Get-VMSwitch | Remove-VMSwitch 

После запроса и выбора Y для «Да» мне выдали ошибку:

Remove-VMSwitch: сбой при удалении виртуального коммутатора Ethernet.
Виртуальный коммутатор Default VLAN не может быть удален, поскольку он используется
путем запуска виртуальных машин или назначен дочерним пулам.
Операция не может быть выполнена, пока объект используется.
В строке: 1 символ: 16
+ Get-VMSwitch | Remove-VMSwitch
+ ~~~~~~~~~~~~~~
+ CategoryInfo: ResourceBusy: (Microsoft.HyperV.PowerShell.VMTas
k: VMTask) [Remove-VMSwitch], VirtualizationOperationFailedException
+ FullyQualifiedErrorId: ObjectInUse, Microsoft.HyperV.PowerShell.Commands
.RemoveVMSwitchCommand

Эта ошибка возникла из-за работающих у меня виртуальных машин, поэтому мне нужно было остановить ее (или их).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *