[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Software » System settings » Hyper-V Server 2012\2016 установка и настройка (Или облачные сервера на вашем железе)
Hyper-V Server 2012\2016 установка и настройка
EsmertecДата: Суббота, 15.04.2017, 20:33 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 47
Награды: 2
Репутация: 32767
Статус:
Первым делом следует скачать дистрибутив операционной системы(ОС), т.к. ОС условно бесплатная, ее можно совершенно спокойна скачать с сайта microsoft, скачивать и устанавливать ОС нужно на английском языке, т.к. система не понимает русского и большая часть команд могут не работать, но проблемы в этом не вижу в самой ОС на англиском языке мы увидим только первоначальную настройку сервера! Для удаленного управления Hyper-V Server можно использовать ОС Windows Server 2012 R2 Standard или Datacenter, а также Windows 8\8.1\10.

В случае использования Windows Server 2012 R2 Standard или Datacenter необходимо установить консоль Hyper-V Manager. Это можно сделать в Server Manager или при помощи командлета PowerShell Install-WindowsFeature -Name 'RSAT-Hyper-V-Tools'

В Windows 8\8.1\10 для установки Hyper-V Manager можно использовать средство настройки компонентов Windows.

Для остальных версий Windows необходимо установить Remote Server Administration Tools (RSAT), которую также можно скачать на официальном сайте Microsoft.

Прежде, чем перейти непосредственно к настройке серверов, хочу подробнее остановиться на схеме сети, которая будет использоваться в нашей демонстрации.

В моем случае я буду использовать наипростейший вариант - локальная подсеть 192.168.1.0/24 с двумя машинами: Hyper-V Server 2012 R2 с IP-адресом 192.168.1.5 в качестве хоста виртуализации и Windows Server 2012 R2 Standard R2 с IP 192.168.1.6 в качестве хоста управления. Обе машины не являются участниками домена и входят в рабочую группу TESTLAB.

Итак, после завершения вполне себе интуитивной установки Hyper-V Server 2012 R2 перед нами предстает рабочий стол с двумя окнами, стандартная командная строка cmd.exe и окно скрипта sconfig.cmd:

Данный скрипт позволяет произвести первоначальную настройку сервера:
– сменить имя сервера
– сменить имя рабочей группы или ввести сервер в домен
– добавить локального администратора
– включить удаленный доступ к серверу, что позволить управлять им с помощью Server Manager, консолей MMC, PowerShell, подключаться по RDP, проверить доступность с помощью pingили tracert
– настроить Windows Update и устанавливать обновления
– настроить сетевые карты сервера
– настроить время на сервере

Также настройку времени на сервере можно выполнить с помощью команды controltimedate.cpl, а настройку региональных параметров - с помощью команды control intl.cpl. При этом будут запущены привычные консоли Панели Управления.


АВТОМАТИЧЕСКИЙ ЗАПУСК POWERSHELL ПРИ ВХОДЕ В СЕАНС

Когда вышла первая версия Hyper-V Server 2008, PowerShell в нем официально не поддерживался, и, единственным способом настройки и получения информации с сервера были утилиты командной строки, такие как net, netsh, wmic, и множество других. Они не обладали единообразным интерфейсом и способом использования, что в итоге увеличивало порог вхождения для администратора и влияло на производительность работы. Но время не стоит на месте и, начиная с Hyper-V Server 2008 R2, Microsoft внедряет поддержку PowerShell, а в Hyper-V Server 2012 PowerShell можно использовать сразу после установки системы. Более того, в Hyper-V Server 2012 включен модуль PowerShell для взаимодействия с Hyper-V, а в Hyper-V Server 2012 R2 количество командлетов для работы с Hyper-V превысило значение 170. Точное значение можно посмотреть с помощью
Код
Get-Command -ModuleHyper-V | Measure-Object


Зайдем в оболочку PowerShell и запустим командлет New-ItemProperty, который создаст новый ключ в реестре HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\run.

Код
New-ItemProperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\run -Name PowerShell -Value "cmd /c start /max C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -noExit" -Type string


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



НАСТРОЙКА СЕТЕВЫХ АДАПТЕРОВ
Если сетевые адаптеры до этого не были настроены с помощью sconfig.cmd, сделаем это с помощью командлетов PowerShell.

Смотрим текущую конфигурацию IP на сетевых интерфейсах. В моем случае адресация назначена службой APIPA, так как в сети нет DHCP сервера.

Код
Get-NetIPConfiguration




Назначаем статическую адресацию, маску сети, шлюз по умолчанию и адреса DNS серверов. InterfaceIndex сетевого адаптера берем из вывода предыдущего командлета.

Код
New-NetIPAddress -InterfaceIndex 13 -IPAddress 192.168.1.5 -DefaultGateway 192.168.1.1 -PrefixLength 24


Код
Set-DnsClientServerAddress -InterfaceIndex 13 -ServerAddresses 192.168.1.2,192.168.1.3




Если использование IPv6 на сетевом интерфейсе пока не планируется, имеет смысл отключить его на интерфейсе для уменьшения «attacksurface».

Проверяем текущую настройку IPv6 на интерфейсе. Имя интерфейса берем из вывода командлетов Get-NetAdapter или Get-NetIPConfiguration.

Код
Get-NetAdapterBinding -InterfaceDescription "Microsoft Hyper-V Network Adapter" | Where-Object -Property DisplayName -Match IPv6 | Format-Table –AutoSize




Отключить поддержку IPv6 на сетевом адаптере можно командлетом Disable-NetAdapterBinding. Данное действие будет аналогично снятию галки «Internet Protocol Version 6 (TCP/IPv6)» в настройках адаптера в графическом интерфейсе Windows.

Код
Disable-NetAdapterBinding -InterfaceDescription "Microsoft Hyper-V Network Adapter" -ComponentID ms_tcpip6




Настройка межсетевого экрана (Advanced Firewall)

С внедрением PowerShell в Hyper-V Server появился удобный способ управления правилами межсетевого экрана, взамен устаревающего netsh. Просмотреть список комадлетов можно с помощью Get-Command.

Код
Get-Command -Noun *Firewall* -Module NetSecurity


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

Код
Get-NetFirewallRule | Where-Object -Property DisplayName -Match "firewall" | Format-List -Property Name, DisplayName, Enabled




Включаем оба правила.

Код
Enable-NetFirewallRule -Name RemoteFwAdmin-In-TCP,RemoteFwAdmin-RPCSS-In-TCP


Теперь можно попробовать подключиться к оснастке MMC управления межсетевым экраном с хоста управления.




ВЗАИМОДЕЙСТВИЕ С SERVER MANAGER

Если гипервизор и хост управления не являются частью домена, а находятся в рабочей группе, как в нашем случае, то при попытке добавить сервер Hyper-V в Server Manager на удаленном хосте возникнет ошибка согласования WinRM.



Решается проблема довольно просто – достаточно добавить на Hyper-V Server в доверенные узлы WinRM на хосте управления и обновить текущее состояние в ServerManager.

Код
Set-Item wsman:\localhost\Client\TrustedHosts HYPER-V01 -Concatenate –Force


HYPER-V01 - имя вашего Hyper-v сервера



Создание дискового хранилища для виртуальных машин

Теперь настало время создать хранилище файлов виртуальных машин и файлов виртуальных дисков. Для хранения данных будем использовать отдельный раздел на физическом диске. Для начала посмотрим список командлетов PowerShell, которые используются для управления носителями. Как обычно будем использовать для этого командлет Get-Command. Во втором случае мы получим список командлетов, служащих для получения информации.

Код
Get-Command -Module Storage


Код
Get-Command -Verb *Get* -Module Storage


Просмотрим список физических дисков на сервере.

Код
Get-Disk




Создаем новый раздел на диске максимально возможного размера, назначаем букву D. Используем id из Get-Disk. После этого форматируем раздел в NTFS и указываем его метку.

Код
New-Partition -DiskNumber 0 -DriveLetter D –UseMaximumSize




Код
Format-Volume -DriveLetter D -FileSystem NTFS -NewFileSystemLabel "VMStore"




Убедимся в правильности проделанных нами операций с помощью оснастки MMC Disk Management на удаленном хосте, для этого включим соответствующие правила на межсетевом экране.

Код
Enable-NetFirewallRule RVM-VDS-In-TCP,RVM-VDSLDR-In-TCP,RVM-RPCSS-In-TCP


Как мы видим, наш только что созданный диск прекрасно отображается в Disk Management.



Создадим папку на нашем разделе, где будем хранить настройки и файлы дисков виртуальных машин. Командлет New-Item позволяет создавать вложенные пути, так что нет необходимости запускать его два раза для каждой папки.

Код
New-Item -Path "D:\Hyper-V\Virtual Hard Disks" -Type Directory


Создадим папки D:\Distrib и D:\ImportedVM, которые будем соответственно использовать для хранения дистрибутивов ОС и импортированных ВМ с других хостов виртуализации.

Код
New-Item -Path D:\Distrib -ItemType Directory


Код
New-Item -Path D:\ImportedVM -ItemType Directory


Для создания шары используем командлет New-SmbShare, с помощью которого дадим полный доступ по сети для группы локальных администраторов сервера.

Код
New-SmbShare -Path D:\Distrib -Name Distrib -Description "OS Distributives" -FullAccess "BUILTIN\Administrators"


Код
New-SmbShare -Path D:\ImportedVM -Name ImportedVM -Description "Imported VMs" -FullAccess "BUILTIN\Administrators"




Проверяем с помощью PowerShell и с помощью ServerManager с хоста управления.

Код
Get-SmbShare -Name Distrib,ImportedVM | Format-List


Код
Get-SmbShareAccess -Name Distrib,ImportedVM | Format-List





Общий список командлетов, относящихся к SMB (ServerMessageBlock), как обычно можно получить с помощью командлета Get-Command.

Код
Get-Command -ModuleSmbShare


В заключение этой темы добавлю только то, что если на сервере не используется физический или логический RAID, то для повышения производительности и надежности работы с хранилищем ВМ целесообразно использование технологии Storage Pools (к примеру, такие командлеты, как New-StoragePool, New-Volume). Более подробнее об использовании Storage Pools совместно с Hyper-V я напишу в одной из будущих статей.

НАСТРАИВАЕМ ПАРАМЕТРЫ ГИПЕРВИЗОРА

Приступим к настройке параметров гипервизора. Основные параметры Hyper-V можно получить с помощью командлета Get-VMHost.

Код
Get-VMHost | Format-List




Как мы видим из вывода командлета, пути ВМ и виртуальных дисков сейчас размещаются на одном разделе с ОС, что нас не устраивает ни с точки зрения скорости работы, ни с точки зрения надежности. Пропишем пути к созданным в прошлом разделе папкам с помощью командлета Set-VMHost.

Код
Set-VMHost -VirtualMachinePath D:\Hyper-V -VirtualHardDiskPath 'D:\Hyper-V\Virtual Hard Disks'


Проверим с помощью PowerShell…

Код
Get-VMHost | Format-List




… и с помощью Hyper-V Manager.



Как я упоминал выше, в Hyper-V Server 2012 R2 возможно использование EnhancedSessionMode для ВМ, что позволит пробросить в ВМ локальные диски, принтеры, звук, использовать буфер обмена и многомониторные конфигурации. Давайте включим его.

Код
Set-VMHost -EnableEnhancedSessionMode 1


СОЗДАДИМ ВИРТУАЛЬНЫЙ КОММУТАТОР

Виртуальный коммутатор Hyper-V (Hyper-V Extensible Switch) предназначен для организации сетевого взаимодействия между различными ВМ, между ВМ и хостом виртуализации, между ВМ и внешней средой. На самом деле у Hyper-V Extensible Switch обширное количество возможностей, много вкусного появилось в версии 2012 R2. Так что сейчас не будем углубляться в эту тему, и создадим простейший External Switch, который привязывается к сетевой карте Hyper-V Server, и организует взаимодействие ВМ с физической сетью.

Для начала проверим поддержку SR-IOV (Single-Root Input/Output (I/O) Virtualization).

Код
Get-VMHost | Select-Object -Property "Iov*" | Format-List


или

Код
Get-NetAdapterSriov




В моем случае поддержки SR-IOV нет. Это связано с тем, что я немного схитрил, и в данной демонстрации у меня Hyper-V сервер запущен не на живом железе, а в виртуальной среде.

Получим список подсоединенных сетевых адаптеров

Код
Get-NetAdapter | Where-Object -PropertyStatus -eqUp




Привязываем виртуальный свитч к сетевому адаптеру и при наличии SR-IOV включим его поддержку.

Внимание: Включить или отключить поддержку SR-IOV после создания свитча будет невозможно, для изменения этого параметра необходимо будет пересоздавать свитч.

Код
New-VMSwitch -Name "Extenal_network" -NetAdapterName "Ethernet 2" -EnableIov 1




В моем случае Hyper-V выдает ошибку, опять же связанную с тем, что гипервизор сам запущен в виртуальной среде. На живом железе командлет создаст External Switch с именем «External_network» и привяжет его к сетевому адаптеру Ethernet 2. Виртуальный свитч также появится в списке сетевых адаптеров и на него будет перепривязаны все сетевые параметры физического адаптера Ethernet 2

Проверить можно с помощью командлетов

Код
Get-VMSwitch и Get-NetIPConfiguration –Detailed


На этом этапе первоначальная настройка Hyper-V Server 2012 R2 закончена, и все готово для создания нашей первой виртуальной машины. Но об этом мы поговорим в следующей статье, использовать будем, естественно, PowerShell.
Прикрепления: 4570580.jpg(18.2 Kb) · 2252371.jpg(32.3 Kb) · 8441933.jpg(19.6 Kb) · 7941842.jpg(31.1 Kb) · 0702473.jpg(32.5 Kb) · 5096605.jpg(33.0 Kb) · 1607404.jpg(31.8 Kb) · 7845922.jpg(19.8 Kb) · 8405244.jpg(8.9 Kb) · 5585379.jpg(7.5 Kb)
 
EsmertecДата: Суббота, 15.04.2017, 21:08 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 47
Награды: 2
Репутация: 32767
Статус:
Ошибки в процессе установки и настройки Hyper-V Server 2012 и способы их устранения.

В.: На завершающей стадии установки Hyper-V Server 2012, а точнее после последней перезагрузки, система не загружается - чёрный экран, отсутствие реакции на нажатие клавиш, помогает только hard reset, возможна загрузка в Safe mode.
П.: ОС не поддерживает или не совместима с драйверами USB 3.0.
Р.: Отключите в BIOS USB 3.0 Controller и все связанные устройства.

В.: Не отображается сетевой адаптер в Hyper-V Server Configuration console (п.8).
П.: 1) В сетевой адаптер не вставлен кабель;
2) Неполадки с активным (коммутатор, маршрутизатор и др.) или пассивным (кабели, розетки, патч-панель и др.) сетевым оборудованием .
Р.: 1) Вставьте кабель;
2) Проверьте работоспособность сетевого оборудования.

