What is Hyper-V Enhanced Session?
Hyper-V, like other virtual machine software such as VMware or Virtual Box, has limitations on how the guest and host machines interact. For example, you cannot share the clipboard or access host machine resources.
To address this, Microsoft introduced Enhanced Session Mode in Hyper-V. When enabled, this feature allows users to connect to virtual machines with more capabilities, such as sharing host machine resources using VMconnect.
Additionally, Enhanced Session Mode allows for connection to a virtual machine via Remote Desktop Protocol (RDP), making it easier to view and share virtual machines in Hyper-V.
All in all, if you are looking to extend the capabilities of the guest operating system installed in Hyper-V, then enabling Enhanced Session is helpful.
Обмен файлами между физической и виртуальными машинами
По ходу работы с виртуальной машиной регулярно возникает необходимость скопировать на нее файлы с физической, либо наоборот. Я опишу несколько способов решения этой задачи.
Общие сетевые папки
Этот способ работает во всех изданиях Windows 10. Поскольку в нашем распоряжении есть локальная сеть, можно использовать общие папки для обмена файлами. Фактически инструкции ниже сводятся к основам создания общих папок.
Доступ с виртуальной машины на физическую
Картинка стоит тысячи слов, как говорят американцы.
На рисунке показан проводник виртуальной машины (VIRTUAL-PC), откуда осуществляется доступ к физической машине (VADIK-PC). Как только вы введете учетные данные аккаунта, доступ к его профилю будет в вашем распоряжении.
Возможно, вы захотите сделать общей папку, расположенную на физической машине вне своего профиля. Для этого достаточно задействовать стандартные средства предоставления общего доступа, но этот процесс я объясню уже на примере доступа к произвольной папке виртуальной машины.
Доступ с физической машины на виртуальную
Допустим, в корне диска виртуальной машины есть папка Shared. Щелкните по ней правой кнопкой мыши и выберите Общий доступ – Отдельные люди (или Конкретные пользователи в Windows 7).
Теперь вы можете открыть общую папку по сети в проводнике, в том числе введя в адресную строку адрес вида \\имя-компьютера\имя-папки.
Подключение к удаленному рабочему столу виртуальной рабочей машины
В Hyper-V между физической и виртуальной машиной невозможен обмен файлами путем копирования и вставки. Можно лишь вставлять скопированный на физической машине текст сочетанием клавиш Ctrl + V. Однако после запуска виртуальной машины можно соединяться с ней посредством RDP вместо того чтобы открывать ее из диспетчера Hyper-V. Этот способ работает в изданиях Pro и выше.
Действия на виртуальной машине
Сначала нужно разрешить на виртуальной машине подключения к удаленному рабочему столу в свойствах системы. Нажмите Win + R и выполните:
RUNDLL32.EXE shell32.dll,Control_RunDLL sysdm.cpl,,5
Затем разрешите подключение, как показано на рисунке.
Остается лишь выяснить IP-адрес виртуальной машины командой ipconfig
Действия на физической машине
Нажмите Win + R и введите mstsc и раскройте параметры входа.
В открывшемся окне:
- Введите IP-адрес виртуальной машины (обязательно).
- Укажите имя пользователя, в чью учетную запись будет выполнен вход.
- Включите запоминание учетных данных.
- Сохраните параметры подключения.
Вы также можете задать на вкладке «Экран» разрешение меньше того, что используется в физической машине.
Теперь можно обмениваться файлами между физической и виртуальной машинами привычными сочетаниями клавиш Ctrl + C и Ctrl + V.
Export and Share Hyper-V Virtual Machines
Another feature a lot of people do not know about is that you can export Hyper-V Virtual Machines to copy them to another computer or server. The great thing about this, this can even be done while the virtual machine is running and you can also export the state of the virtual machine with it. You can use the UI to do this, or you just run PowerShell using the Export-VM cmdlet.
Export-VM -Name TomsVM -Path D:\
In the Windows 10 Fall Creators Update, Microsoft also added a button to share the Virtual Machine. This does not only export the virtual machine, but it also creates a compressed VM Export File (.vmcz).
What is Enhanced Session Mode?
From a technological standpoint, Enhanced Session Mode ties the VMConnect.exe application into the Hyper-V host’s VMBus component. If you’re not familiar with VMConnect.exe, this is the application that you use any time you connect directly to the console of a Hyper-V guest (ex: clicking Connect on the context menu of a virtual machine in Hyper-V Manager). This allows some communications between the operating environment that you’re connecting from and the guest operating environment that you’re connecting to. Furthermore, VMConnect.exe employs several technologies from the Remote Desktop Client.
Notable capabilities enabled by Enhanced Session Mode:
- Making local resources, such as printers, disk drives, and USB devices, available to the guest through the console connection.
- Copy and paste of files to and from the connecting system and the target guest system.
- Additional screen resolutions and full-screen mode.
- Smart card logins.
To state it simply, Enhanced Session Mode transforms the VMConnect.exe experience to match the Remote Desktop Client experience.
Создание дискового хранилища для виртуальных машин
Теперь настало время создать хранилище файлов виртуальных машин и файлов виртуальных дисков. Для хранения данных будем использовать отдельный раздел на физическом диске. Для начала посмотрим список командлетов 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 я напишу в одной из будущих статей.
Что, зачем и как
Сначала следует разобраться с терминологией. А не то у начинающего юзера волосы встанут дыбом от такого обилия непонятных слов.
- Гипервизоры создают виртуальные машины.
- Гипервизор — специальный софт, позволяющий делить наш ПК на один «настоящий» и несколько либо также один виртуальный.
- Виртуальная машина — это и есть этот самый несуществующий компьютер. Создаёт его гипервизор. Но на такой компьютер также можно поставить ОС (в зависимости от системы, которая её создаёт: любую или ряд определённых, например, только из семейства Windows) а потом управлять ею из окна приложения или как-то ещё.
- Аппаратная виртуализация — создание виртуальной реальности внутри ПК. Систему аппаратной виртуализации часто представляет собой упомянутый десять раз вверху гипервизор. Его ещё можно назвать «менеджер виртуальных машин».
- Гостевые ОС — операционные системы, располагающиеся на виртуальных машинах.
Архитектура Hyper-V
Что нам всё это даёт
- Возможность ставить на компьютере сразу две операционки. Что довольно классно, если ставить не Виндовс, а что-то поинтереснее: ту же Ubuntu.
- Возможность тестирования различных программ и ОС. Этот пункт пригодится скорее программистам или айтишникам, нежели простым пользователям. Но если вы — начинающий представитель одной из этих профессий, то уметь обращаться с системами аппаратной виртуализации вам будет очень даже кстати.
- Использование программ, для нашей «оси» не предназначенных. Тех же игр, например. Поставить ОС от PlayStation 3 у вас конечно не получится (хотя ничего невозможного нет!), но вот Windows XP — запросто, а на ней легко запускать множество старых игрушек.
- Понимание сути различных процессов на компьютере. Единственный способ перестать видеть фигу и в мониторе — постоянно практиковаться и выполнять простые (для специалистов) задачи. Но книги и статьи наподобие этой, конечно, тоже никто не отменял.
Сравнение VMware ESXi и Hyper-V Server
Как всё это относится к Hyper-V? Программа является этим самым гипервизором. Наряду с ней ещё есть VirtualBox и ряд других приложений, выполняющих похожие функции. Чем пользоваться — решать вам, а здесь конкретно о Hyper-V.
- Работает этот софт только на 64-разрядных системах. При этом создавать внутри можно и 32-разрядные.
- «Родителем» Hyper-V являются одноимённые серверные программы от Microsoft. «Серверные» означает, что выпускались они для специальных серверных операционных систем.
- Идёт в комплекте с системами Виндовс 8, 8.1 и 10. На Windows 7, к сожалению, Hyper-V ещё не было.
Плюсы Hyper-V на серверах VDS
H-V – не первая и не последняя среда, обеспечивающая функционирование виртуальных серверов. Есть ведь еще KVM, VMWare и многие другие… Просто именно эту технологию выбирают чаще всего, и на то есть определенные причины, они же плюсы. Вот некоторые из них:
-
Простота в использовании и привычный интерфейс.
-
Легкая установка на любой сервер – хоть Windows, хоть Linux.
-
Широкая аппаратная совместимость.
-
Удобное управление серверами.
-
Стабильная работа гипервизора и установленной на нем ОС.
-
Перенос работающего сервера с одного узла на другой посредством функции Live Migration.
-
Оперативная поддержка новых версий ОС Windows.
-
Возможность установки виртуальных рабочих столов VDI.
-
Удаленное подключение через консоль.
No Remote Desktop Connection from Network
The other issue we have noticed is that with this configuration, it’s not possible to perform a remote desktop connection from the network. So, the script basically allows you to access the Linux VM through the Hyper-v Management console but not anymore from a normal Remote Desktop Client. This is annoying and defeats the purpose of the xRDP software solution. It’s really cool to have Enhanced mode enabled but on the other hand if an admin needs remote access to the Linux VM directly, this functionality is not there anymore…..
Click on Picture for Better Resolution
Looking through the script, it seems that the change in the xrdp.ini configuration file is causing the blocking connection from network
Click on Picture for Better Resolution
Changing this value back to false allows you to remote desktop from network but you are loosing the enhanced capability mode…. I’m wondering if there is a way to have both options available (Enhanced mode and RDP from network). Maybe we need to specify a different port or configure the system to accept tcp connection as well…..??? If someone has more information about that, thank you to share with us….:-)
Final notes
In this post, we have performed some basic testing of the script that would enable Enhanced mode in Hyper-v Linux Virtual machine. The script is working as expected and the configuration allow indeed to perform Enhanced mode session to the VM. However, we have noticed that using the script will basically limit the access of the virtual machine from the network. Usually, (or historically), xRDP software has been used to perform remote desktop connection (through the network) to gain access to Linux machine and since the latest release of xRDP to improve user experience (Drive Redirection, Clipboard,…).
So, at this stage, there are basically two options available for the users. Either, you are mainly using Hyper-v management console and you can then run the Microsoft script to enable Enhanced mode or you are like most of the users/customers, access need to be granted through network and thus performing either a standard xrdp installation or modifying back the xrdp.ini file is needed to have this working… We will look/ask if it’s possible to have vsock enabled and still have access through network..
We hope that the team behind this initiative will keep working on this subject as it can indeed bring a better experience when working with Linux Machines…Microsoft really start to love Linux
This is it for this post
Till next time
See ya
Reference : https://github.com/Microsoft/linux-vm-tools/wiki/Onboarding
Создание виртуальной машины Hyper-V
Для запуска процесса создания виртуальной машины, пройдите по пути: меню «Действие», «Создать», «Виртуальная машина…». Далее откроется мастер создания виртуальной машины.
В первом окне «Приступая к работе» нажмите на кнопку «Далее». В следующем окне «Укажите имя и местонахождение» дайте понятное имя для создаваемой виртуальной машины (я назвал «Windows 7×64»), и выберите место для ее сохранения.
По умолчанию, файлы виртуальной машины сохраняются на диске «С» в папке «ProgramData»:
C:\ProgramData\Microsoft\Windows\Hyper-V
На моем компьютере виртуальные машины сохраняются не на системном, а на другом диске в специальной папке («Virtual Machines»). Поэтому, если вы хотите сохранить виртуальную машину не в папке по умолчанию, поставьте галку напротив пункта «Сохранить виртуальную машину в другом месте», а затем выберите папку для сохранения. Папку для хранения файлов виртуальной машины создайте заранее.
В окне «Укажите поколение» по умолчанию выбрано «Поколение 1», которое подойдет для большинства случаев. «Поколение 2» загружается не со всех образов, по существу, это виртуальная машина с UEFI.
В окне «Выделите память» необходимо выбрать объем выделяемой памяти для этой виртуальной машины. Я выделил 2 ГБ памяти со своего компьютера из 8 ГБ.
В следующем окне «Настройка сети» выберите ранее созданный сетевой адаптер (виртуальный коммутатор).
В окне «Подключить виртуальный жесткий диск» отобразится информация об имени виртуальной машины, о ее расположении на жестком диске, объем дискового пространства, выделяемого для виртуальной машины (по умолчанию предлагалось 127 ГБ, я выбрал — 50 ГБ).
Для установки ОС выберите пункт «Установить операционную систему с загрузочного компакт- или DVD-диска». Здесь выберите «Физический CD или DVD-диск» для установки системы с диска, помещенного в оптический привод, или выберите «Файл образа (.iso)» для установки операционной системы непосредственно с ISO образа ОС, который находится на компьютере.
При помощи кнопки «Обзор…» я выбрал образ операционной системы Windows 7 Максимальная SP1 x64, расположенный на внешнем жестком диске, который в данный момент подключен к моему компьютеру.
В окне «Завершение работы мастера создания виртуальной машины» отображена конфигурация созданной виртуальной машины. Нажмите на кнопку «Готово» для завершения создания ВМ.
После применения настроек, в окне «Диспетчер Hyper-V» появится созданная виртуальная машина, и отобразятся ее настройки.
Для запуска процесса установки, выделите виртуальную машину, в контекстном меню выберите «Подключить…».
В открывшемся окне войдите в меню «Действие», выберите команду «Пуск», или просто нажмите на зеленую кнопку «Пуск».
Далее в окне виртуальной машины Windows Hyper-V начнется процесс установки операционной системы на компьютер, в данном случае Windows 7.
На моем сайте вы можете прочитать подробные статьи о процессе установки операционных систем Windows.
Вам также может быть интересно:
- Песочница Windows 10 (Windows Sandbox): безопасная изолированная среда
- Виртуальная машина VMware Workstation
После завершения установки операционной системы, гостевая ОС готова к работе. На этом изображении видно, что на моем (хостовом) компьютере работает операционная система Windows 10, а в окне запущена виртуальная машина Hyper-V с операционной системой Windows 7.
В виртуальной машине можно создавать снимки виртуальной системы (контрольные точки) для того, чтобы сохранить состояние операционной системы на определенный период времени.
Создать контрольную точку можно из окна приложения, Управлять контрольными точками (восстановить состояние виртуальной машины, удалить ненужные точки) можно из раздела «Контрольные точки» в Диспетчере Hyper-V.
Как отключить компонент Hyper-V в Windows 10 — 4 способа
Virtual machine creation
In the left sidebar, select your computer under «Hyper-V Manager». In the right sidebar, select «New» > «Virtual Machine…». In New Virtual Machine Wizard, you may in general specify whichever settings you like, but some must be specifically configured.
Under «Specify Generation», you may choose «Generation 1» or «Generation 2». Generation 1 virtual machines emulate a BIOS-based machine and legacy ports. Generation 2 provides a UEFI-based machine. In general, use Generation 2 unless for compatibility or portability reasons you need to use Generation 1. Also, when using Generation 2 for an Arch Linux virtual machine, make sure to disable Secure Boot in the virtual machine’s settings under Hardware -> Security.
For «Startup memory» under Assign Memory, choose enough to ensure Arch and any programs will run properly.
For «Connection» under «Configure Networking», choose the virtual switch you created earlier.
For «Connect Virtual Hard Disk», choose «Create a virtual hard disk», and make sure the «Size» is appropriate for your use case. The virtual hard disk is sparse, so the virtual hard disk will only use as much real storage as is necessary to store what the virtual OS has written to it.
For «Installation Options», choose «Install an operating system from a bootable CD/DVD-ROM». If you are installing Arch from a disc or USB device, choose «Physical CD/DVD drive» under «Media», and select the appropriate letter. If you are installing Arch from an ISO file, select «Image file (.iso)», and select the file in the «Browse…» dialog. For Generation 2 machines, booting from a physical CD/DVD drive is not supported.
Гибкость инфраструктуры
Теперь давайте рассмотрим в сравнении механизмы миграции ВМ, а также наличие поддержки VXLAN.
1) Живая миграция — ее поддерживают все, кроме бесплатного ESXi. Количество одновременных миграций — параметр очень тонкий. У VMware он ограничен технически на уровне гипервизора, а Hyper-V — на уровне здравой логики и физических возможностей инфраструктуры. У Citrix нет четких официальных данных о количестве поддерживаемых одновременных миграций. Хоть у Hyper-V данный параметр и смотрится более привлекательным, но такой подход очень настораживающий — конечно, очень круто, что можно хоть 1000 ВМ одновременно мигрировать — но это же просто повесит вашу сеть. По незнанию такое может произойти, а вот если с головой дружба — то вы сами выставите нужный параметр — спасает то, что по умолчанию количество одновременных миграций равно 2-м — так что будьте внимательны. Что касается живой миграции виртуального стораджа ВМ — то этим могут похвастать только Hyper-V и vSphere Enterprise Plus. А вот смигрировать с хоста на хост (или куда еще) без общего хранилища под силу только Hyper-V — хотя функция действительно важная и полезная, жалко что только у одного гипервизора реализован данный механизм.2) VXLAN — механизм абстракции и изоляции виртуальной сети с возможностью ее динамического расширения. Данный механизм очень необходим для непрерывных облачных сред или очень больших дата-центров с внедренной виртуализацией. На сегодняшний день только Hyper-V по умолчания поддерживает данный механизм — у VMware есть возможность реализовать данный механизм, но только за дополнительную плату, т.к. вам придется покупать стороннее расширение от Cisco.
Hyper-V VMConnect – Enhanced Session Mode
Interacting with Virtual Machines can be difficult and time consuming using the default VM console since you can not copy paste or connect devices. VMConnect lets you use a computer’s local resources in a virtual machine, like a removable USB flash drive or a printer and in addition to this, Enhanced session mode also lets you resize the VMConnect window and use copy paste. This makes it almost as if you would use the Remote Desktop Client to connect to the Virtual Machine, without a network connection, instead you will make use of the VMBus.
The Enhanced Session Mode feature was introduced with Windows Server 2012 R2 and Windows 8.1. Enhanced session mode provides your Virtual Machine Connection with RDP (Remote Desktop Protocol) capabilities over the Hyper-V VMBus, including the following:
- Display Configuration
- Audio redirection
- Printer redirection
- Full clipboard support (improved over limited prior-generation clipboard support)
- Smart Card support
- USB Device redirection
- Drive redirection
- Redirection for supported Plug and Play devices
Requirements for the Enhanced Session Mode are:
- The Hyper-V host must have Enhanced session mode policy, and Enhanced session mode settings turned on
- The computer on which you use VMConnect must run Windows 10, Windows 8.1, Windows Server 2016, or Windows Server 2012 R2 or higher
- The virtual machine must have Remote Desktop Services enabled, and run Windows 8.1 (or higher) and Windows Server 2012 R2 (or higher) as the guest operating system.
You can use it, by pressing the enhanced session button (if you have all the requirements) on the Windows 10 Client this is enabled by default on the “host”. On Windows Server, you have to enable it first in the Hyper-V Manager under Hyper-V Settings