Расширения
Управление выполнением на основе режима
Управление выполнением на основе режима ( MBE ) — это расширение для реализаций x86 SLAT, впервые доступное в процессорах Intel Kaby Lake и AMD Zen 2 . Расширение расширяет бит выполнения в расширенной таблице страниц (таблица гостевых страниц) на 2 бита — один для выполнения пользователем и один для выполнения супервизором.
MBE был введен для ускорения выполнения неподписанного кода в режиме гостя с помощью обеспечения целостности кода в режиме ядра. В этой конфигурации неподписанные кодовые страницы могут быть помечены как выполняемые в пользовательском режиме, но должны быть помечены как не выполняемые в режиме ядра. Чтобы поддерживать целостность, гарантируя, что весь исполняемый код гостевого режима ядра подписан, даже если гостевое ядро скомпрометировано, гостевое ядро не имеет разрешения на изменение бита выполнения каких-либо страниц памяти. Изменение бита выполнения или переключение таблицы гостевых страниц, которая содержит бит выполнения, делегируется объекту с более высокими привилегиями, в данном случае гипервизору хоста . Без MBE каждый вход из неподписанного выполнения пользовательского режима в подписанный режим ядра должен сопровождаться выходом виртуальной машины в гипервизор для выполнения переключения на таблицу страниц режима ядра. При обратной операции выход из подписанного режима ядра в неподписанный пользовательский режим должен сопровождаться выходом виртуальной машины для выполнения другого переключения таблицы страниц. Выходы виртуальной машины значительно влияют на производительность выполнения кода. С помощью MBE одна и та же таблица страниц может использоваться совместно неподписанным кодом пользовательского режима и подписанным кодом режима ядра с двумя наборами разрешений на выполнение в зависимости от контекста выполнения. Выходы виртуальной машины больше не требуются, когда контекст выполнения переключается между неподписанным пользовательским режимом и подписанным режимом ядра.
Волокна и планирование пользовательского режима
Потоки выполняются на центральном процессоре, а за их переключение отвечает планировщик ядра. В связи с тем что такое переключение это затратная операция. В Windows придумали два механизма для сокращения таких затрат: волокна (fibers) и планирование пользовательского режима (UMS, User Mode Scheduling).
Во-первых, поток с помощью специальной функции может превратится в волокно, затем это волокно может породить другие волокна, таким образом образуется группа волокон. Волокна не видимы для ядра и не обращаются к планировщику. Вместо этого они сами договариваются в какой последовательности они будут обращаться к процессору. Но волокна плохо реализованы в Windows, большинство библиотек ничего не знает о существовании волокон. Поэтому волокна могут обрабатываться как потоки и начнутся различные сбои в программе если она использует такие библиотеки.
Потоки UMS (User Mode Scheduling), доступные только в 64-разрядных версиях Windows, предоставляют все основные преимущества волокон при минимуме их недостатков. Потоки UMS обладают собственным состоянием ядра, поэтому они «видимы» для ядра, что позволяет нескольким потокам UMS совместно использовать процессор и конкурировать за него. Работает это следующим образом:
- Когда двум и более потокам UMS требуется выполнить работу в пользовательском режиме, они сами могут периодически уступать управление другому потоку в пользовательском режиме, не обращаясь к планировщику. Ядро при этом думает что продолжает работать один поток.
- Когда потоку UMS все таки нужно обратиться к ядру, он переключается на специально выделенный поток режима ядра.
Советы по использованию Hyper-V
Напоследок я хотел бы виртуализировать несколько рекомендаций Дениса Дягилева по работе с Hyper-V.
Используйте RDP для подключения к виртуальным машинам.
Это не только позволит обмениваться файлами между физической и виртуальной машиной путем копирования и вставки, но и сэкономит системные ресурсы, которые потребляет vmconnect при подключении к виртуальной машине в диспетчере Hyper-V или из командной строки.
Если вы планируете регулярно использовать RDP для подключения к различным виртуальным машинам, закрепите программу на панели задач. Тогда в списке переходов будет сохраняться список машин.
Будьте внимательны со снимками
С помощью Hyper-V можно создавать снимки виртуальной машины, благодаря использованию технологии дифференциальных дисков. Однако логика работы снимков практически обратна той, что ожидает от нее человек, еще ни разу не наступавший на грабли.
Александр Косивченко (MVP по виртуализации) подробно, хотя и несколько сумбурно, описал принцип работы снимков Hyper-V на Хабре.
Используйте импорт виртуальных машин при необходимости
Импорт будет более интересен ИТ-специалистам, но мне случайно довелось воспользоваться этой функцией. После создания виртуальной машины я переименовал букву диска, на которой она хранилась, после чего диспетчер Hyper-V ее потерял.
Оглядевшись в оснастке, я увидел опцию импорта и моментально восстановил машину.
Причем я даже не подозревал, что выполненные мною действия стали возможны лишь за счет появления новой возможности в Hyper-V
Как включить Hyper-V и создать виртуальную машину на Windows 10, 8.1, 8
Добрый день. Благодаря моему сайту, я постоянно ковыряюсь в операционной системе и, конечно же, со временем я стал искать способ, чтобы я смог писать инструкции, но при этом меньше вносить изменений в операционную систему моего рабочего компьютера… Решению пришло элементарное — виртуальная машина. Это эмуляция полностью (или почти полностью) рабочей операционной системы, которая запускается на вашей операционной системе. Я попробовал VirtualBox, VMware Workstation и Hyper-V… VirtualBox — бесплатная и не такая удобная, как две остальные. VMware Workstation — отличная по всем позициям, но платная. Hyper-V — вполне сбалансированная виртуальная машина, которая с серверных операционных систем перекочевала в Windows 8 и требует просто включения для доступа. Поэтому выбор пал на последнюю: просто, бесплатно и со вкусом. Windows 10 Professional у меня, кстати, лицензионная, но досталась бесплатно благодаря программе Windows Insider (полгода страданий с багами и лицензия в кармане)).
Я наверное сразу предупрежу, что при включении компонентов Hyper-V, вы не сможете пользоваться другими виртуальными машинами. Итак, начнём:
Жмем правой клавишей мыши по углу «Пуск» и выбираем «Программы и компоненты».
В левой панели выбираем «Включение и отключение компонентов Windows»
Ставим галочку напротив Hyper-V, раскрываем каталог и смотрим чтобы на оба каталога компонентов они также поставились.
Жмем ОК и ждем пока система включит компоненты. Если система потребует перезапуск компьютера, выполняем его.
Теперь открываем меню «Пуск» → «Все программы» → ищем каталог «Средства администрирования» и в нём находим «Диспетчер Hyper-V’.
Запустив его, мы увидим консоль управления виртуальными машинами, у меня уже есть одна созданная машина, на которой находится музыкальный бот для моего сервера TeamSpeak. Но сейчас создаем ещё одну машину, чтобы показать как это делается. Но для начала давайте сразу создадим «Виртуальную сеть», чтобы у нашей ВМ был интернет. Для этого жмем по имени компьютера в левом столбце, а в правом выбираем «Диспетчер виртуальных коммутаторов».
Этот абзац я добавляю через два месяца, после написания статьи. Всё потому что, ниже я описал более простой способ подключения виртуальной машины к интернету, но сам пользуюсь чуть другим. Разница в них в том, что в способе, который описан здесь, основной доступ получает ВМ, а компьютер работает уже после неё и это не правильно, но проще настроить. Если вы используете компьютер не только для работы виртуальных машин, выбирайте «Внутренняя» → «Создать виртуальный коммутатор» и ставим галочку на пункт «Разрешить идентификацию». Доступ к интернету настраивается с помощью данной инструкции.
Слева выбираем «Создать виртуальный сетевой коммутатор», справа «Внешняя» и жмем «Создать виртуальный коммутатор».
Вводим название для сети, в разделе «Внешняя сеть» выбираем ваш сетевой адаптер и жмем ОК.
Теперь создаем виртуальную машину. Жмем «Создать» — «Виртуальная машина».
Откроется «Мастер создания создания виртуальной машины«, на первом окне просто жмем «Далее».
Указываем название для будущей виртуальной машины. При желании, так же можно изменить место хранения виртуальной машины, у меня изменено место в настройках, чтобы не засорять SSD и все виртуальные машины хранятся на одном из жестких дисков. Жмем «Далее».
Здесь все просто, читаем что написано, если у вас материнская плата без поддержки UEFI или вы собираетесь поставить 32 битную систему, то выбираем первый пункт, если условия для использования второго поколения совпадают с вашими возможностями, выбираем второе поколение. Я хочу поставить 32битную Ubuntu, для одной из следующих статей, поэтому выбираю первое поколение Hyper-V. Жмем далее.
Объем виртуальной памяти. В случае Windows желательно 2-3Гб для 32битных систем и 3-4 Гб для 64 битных систем. Больше для виртуальной машины не имеет смысла, а меньше может сказываться на работе системы. Так же можно использовать «Динамическую память», в данном случае для ВМ будет выделяться памяти столько, сколько ей необходимо.
Выбираем сеть, которую создали. Я буду использовать свою сеть от первой машины. Жмем далее.
Выбираем объем жесткого диска будущей машины и место хранения его файла. Под потребности, для Win 8-10 нужно минимум 25Гб. Я беру под Ubuntu с большим запасом.
На этой странице можем сразу указать образ, с которого мы установим операционную систему.
На последней странице осталось проверить наши настройки и нажать кнопку «Готово».
Все, осталось запустить машину и подключиться для её управления.
Спасибо за внимание
Материал сайта geekteam.pro
Реализации
Индексирование быстрой виртуализации
Индексирование быстрой виртуализации (RVI), известное как Nested Page Tables (NPT) во время разработки, является AMD второе поколение виртуализация с аппаратной поддержкой технология для процессора блок управления памятью (MMU).
А VMware Исследование показало, что RVI обеспечивает прирост производительности до 42% по сравнению с программной реализацией (таблица теневых страниц). Испытания, проведенные Красная шляпа показал удвоение производительности за OLTP ориентиры.
RVI был представлен в третьем поколении Opteron процессоры, кодовое название Барселона.
Расширенные таблицы страниц
Extended Page Tables (EPT) — это второе поколение Intel виртуализация x86 технология для блок управления памятью (MMU). Поддержка EPT находится в Intel , , и Процессоры, среди прочего. Он также встречается в некоторых более новых ЧЕРЕЗ ЦП.
EPT требуется для запуска логического процессора непосредственно в реальный режим, функция, называемая «неограниченный гость» на жаргоне Intel, и представленная в Микроархитектура Westmere.
Согласно оценочному документу VMware: «EPT обеспечивает прирост производительности до 48% для тестов с интенсивным использованием MMU и до 600% для микротестов с интенсивным использованием MMU», хотя в некоторых случаях это может привести к тому, что код будет работать медленнее, чем реализация программного обеспечения. угловые случаи.
Как это устроено
В процессоре есть буфер трансляции (TLB), который поддерживает трансляцию адресов виртуальной памяти в физическую. TLB — это кэш процессора, который содержит недавно использованные сопоставления из таблицы страниц. Когда требуется преобразование виртуального адреса в физический, TLB проверяет свой кэш, чтобы определить, содержит ли он информацию о сопоставлении. Если TLB содержит совпадение, предоставляется адрес физической памяти и доступ к данным. Если TLB не содержит записи, возникает ошибка страницы, и Windows проверяет таблицу страниц на предмет информации о сопоставлении. Если Windows находит сопоставление, оно записывается в TLB, выполняется преобразование адреса, а затем осуществляется доступ к данным. Из-за этого буфера накладные расходы гипервизора существенно уменьшаются.
Реализации
Индексирование быстрой виртуализации
Индексирование быстрой виртуализации (RVI), известное как Nested Page Tables (NPT) во время разработки, является AMD второе поколение виртуализация с аппаратной поддержкой технология для процессора блок управления памятью (MMU).
А VMware Исследование показало, что RVI обеспечивает прирост производительности до 42% по сравнению с программной реализацией (таблица теневых страниц). Испытания, проведенные Красная шляпа показал удвоение производительности за OLTP ориентиры.
RVI был представлен в третьем поколении Opteron процессоры, кодовое название Барселона.
Расширенные таблицы страниц
Extended Page Tables (EPT) — это второе поколение Intel виртуализация x86 технология для блок управления памятью (MMU). Поддержка EPT находится в Intel , , и Процессоры, среди прочего. Он также встречается в некоторых более новых ЧЕРЕЗ ЦП.
EPT требуется для запуска логического процессора непосредственно в реальный режим, функция, называемая «неограниченный гость» на жаргоне Intel, и представленная в Микроархитектура Westmere.
Согласно оценочному документу VMware: «EPT обеспечивает прирост производительности до 48% для тестов с интенсивным использованием MMU и до 600% для микротестов с интенсивным использованием MMU», хотя в некоторых случаях это может привести к тому, что код будет работать медленнее, чем реализация программного обеспечения. угловые случаи.
Установка Windows Admin Center для управления Hyper-V 2019
Теперь нам надо передать скачанный файл на гипервизор и установить панель управления. Ранее мы разрешили подключение к Windows Hyper-V Server 2019 по rdp. Подключимся к нему, чтобы было удобно выполнять команды на самом гипервизоре.
По-умолчанию, на гипервизоре включен firewall, который блокирует внешние подключения. Вы можете либо полностью его отключать и включать с помощью команд в консоли cmd:
netsh advfirewall set currentprofile state off netsh advfirewall set currentprofile state on
Либо разрешить некоторые команды удаленного управления, которые позволят в том числе передавать файлы на гипервзиор по smb. Следующие команды нужно вводить не в обычной консоли, а powershell. Для этого наберите команду powershell в стандартной консоли, которая загружается после подключения по rdp, а потом сами команды.
powershell Set-NetFirewallRule -DisplayGroup 'Windows Management Instrumentation (WMI)' -Enabled true -PassThru Set-NetFirewallRule -DisplayGroup 'Remote Event Log Management' -Enabled true -PassThru Set-NetFirewallRule -DisplayGroup 'Remote Volume Management' -Enabled true -PassThru
Эти разрешения нам понадобятся позже, когда мы будем подключаться стандартными системными останстками для управления Hyper-V Server 2019.
Заходим на любой диск гипервизора через обычный проводник windows и передаем туда скачанный инсталлятор WindowsAdminCenter1904.1.msi. В качестве авторизации используем учетную запись администратора.
Возвращаемся на гипервизор, идем в паеку C:/Soft и запускаем переданный файл.
Запускается инсталлятор Windows Admin Center. Там все просто, можно использовать дефолтные значения. Я лично ставлю галку Разрешить Windows Admin Center изменять параметры доверенных узлов для этого компьютера и Перенаправлять трафик с HTTP-порта 80 на HTTPS-порт. После установки можно в браузере переходить по адресу https://10.20.1.14.
Чтобы страница открылась, введите учетные данные администратора hyper-v сервера. Выбираем единственный сервер, вводим еще раз данные администратора и подключаемся к панели управления сервером. Дальше, думаю, уже сами разберетесь. Не буду подробно останавливаться на описании функционала Windows Admin Center.
В разделе Виртуальные машины, можно создать виртуалку и запустить ее. Единственное, не забудьте установочный iso образ загрузить на гипервизор. Можно в ту же папку, куда загружали установщик админ центра. Единственное, вот на чем остановлюсь. Давайте создадим виртуальный коммутатор, для того, чтобы виртуальная машина получила доступ к сети.
Для этого идем в раздел Виртуальные коммутаторы и жмем на кнопку Создать.
Указываете имя коммутатора и его тип. Из-за перевода Admin Center на русский язык, трудно уловить суть названий, поэтому лучше все же качать английскую версию. Я уже установил русскую, поэтому расскажу на основе ее. Существует 3 типа коммутаторов:
- Личный (private) для связи только между виртуальными машинами, без доступа к гипервизору и сетью за ним.
- Внутренний (internal) — почти то же самое, что и личный, только доступ к коммутатору может иметь и гипервизор, но по прежнему нет доступа к внешней сети.
- Внешний (external) по сути это обычный сетевой бридж, куда входит реальный сетевой интерфейс гипервизора. Этот тип коммутатора используется для доступа виртуальных машин во внешнюю сеть.
В моем примере у меня только один сетевой интерфейс на гипервизоре. Я создам один коммутатор типа Внешний (External).
Получилось вот так.
Теперь этот коммутатор можно использовать в виртуальных машинах для доступа во внешнюю сеть.
В принципе, на этом настройку Windows Hyper-V Server 2019 можно и закончить. Если вас функционал Windows Admin Center устраивает, пользуйтесь им. В целом, в нем есть все необходимое, но мне он не нравится. Очень тормозной интерфейс, приходится два раза авторизовываться, чтобы подключиться. У меня не всегда получается через браузер открыть консоль виртуальной машины. Какие-то ошибки бывают, зависания.
Я предпочитаю использовать классические оснастки для управления гипервизором. Если вы так же как и я, предпочитаете их, переходим к следующему способу подключения и управления Hyper-V Server 2019. Для этого нам понадобится компьютер или виртуальная машина с Windows 10. Можно ее установить прямо на этом же гипервизоре. Иногда я так делаю для удобства. Получается автономный гипервизор со всем необходимым для управления.
Решение 8 — Начать все с начала
В Windows 10 есть полезная функция «Свежий запуск», которая позволяет быстро и легко переустановить Windows 10. Перед началом «Свежего запуска» рекомендуется создать резервную копию файлов, чтобы не потерять их. Этот процесс удалит установленные вами приложения, поэтому вам придется установить их заново вручную.
Чтобы начать все сначала, вам нужно сделать следующее:
- Нажмите клавишу Windows + I, чтобы открыть приложение «Настройки» . Перейдите в раздел « Обновление и безопасность ».
- Перейдите в раздел « Безопасность Windows » на левой панели. На правой панели щелкните Открыть Центр безопасности Защитника Windows .
- Когда Защитник Windows откроется, перейдите в раздел « Производительность и работоспособность устройства ».
- Прокрутите вниз до раздела « Новый старт » и нажмите « Дополнительная информация» .
- Нажмите кнопку «Начать».
- Теперь следуйте инструкциям на экране, чтобы завершить процесс.
После завершения процесса у вас будет новая установка Windows 10, и Hyper-V сможет ее установить.
Отсутствие возможности использовать Hyper-V может быть большой проблемой для некоторых пользователей, но мы надеемся, что вам удалось решить эту проблему с помощью одного из наших решений.
Примечание редактора : этот пост был первоначально опубликован в августе 2016 года и с тех пор был полностью переработан и обновлен для обеспечения свежести, точности и полноты.
- Виртуальная память Windows 10 слишком мала
- Удаленный рабочий стол теперь позволяет получать доступ к виртуализированным приложениям из браузера.
- Лучшее программное обеспечение виртуального рабочего стола для Windows
Исправить ошибки репликации Hyper-V
Причиной сбоя репликации Hyper-V может быть несколько причин. Это могут быть проблемы с сетью, устаревший хост, целостность или что-то еще.
Ниже приведены некоторые из распространенных проблем и решений:
- Hyper-V приостановил репликацию для виртуальной машины из-за неисправимого сбоя. (Идентификатор виртуальной машины ).
- Hyper-V запретил запуск виртуальной машины, потому что она подготовлена к отработке отказа
- Hyper-V Не удалось разрешить имя сервера реплики
- Hyper-V не в состоянии принять репликацию на сервере реплики для виртуальной машины <имя виртуальной машины>
- Не удалось выполнить операцию. Hyper-V не находится в допустимом состоянии репликации для выполнения операции
Интересно отметить, что большинство ошибок Hyper-V возникают из-за проблем синхронизации между ними. Либо хост находится в обслуживании, либо сервер реплики находится в автономном режиме или не готов.
Полное описание включает: Hyper-V не может реплицировать изменения для виртуальной машины , поскольку сервер-реплика отклонил соединение. Это может быть связано с тем, что на сервере-реплике имеется ожидающая операция репликации для той же виртуальной машины, которая занимает больше времени, чем ожидалось или имеет существующее соединение.
Чтобы решить, проверьте по следующим пунктам:
- Щелкните правой кнопкой мыши виртуальную машину и выберите возобновление процесса репликации.
- Убедитесь, что сервер репликации подключен.
- На сервере реплик всегда должно быть достаточно места
- Достаточная пропускная способность сети, чтобы процесс репликации мог завершиться за один цикл.
- Обычно это может решить проблему, но если это не так, то удалите реплику и заново настройте репликацию, предлагает Microsoft. Вам придется подождать, пока синхронизация не будет завершена. Если сервер репликации долгое время находился в автономном режиме, исходный сервер акклиматизирует столько данных, что становится невозможным его пересылка.
2] Hyper-V запретил запуск виртуальной машины, так как она подготовлена к отработке отказа
При настройке страницы сервера реплики необходимо ввести NetBIOS или полное доменное имя сервера реплики. Если сервер реплики является частью отказоустойчивого кластера, введите имя посредника реплики Hyper-V.
Если есть что-то кроме того, что мы рассказали выше, у вас будет эта ошибка, потому что процесс восстановления после сбоя не может ее найти. Чтобы исправить это, вам нужно будет отредактировать страницу настройки репликации и заменить имя на NetBIOS или FQDN. Как только исправление будет сделано, вы не получите сообщение об ошибке репликации Hyper-V.
3] Hyper-V Не удалось разрешить имя сервера реплики
То же, что и выше, и это явная ошибка. Если Hyper-V не может разрешить имя сервера реплики, необходимо проверить, используете ли вы NetBIOS или FQDN. Если вы используете правильный формат, то проблема с DNS. Вы должны проверить DNS-сервер, чтобы выяснить почему он не может разрешить ожидаемый адрес сервера.
4] Hyper-V не в состоянии принять репликацию на сервере реплики для виртуальной машины
Когда репликация включена на виртуальной машине, процесс создает файлы виртуальной машины реплики, где все хранится. У каждой из этих папок есть имя, которое представляет GUID. Это уникально для каждого исходного сервера.
Если по какой-либо причине мастер установки Hyper-V имеет такой же UID, поскольку он уже был настроен один раз, вы получите эту ошибку. Поскольку процесс проверяет наличие дублирующейся виртуальной машины перед завершением, появляется ошибка.
Hyper-V не в состоянии принять репликацию
Альтернативой этому методу является не использование GUID. Документы Microsoft предлагают следующее:
- Включите репликацию для виртуальной машины и убедитесь, что начальная репликация не запускается сразу (вы можете запланировать начальную репликацию на более позднее время)
- После создания виртуальной машины-реплики используйте мастер перемещения, чтобы переместить хранилище виртуальной машины на выбранный вами путь (миграция хранилища).
- После завершения миграции хранилища вы можете запустить начальную репликацию для виртуальной машины.
Это происходит по двум причинам:Первый — это когда сервер не настроен как сервер реплики. Поэтому, когда источник инициирует процесс репликации, другая сторона не знает, что делать с вводом. Второй — когда сервер блокирует доступ к Hyper-V на сервере репликации.
Хотя первая причина может быть устранена путем подготовки сервера реплики, вторая — это скорее проблема брандмауэра, которую Системный администратор может решить за вас.