В.: При попытке выполнить в консоли команду вида netsh advfirewall firewall set rule group=“<Rule's_name>” new enable=yes появляется сообщение об ошибке "Group cannot be specified with other identification conditions" (Группа не может быть задана вместе с другими условиями идентификации).
П.: Команды вставлялись в консоль методом copy-paste.
Р.: Введите команды от руки или просто сотрите и заново напишите кавычки.

В.: В диспетчере Hyper-V отображается сообщение об ошибке «Access denied. Unable to establish communication between <PC-1> and <PC-2>» (Отказано в доступе. Не удается установить соединение между <PC-1>и<PC-2>).
П.: Пользователю не предоставлены права на удаленный запуск (remote launch and activation) в DCOM.
Р.: Все манипуляции производятся на клиентском компьютере:
1) Запустите оснастку «Component Services» (Службы компонентов) с полными правами администратора. Для этого можно, например, выполнить программу %SystemRoot%\System32\dcomcnfg.exe.
2) В дереве консоли последовательно разверните узлы «Component Services» (Службы компонентов) и «Computers» (Компьютеры).
3) В контекстном меню объекта «My Computer» (Мой компьютер) выберите «Properties» (Свойства).
4) В окне «My Computer Properties» (Свойства моего компьютера) выберите вкладку «COM Security» (Безопасность COM).
5) В разделе «Access Permissons» (Права доступа) нажмите кнопку «Edit Limits» (Редактировать ограничения).
6) В диалоговом окне «Access Permissions» (Права доступа) выберите строку НANONYMOUS LOGON» (Анонимный вход) из списка «Group or user names» (Имена пользователей и групп).
В графе «Allow» (Разрешить) раздела «Permissions for User» (Разрешения для пользователя) выберите «Remote Access» (Удалённый доступ).
7) Закройте все диалоговые окна кнопкой ОК.

