Введение
Ранее я рассказывал об устновке и настройке apcupsd на XenServer. Вся теоретическая часть есть там в начале и в конце статьи. В данном случае я предлагю использовать apcupsd в качестве клиента, который получает информацию об электропитании по сети от сервера, в которому подключен ups напрямую. Сам же сервер hyperv подключен к другому ups, который никак не мониторится и не управляется.
После отключения электричества гипервизор hyperv подождет момента, когда заряд батареи упса, подключенного к основному серверу упадет до уровня 50% или время работы от батареи будет ниже 20 минут и начнет завершение своей работы.
Введение
Hyper-V – средство виртуализации на основе гипервизора. Если говорить простым языком – это средство позволяет создавать внутри системы виртуальную машину (Virtual Machine – VM) со своей операционной системой, отдельной от основной.
Изначально была доступна для систем семейства Server, но с выходом Windows 8 Pro, стала доступна и для клиентских версий.
Единственное ограничение, гипервизор недоступен для установки на Home и Single Language. Только Pro версии Windows имеют возможность установки этого компонента.
Системные требования:
- Процессор x64 разрядности, желательно с поддержкой многопоточности (например, HyperThreading)
- Процессор должен поддерживать виртуализацию. Иметь технологии, например как Intel VT или AMD-V
- Иметь достаточное оперативной памяти. Каждая виртуальная машина Hyper-V в Windows 10 требует свой объём памяти
- Свободное место на диске для установки VM
Перед использованием, следует удостовериться, что компонент включен или установлен. Далее мы расскажем, как установить Hyper-V на Windows 10 Pro.
Введение
История релиза Hyper-V Server 2019 получилась необычной и даже какой-то драматичной, как и все последние релизы от компании Microsoft. Поясню для тех, кто не в курсе. Сам 2019-й сервер зарелизился в октябре 2018 года с какими-то критичными багами. Подробности проблем не помню, но в итоге релиз отозвали. Через месяц зарелизили еще раз и вроде как успешно.
С сайта микрософт можно было скачать все версии 2019-го сервера, кроме бесплатной версии Hyper-V. Я следил за темой и все ждал, когда же появится iso образ с Hyper-V Server 2019, а его все не было и не было. Причем в Evaluation Center стояла пометка, что релиз пока откладывается, ждите, скоро все будет.
И вот дождались. 15-го июня я увидел новость о том, что Hyper-V Server 2019 доступен для загрузки в Evaluation Center. Зашел, проверил. В самом деле это так. Появился iso образ, который можно свободно загрузить, что я успешно сделал.
К слову, образ hyper-v 2019 гулял в сети, так как после первого релиза еще в октябре 2018, он был доступен и многие его скачали. Но там были какие-то баги. Из того, что я прочитал, люди указывали на то, что не работал rdp доступ к гипервизору. Не смог это проверить, так как у меня просто не проходила установка на сервер. Он то ли не устанавливался вовсе, выдавая ошибку в процессе установки, то ли потом в синий экран падал. Точно не помню. Я не стал разбираться, а поставил предыдущую версию. Как оказалось, не зря.
СОЗДАДИМ ВИРТУАЛЬНЫЙ КОММУТАТОР
Виртуальный коммутатор 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
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.
До скорых встреч!
Настройка Hyper-V Server 2019
Сразу же выполняем первоначальную настройку Hyper-V Server 2019 через стандартную консоль управления:
- Указываете рабочую группу, если вас не устраивает стандартная.
- Меняем имя сервера на что-то более осмысленное и понятное.
- Добавьте еще одного администратора. Это нужно сделать, чтобы иметь еще одну админскую учетную запись, отличную от administrator. В дальнейшем рекомендую все настройки и подключения выполнять под этой учетной записью.
- Разрешаем удаленное управление, в том числе ping.
- Автоматическое обновление оставляю на ваше усмотрение. Я обычно отключаю и все делаю вручную.
- Рекомендую сразу проверить обновления и установить их.
- Включаем Remote Desktop со всеми версиями клиента.
- Указываем сетевые настройки. Стандартно стоит dhcp, рекомендую установить адрес статически.
- Настройте время, если по-умолчанию стоит не правильное.
- Настройки телеметрии полностью отключить нельзя. Такой вот микрософт. Не приходится удивляться, с учетом нововведений в последних версиях системы.
Быстренько пробежались по основным настройкам hyper-v server 2019. Теперь бы сразу начать установку виртуальных машин, но, к сожалению, пока это не получится сделать. Наверно можно как-то через консоль powershell, но это слишком муторно и сложно. Нам надо каким-то образом подключиться к серверу с помощью удобной панели управления. Пока нам доступен только rdp доступ, но этого не достаточно.
У нас есть несколько вариантов управления Hyper-V. Я сначала рассмотрю 2 наиболее удобных из них:
- Установка Windows Admin Center для управления сервером через браузер.
- Установка стандартных системных оснасток на компьютер под управлением Windows 10 для подключения к Hyper-V 2019.
А в самом конце покажу еще один. Начнем с установки Windows Admin Center.
Поддержка гостевой операционной системы в других версиях Windows
В следующей таблице приведены ссылки на сведения о гостевых операционных системах, поддерживаемых Hyper-V, в других версиях Windows.
Главная операционная система | Раздел |
---|---|
Windows 10 | поддерживаемые гостевые операционные системы для клиент Hyper-V в Windows 10 |
Windows Server 2012 R2 и Windows 8.1 | — поддерживаемые Windows гостевые операционные системы для Hyper-V в Windows Server 2012 R2 и Windows 8.1- Виртуальные машины Linux и FreeBSD в Hyper-V |
Windows Server 2012 и Windows 8 | Поддерживаемые операционные системы Windows на виртуальных машинах для Hyper-V в Windows Server 2012 и Windows 8 |
Windows Server 2008 и Windows Server 2008 R2 | О виртуальных машинах и гостевых операционных системах |
Настройка параметров сети Hyper-V Server 2020 из PowerShell
Если вы не настраивали сетевые параметры в окне sconfig.cmd, то настройте их через PowerShell. С помощью командлета Get-NetIPConfiguration можно увидеть текущую конфигурацию IP сетевых интерфейсов.
Назначьте статический IP адрес, маску сети, шлюз по умолчанию и адреса DNS серверов. Индекс (InterfaceIndex) сетевого адаптера берем из вывода предыдущего командлета.
New-NetIPAddress -InterfaceIndex 4 -IPAddress 192.168.1.2 -DefaultGateway 192.168.1.1 -PrefixLength 24
Set-DnsClientServerAddress -InterfaceIndex 4 -ServerAddresses 192.168.1.3,192.168.1.4
Для настройки IPV6 смотрим имя интерфейса командлетом Get-NetAdapter из PowerShell модуля управления сетью NetTCPIP
Проверьте текущую настройку IPV6 следующей командой:
Get-NetAdapterBinding -InterfaceDescription «Intel(R) PRO/1000 MT Network Connection» | Where-Object -Property DisplayName -Match IPv6 | Format-Table –AutoSize
Отключить IPV6 можно так:
Disable-NetAdapterBinding -InterfaceDescription » Intel(R) PRO/1000 MT Network Connection » -ComponentID ms_tcpip6
Настройка сетевых интерфейсов
Ввиду того, что наш сервер не имеет привычного для семейства Windows рабочего стола, где можно бодро двигать мышкой и ставить нужные «галочки», приличная часть дальнейшего текста будет посвящена настройке с использованием командной строки, а в частности ее более современного и мощного средства — PowerShell. Если и после этого вы готовы продолжать, тогда продолжим — впереди нас ждет удача!
Открываем окно CMD и запускаем сеанс PowerShell:
Рис. 06
Смотрим какие у нас есть данные по сетевому адаптеру:
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed ---- -------------------- ------- ------ ---------- --------- Ethernet 2 Broadcom NetXtreme Gigabit Ethernet 13 Up 11-22-33-44-55-AB 1 Gbps
Добавляем новый виртуальный «коммутатор» (сеть) используя значение Name из вывода команды выше:
где: local1 – имя нашего нового «коммутатора»
Устанавливаем «коммутатору» флаг для будущего управляющего хоста, разрешающий ему использование физического сетевого адаптера:
Проверяем наличие нового созданного устройства:
Name SwitchType NetAdapterInterfaceDescription ---- ---------- ------------------------------ local1 External Broadcom NetXtreme Gigabit Ethernet
Настройка протоколов сети
Если сервер работает в локальной корпоративной сети, и использовать адресацию IPv6 не планируется (а чаще всего так и бывает), то выключаем 6-ю версию
Активная и не сконфигурированная версия протокола может давать лишнюю уязвимость в соответствующем диапазоне адресов, которым не уделено внимание при развертывании системы
Проверяем текущую настройку IPv6 на интерфейсе. Имя интерфейса берем из вывода командлетов
или
Смотрим, включена ли она:
Если видите что IPv6 активен (наличие полей IPv6 в выводе), то выключаем:
где: «Microsoft Hyper-V Network Adapter» — ваше значение из описания (InterfaceDescription) сетевого адаптера.
Теперь посмотрим, какие сетевые установки у нас имеются:
(тут смотрим InterfaceIndex)
InterfaceAlias : vEthernet (local1) InterfaceIndex : 27 InterfaceDescription : Hyper-V Virtual Ethernet Adapter #2 IPv4Address : 192.168.10.2 IPv4DefaultGateway : 192.168.10.1 DNSServer : 192.168.10.1 InterfaceAlias : Ethernet 3 InterfaceIndex : 14 InterfaceDescription : Broadcom NetXtreme Gigabit Ethernet #2 NetAdapter.Status : Disconnected
Выше в таблице видно, что сервер «подхватил» IP-адрес от DHCP-сервера обслуживающего мою локальную сеть. В мои планы входит работа исключительно со статическими адресами для любых серверов.
Кстати, весьма логично вывести некоторые критичные служебные машины хотя бы в такой отдельный пул для обеспечения лучшей приватности
Поэтому обращаемся к окну PowerShell и задаем сетевые установки исходя из части данных вывода выше, переводя адрес гипервизора в «закрытый» от остальной локальной сети диапазон:
Даем новый IP-адрес:
В этом месте очевидно, потребуется пересоединиться к серверу по RDP — перезапустить сессию с новым IP.
И новые DNS:
После чего они должны принять вид похожий на таблицу ниже:
InterfaceAlias : vEthernet (local1) InterfaceIndex : 27 InterfaceDescription : Hyper-V Virtual Ethernet Adapter #2 IPv4Address : 192.168.55.101 IPv4DefaultGateway : 192.168.55.254 DNSServer : 192.168.55.254 192.168.10.1 InterfaceAlias : Ethernet 3 InterfaceIndex : 14 InterfaceDescription : Broadcom NetXtreme Gigabit Ethernet #2 NetAdapter.Status : Disconnected
Заключение
Вопрос корректного завершения работы гипервизоров при подключении к UPS достаточно актуальный. Я не однократно сталкивался с такими вопросами в итернете. Какого-то надежного и популярного решения для этого я не встречал. В случае с XenServer или Hyper-V все решается относительно просто с помощью apcupsd. С VMware будет посложнее, но тоже возможно. Там UPS пробрасывают в виртуалку, настраивают apcupsd и с помощью скриптов по ssh отправляют команду на выключение на гипервизор. Я как-то пробовал так сделать, сходу не получилось, а отладить решение не было возможности. В итоге не стал разбираться. Данная схема мной уже проверена на практике и успешно работает.
Онлайн курс «DevOps практики и инструменты»
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Проверьте себя на вступительном тесте и смотрите программу детальнее по .