В.: В диспетчере Hyper-V отображается сообщение об ошибке "Не удается подключиться к службе RPC на удаленном компьютере "xxx.xxx.xxx.xxx". Убедитесь, что служба RPC запущена.".
П.: 1)В фаерволе не созданы необходимые правила.
2) В файле hosts не установлено однозначное соответствие между IP компьютера и его сетевым именем.
Р.: 1) Возможны 2 пути решения проблемы:
а) Отключить фаервол на клиенте и на сервере (нежелательно).
б) Создать в фаерволе на клиенте и сервере правила, введя следующие команды:
Для удаленного управления дисками:
Netsh advfirewall firewall set rule group=“Remote Volume Management” new enable=yes
Для удаленного запуска оснастки по управлению фаерволом:
Netsh advfirewall firewall set rule group=“Windows Firewall Remote Management” new enable=yes
2)Для однозначной привязки имени сервера и IP-адреса нужно внести изменения в файл hosts. Например:192.168.1.100 HVserver

В.: В диспетчере Hyper-V отображается сообщение об ошибке "The virtual machine could not be started because the hypervisor is not running." (Не удается запустить виртуальную машину, поскольку не выполняется низкоуровневая оболочка.).
П.: Возможны разные причины возникновения данной ошибки:
1) Несоответствие аппаратного обеспечения хостового компьютера рекомендуемым параметрам.
2) Неправильно сконфигурировано хранилище BCD для корректного запуска гипервизора.
3) У вас установлен процессор AMD на платформе "Bulldozer".
Р.: 1)Проверьте, соответствуют ли характеристики вашего компьютера следующим условиям:
x64-совместимый микропроцессор Intel или AMD;
аппаратно обеспечиваемая виртуализация (Intel VT-x или AMD-V(SVM));
поддержка аппаратного предотвращения выполнения данных (DEP) через XD-разряд Intel или NX-разряд AMD;
Проверить, поддерживает ли ваш процессор виртуализацию, можно на официальных сайтах Intel и AMD.
В BIOS также должны быть отключены следующие параметры: 1)Intel VT-d 2)Trusted Execution.
!!!Внимание!!! После любых манипуляций с BIOS выключайте и включайте компьютер, а не просто перезагружайте.
2) Выполните в консоли команду:
bcdedit /set hypervisorlaunchtype auto
3) Запросите исправление на этой странице.

В.: При попытке подключиться к виртуальной машине в диспетчере Hyper-V появляется окно с запросом имени пользователя и пароля и следующим сообщением: «Системный администратор запретил использовать сохраненные учетные данные для входа в систему удаленного компьютера <Comp_name>, так как его подлинность проверена не полностью. Введите новые учетные данные.»
П.: Не сохраняются учетные данные при подключении к удаленному компьютеру.
Р.: Воспользуйтесь решением, предложенной в этой статье. Это решение не относиться непосредственно к Hyper-V, но помогает решить проблему.

В.: Добавив новый жесткий диск в сервер Microsoft Hyper-V Server 2008 R2, его можно проинициализировать через консоль «Управление дисками» (Disk Management MMC) с удаленного компьютера. Однако при попытке подключения к серверу, консоль сообщает: «RPC сервер не доступен» («RPC Server is unavailable»).

Р.:Необходимо изменить правила брандмауэра на обоих компьютерах (не только на Hyper-V Server). Для английской версии ОС выполните команду:

Код
netsh advfirewall firewall set rule group="Remote Volume Management" new enable=yes
 
EsmertecДата: Пятница, 01.12.2017, 11:17 | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 47
Награды: 2
Репутация: 32767
Статус:
UPD

Ошибка подключение к hyper-v core с удаленного рабочего места выдает ошибку "Сбой подключения к удаленному серверу. Клиенту WinRM не удается обработать запрос"



Решение проблемы: нужно включить WinRM на хосте управления для этого вводом команду:
Код
Enable-PSRemoting

Все настройки произведутся автоматически



После чего добавляем Hyper-V Server в доверенные узлы WinRM на хосте управления и обновляем текущее состояние в ServerManager.
Прикрепления: 7282661.png(27.9 Kb) · 4993226.png(74.0 Kb)
 
Форум » Software » System settings » Hyper-V Server 2012\2016 установка и настройка (Или облачные сервера на вашем железе)
  • Страница 1 из 1
  • 1
Поиск: