Hyper-V USB PassThrough Troubleshooting
What if you have tried one of the methods to get Hyper-V USB passthrough to work, and you are having issues? These may include things like the Hyper-V passthrough USB disk doesn’t show up, how to connect USB drive to Hyper-V virtual machine issues, or how to access USB drive from Hyper-V virtual machine.
Note the following Microsoft resources that can help with troubleshooting Hyper-V USB passthrough, such as:
- Attach USB device to Hyper-V guest machine – Microsoft Q&A
- Client Hyper-V and USB Passthrough For a Scanner (microsoft.com)
- How to attach a usb disk to a Hyper-V virtual machine (microsoft.com)
Server-side Hyper-V USB passthrough
Setting up Hyper-V USB device passthrough can be a bit trickier than configuring VMware products.
As an illustration, let’s get server-side Hyper-V to attach a USB memory stick (32 Gb) and recognize it as Drive E: so it instantly shows up in the host’s OS as an available system data storage device.
So, here is a clear how-to guide explaining this process.
Step 1: Let’s take the USB memory stick offline.
Type DISKMGMT.MSC at the server’s Run prompt and click the OK button to start the Disk Management console. Right-click on your USB disk (won’t work for drives or volumes) and pock Offline from the shortcut menu.
Step 2: Run the Hyper-V Manager. Right-click on the VM that needs access to the memory stick and pick Settings from the invoked menu.
Click on SCSI Controller, select Hard Disk, and click the Add button.
Step 3: On the Settings screen, you’ll see two options: Virtual Hard Disk (we won’t need this one) and Physical Hard Disk. Go with the Physical Hard Disk option, pick your USB memory stick from the drop-down menu below and click the OK button.
From this point on, you’ll be able to view and access your USB memory stick from the Virtual Machine. If not, go to the Disk Management Console and assign your memory stick a drive letter.
Подключите USB-устройство к виртуальной машине с Hyper-V
Hyper-v имеет функцию, которая позволяет передавать информацию через устройство usb в виртуальная машина .
Но если вам нужно получить доступ к USB-устройству, подключенному к компьютеру, и вы заметите, что Hyper-V не уступает место USB, что делать? Прежде всего, имейте в виду, что Hyper-V — это гипервизор класса 1 , это указывает на то, что операционная система может блокировать вход USB.
Во-вторых, если Hyper-V не предоставляет USB-вход, вы можете использовать некоторые из варианты активации взятый в заряд USB Hyper-V. По этой причине мы кратко обсудим способы простого доступа к USB в Hyper-V, когда с вами случится какая-либо из этих проблем.
Используйте программное обеспечение для доступа к USB-устройству в Hyper-V
Чтобы решить проблему блокировки Hyper-V порта USB, вы можете положиться на следующее программное обеспечение, чтобы исправить это.
- FlexiHub — это программа, использует технологию USB через Ethernet для передачи информации на USB-устройства через Интернет. Эту программу можно использовать в Windows, MacOS, Linux и Android, чтобы исправить сбой, вызванный Hyper-V из-за блокировки входа USB.
- USB через сеть — это программное приложение, которое позволяет устройствам быть доступными , независимо от компьютера. Благодаря этому приложению вы сможете подключиться к любой виртуальной машине независимо от ее удаленности. Он даже становится очень полезным инструментом для работы с USB Hyper-V в Windows 7/8/10.
How to access USB in Hyper-V
USB Network Gate (also known as USB over Network) is a specialized communication software application that allows you to share USB devices through the network making them accessible in Hyper-V.
Here are three simple steps to perform a USB passthrough in Hyper-V through the use of USB Network Gate:
Step 1: For a start, install USB Network Gate both on the host and on the guest OSes.
Step 2: Run USB Network Gate on the host that has your device physically connected to and use it to share said device over the network.
Step 3: Now go to the client Hyper-V and run USB Network Gate there too. Find your USB device on the list shown in the application’s tab and click the Connect button next to its name.
This is a rather easy and convenient method to implement Hyper-V USB passthrough on Windows 10, other Windows systems, Linux, or Mac. And you won’t need to invest in any extra equipment or make changes to your system’s settings.
Hyper-V USB Passthrough with Enhanced Session Mode
Enhanced Session Mode enables redirection of local devices and resources to a virtual machine session using the Virtual Machine Connection tool. If your computer runs Windows 10 or Windows 8.1, Enhanced Session Mode will be available by default. However, if your Hyper-V host runs Windows Server 2012 R2 or Windows Server 2016, you have to manually enable the Enhanced Session Mode functionality. Note that using this approach, you don’t need to ensure network connectivity to the guest OS, only to the host.
To perform Hyper-V USB passthrough with Enhanced Session Mode, you need to take the following steps:
- Connect to a computer hosting the VM.
- Open Hyper-V Manager. Right-click the host’s name and select Hyper-V Settings.
- In the Server section, click Enhanced Session Mode Policy and check the box Allow enhanced session mode.
- In the User section, click Enhanced Session Mode and check the box Use enhanced session mode.
- Click OK to save changes.
- The next stage is to choose the local resource you would like to connect to. Local resources include printers, local drives, audio devices, and USB drives, which constitute the main topic of our blog post. For this purpose, you should do the following:
- Open Hyper-V Manager and start the VM by double-clicking its name.
- Before you can log into your VM, a configuration window will pop up. Click Show Options to extend the set of configurations for future connections to this VM.
- Select the Local Resources section. Under Local devices and resources, click More.
- If you want to enable VM access to a local USB device, check the box Other supported Plug and Play (PnP) devices, as well as the box Devices that I plug in later beneath it. Click OK.
- In the Display section, you can also select Save my settings for future connections to this virtual machine. Click Connect if you wish to implement any changes.
With these two approaches, you can make a USB device available for use within any Hyper-V VM that you choose.
Hyper-V USB Passthrough with Remote Desktop Connection
To perform Hyper-V USB passthrough with Remote Desktop Connection, you should do the following:
- Start by enabling remote desktop connections on your VM. For this purpose, connect to the VM and open Remote System Settings in the Control Panel (Control Panel> System and Security> Allow remote access).
- The System Properties menu will open. Check the Allow Remote Assistance connections to this computer Ensure that the Allow remote connections to this computer box is also checked. Click OK.
- Now, we can connect to this machine remotely. Connect to a USB device through enabling a RDP session.
- Run the mstsc.exe command to open the Remote Desktop Connection window. Click Show Options, select the Local Resources tab and press the More button.
- In the new menu that opens, you can choose which devices and resources on this computer you wish to use in a remote session. USB devices fall under the Plug and Play devices category. Check the corresponding box and click OK.
- Lastly, click Connect to initiate a RDP session. Here, you will be asked to confirm your selection once again. Click Connect if everything is OK and you trust the remote computer.
- Note that this approach requires network connectivity between the computer to which a USB device is connected and the guest OS.
KVM
Технология виртуализации KVM (Kernel-based Virtual Machine) продвигается компанией RedHat и является «основной» в этом дистрибутиве и его клонах. Требует поддержку аппаратной виртуализации Intel VT или AMD V. Это означает, что KVM может использоваться далеко не на каждом компьютере: старые и некоторые из новых CPU (например, Intel Atom) не подойдут. В принципе, если оборудование закупается под задачу — это не проблема. Проверить очень просто:
Распространяется он по лицензии GNU GPL, компании RedHаt и Novell предоставляют коммерческую поддержку.
Реализован в виде базового модуля ядра (kvm.ko) и userspace.
Последний представляет собой модифицированный QEMU (qemu.org), предназначенный для эмуляции аппаратного обеспечения. В зависимости от типа CPU грузится и специфический модуль — kvm-amd.ko или kvm-intel.ko. Для настройки виртуальных машин используется псевдоустройство /dev/kvm. Все инструкции выполняются в специальном гостевом режиме, в полностью изолированном от системы и друг от друга адресном пространстве. Ввод-вывод сетевых, блочных и balloon (работа с памятью) устройств реализован через драйвер Virtio, остальные в userspace. Накладные расходы выше, чем у OpenVZ, и, в зависимости от задач, могут быть до 20%.
Но у KVM есть несомненный плюс — в качестве гостевых можно запускать Linux, *BSD, Windows, Solaris, Mac OS X и ряд других ОС. Гостевые системы ограничены фактически ресурсами сервера, каждая может иметь до 16 vCPU (некоторые ОС, вроде Win XP, предварительно следует специфически подготовить). К слову, опыт показывает, что если в качестве гостевой используется Linux, то лучше выбрать такой же дистрибутив, как и базовая система. Производительность и стабильность работы будут заметно выше.
Удобно, что KVM поддерживает vmdk-образы, созданные в VMWare, процесс переноса очень прост и хорошо описан в соответствующем HOWTO (clck.ru/9xlp).
Учитывая, что KVM включен в состав ядра Linux начиная с версии 2.6.20 (раньше, чем другие системы виртуализации), проблем с установкой ни для одного из дистрибутивов нет.
В KVM поддерживается savevm/loadvm, offline и «живая» миграция виртуальных машин (последние — через команды migrate*).
Основным условием успешного переброса хоста является идентичность оборудования (тип CPU) и настроек гостевой системы, в том числе и пути к файлам образов. Хотя в некоторых случаях можно перенести ОС и без полного соответствия, но это потребует больше трудов и увеличивает вероятность ошибки. Гостевые ОС легко клонируются: один раз создав шаблон, его легко размножить.
Конвертирование P2V возможно двумя способами.
- Первый через dd, как описано в документации QEMU, но стандартной такую операцию назвать нельзя.
- Второй — применить VMWare Converter.
Так как KVM основан на QEMU (оба проекта тесно связаны друг с другом), то принципы управления (в частности, создания образов) остались те же. Для загрузки новой гостевой ОС через /dev/kvm используется специальная утилита kvm.
Управление осуществляется при помощи фронт-энда virt-manager, разработанного RedHat, или утилит командной строки qemu* и kvm. Чаще всего админы для удобства используют скрипты (на сайте проекта можно найти несколько заготовок).
Также доступны и интерфейсы: кроме тех о которых говорилось выше, это Karesansui (Xen/KVM), Symbolic, ConVirt (Xen/KVM), Ganeti (Xen/KVM).
How to Add Hyper-V Passthrough Support for USB Drives
Hyper-V can set up most USB disk drives in Hyper-V USB passthrough mode, but it does so via Windows’ storage subsystem. As I said in the opening paragraph, only one component can communicate with a USB device, so the Windows disk subsystem brokers I/O for all USB storage devices. For this reason, Windows must identify your USB drive as a “Mass Storage Device” in order for it to connect in Hyper-V USB passthrough mode. Other USB storage devices will not work.
I would like to reiterate that I am fundamentally opposed to permanently mounting any disk in passthrough mode. However, this is a how-to article, so I will show you how to configure Hyper-V USB passthrough. If you have problems, expect all responses from me to be, “I told you so”. I do not have any USB drives to test this with, so my screenshots will not line up well, unfortunately.
-
Ensure that the disk is visible in Disk Management. Take it Offline. If the Offline option is not available, the disk cannot be used as a passthrough.
Offlining a Disk
-
In the target virtual machine’s properties dialog, click the virtual controller where you want to add your passthrough disk. Make sure that Hard Drive is selected on the right and click Add. Remember that you cannot add any drive to a virtual IDE controller while the virtual machine is turned on, but you can add a drive to a virtual SCSI controller if the VM is off or on.
Add Hard Drive to VM
-
Change the selection dot to Physical Hard Disk and then select the drive to attach from the drop-down. This will be the USB mass storage device used for Hyper-V USB passthrough. Click OK.
Drive Passthrough
Виртуализация сервера 1С с HASP-ключом на Hyper-V
Андрей Ивашенцев
18.12.200911:23
Сегодня, в рамках проекта по виртуализации парка аппаратных серверов, встал вопрос о корректной миграции сервера 1С в виртуальную среду. Как известно, 1С: Предприятие требует работы аппаратного ключа для LPT-порта или USB, как в моем случае. После обращения в компанию 1С с вопросами по поводу виртуализации, было предложено приобрести электронный ключ у франчайзеров, но уже с новой версией программного продукта. Ориентировочная стоимость такого решения — 40 тысяч рублей, а это многовато за виртуализацию одного сервера. Пришлось искать более экономичное решение.К сожалению, в Hyper-V не реализовано полноценного механизма подключения USB-устройств к виртуальным машинам. Это создает некоторый дискомфорт, в случае использования оборудования, без возможности работы по локальной сети. В процессе виртуализации(P2V) физического сервера, отрезаются все упоминания о шине USB и устройствах, подключенных к ней. У основного конкурента — VMWare, механизм подключения USB-устройств реализован, однако имеет некоторые нюансы в настройке. Да и сам факт проброса USB сводит к нолю преимущества, получаемые от виртуализации физических серверов. При перемещении виртуальной машины с одного гипервизора на другой, необходимо будет каждый раз перетыкать ключ и заново настраивать переадресацию.В данном случае, нам на помощь придет отличная программа USB-Redirector, осуществляющая проброс любого USB-устройства по локальной сети с одного сервера на другой. Стоимость самой скромной редакции — 65 евро, а для осуществления задуманного больше и не надо.Программа работает как клиент-серверное решение, где сервер предоставляет доступ к одному или нескольким USB-девайсам, а клиент подключает их как собственные локальные ресурсы. В качестве клиентского приложения можно использовать бесплатный . В качестве USB-сервера можно использовать любой компьютер, под управлением ОС Windows.После установки серверной части, мы должны выбрать те устройства, которые нужно сделать доступными по сети. В моем случае, HASP определился как неизвестное устройство на порту 0001 хаба 0001. Для проброса, программе не требуется даже драйвера для устройства, он понадобится только на сервере 1С с клиентским приложением.Для корректного клиентского — необходимо разрешить на обоих серверах доступ по порту 32032 для USB Redirector Service. Сама программа не создает правила для встроенного брандмауера, так что правила придется настраивать вручную.После удачного дистанционного подключения нашего HASP-ключа, в диспетчере устройств появятся виртуальные USB-девайсы, драйвера на которые уже должны стоять на сервере. В случае LTP-ключа можно воспользоваться переходником LTP-to-USB, которые достаточно легко найти в розницу.Вот в общем-то и все. За 65 евро, мы получаем возможность виртуализировать до двух серверов 1С.Надеюсь, что материал окажется для кого-то полезным.
Просмотров:36918
2017: Ключевые возможности
По информации на январь 2017 года в качестве гипервизоров Proxmox VE использует KVM и LXC (начиная с версии 4.0, в версиях до 3.4 включительно вместо него использовался OpenVZ). Соответственно, способна выполнять любые поддерживаемые KVM ОС (Linux, *BSD, Windows и другие) с минимальными потерями производительности и Linux без потерь.
Ключевые возможности:
- Простое управление через веб-интерфейс;
- Мониторинг нагрузки в реальном времени;
- Статистика и информативные графики нагрузки сервера виртуализации и каждой виртуальной машины в отдельности;
- Библиотека установочных образов (в локальном или удаленном хранилище);
- Подключение к «физической» консоли гостевых систем непосредственно из браузера (по VNC и посредством SPICE-клиента);
- Объединение серверов в кластер с возможностью живой миграции виртуальных машин (без остановки гостевой системы);
- Быстрое развертывание гостевых систем из шаблонов;
- Сохранение образа состояния виртуальной машины (snapshot), формирование дерева состояний и возможность отката на любую из точек;
- Автоматическое резервное копирование виртуальных машин;
- С сайта разработчиков можно загрузить готовые шаблоны (как дистрибутивы общего назначения, так и настроенные под конкретную задачу, например запуск MediaWiki, Drupal или WordPress).
Hyper-V Cannot Passthrough Non-Disk USB
I often read complaints about the lack of Hyper-V USB passthrough for USB devices. The complaint typically accompanies a negative comparison to applications such as VMware Workstation and Oracle VirtualBox, which can perform USB passthrough. The very sharp distinction to be made here is that Hyper-V is a type 1 hypervisor whereas the products that provide simple USB passthrough are type 2 hypervisors. In a type 2 hypervisor, the management operating system is installed directly to the hardware and the hypervisor is just another application that runs within it. Applications have the ability to exclusively capture a USB port to prevent other applications from using it if they like; this is why it’s so easily done in a type 2 hypervisor. If you’ve ever used a type 2 hypervisor in this way, you’ll notice that they explicitly tell you that the USB device can be attached to the parent or a guest — there’s no sharing or divvying up resource access or anything of the sort. So, the same concepts apply to Hyper-V USB passthrough configuration.
Type 1 hypervisors are not applications. They are kernels firmly entrenched within partitions. A type 2 hypervisor is essentially an application shim that is pretending to provide a root hardware device, which is fine because it doesn’t require the same degree of isolation as a type 1 hypervisor. Hyper-V can’t do this for Hyper-V USB passthrough because one operating system instance locking a USB port from all other operating system instances is just not how type 1 virtualization works. Could there be a way for a type 1 hypervisor to assign a USB port to a specific guest by doing the same thing that a type 2 does? I don’t know. In theory, it sounds like something that could be done. But, technological feasibility is besides the point. Hyper-V doesn’t do it. If you want more information, Microsoft has published a thorough article regarding passing through hardware on the 2016 platform that describes some of the challenges and possibilities, including configuring Hyper-V USB passthrough.
If true Hyper-V USB passthrough is a requirement for whatever you’ve got in mind, then Hyper-V is a poor solution. If you’re using the emulators in Visual Studio, you’re sort of forced into it. For most everyone else, I’d say to turn your eye to a type 2 hypervisor. I personally like VirtualBox. It’s not perfect by any stretch, but the licensing terms are favorable for most and it gets the job done.
All of that said, it is entirely possible to configure Hyper-V USB passthrough inside a Hyper-V guest, even Client Hyper-V.
Note: a fourth option not explored in this article is software-based solutions. I’ve never personally used any, which is why they’re not in the text. Check the comments section, though. Reader Tim has suggested one such application and recounted his own experiences with it.
Информация к размышлению
Вместо скучной таблички с итогами (при желании вы сами можете составить такую) приведем несколько дополнительных тезисов, которые помогут вам определиться с тем, какой гипервизор выбрать. Так сказать, пища для ума или информация к размышлению:
VMware — самое дорогое решение, Hyper-V — дешевле (или при использовании Hyper-V Server и виртуальных машин с Linux — вообще бесплатное), KVM — изначально бесплатное.
Подсчитывая стоимость системы виртуализации, нужно учитывать еще и стоимость лицензий программного обеспечения, которое будет установлено в виртуальных машинах. Именно поэтому Hyper-V значительно дешевле VMware — при использовании VMware вам все равно придется покупать лицензии на гостевые ОС.
Hyper-V значительно дешевле и производительнее в гиперконвергентных решениях.
Таблица 1 — сугубо информативная, большинство пользователей не столкнется с этими ограничениями и ее не нужно учитывать, выбирая лучший гипервизор. Самое жесткое ограничение — у свободной версии ESXi.
У VMware есть Fault Tolerance, у Microsoft — пока нет
Если это для вас важно, задумайтесь над VMware.
У VMware лучше VDI, но у Microsoft организация VDI будет дешевле.
Hyper-V менее требовательный к «железу».
Хранилище для Hyper-V дешевле, поскольку VMware тесно связан по рукам и ногам HCL, а Hyper-V может использовать любой SMB 3.0 ресурс для хранения.
Hyper-V Server — это программное решение Hyper-V, поставляемое с Core-версией Windows без графического интерфейса. Ограничений в нем никаких нет (в отличие от бесплатной версии VMware), вы можете включить его в домен, управлять ею с помощью System Center, бэкапить и т
д. (в отличие от бесплатной vSphere).
В Hyper-V нет средств вроде Distributed Resource Scheduler или же Storage DRS, которые в VMware используются для балансировки нагрузок между ресурсами хостов
SCVMM в Hyper-V открывает возможности, выходящие за рамки простой серверной виртуализации. Вы можете создавать частные облака.
KVM — самое неприхотливое к ресурсам программное обеспечение. Это нужно учитывать при разработке бюджетных решений виртуализацией.
Для KVM можно также использовать интерфейс управления Virsh и GUI-интерфейс virtmanager.
Службы поддержки у KVM нет. Если что-то не получается, вы можете рассчитывать только на сообщество. Впрочем, поддержки нет и у бесплатного Hyper-V Server.
Существует коммерческий вариант KVM — RHEV (Red Hat Enterprise Virtualization).
Надеемся, приведенной информации будет достаточно для выбора оптимального для вас решения. Помните, что выбирать лучший гипервизор нужно не только исходя из сухих цифр, а отталкиваться нужно от требований вашего бизнеса.
Популярные услуги
SAP-хостинг
Профессиональный SAP-хостинг – это быстрый доступ к необходимому массиву данных и аналитика в режиме реального времени. Он подходит для развертывания системы управлениями базами SAP HANA и прочих высоконагруженных программ.
FreeBSD server
FreeBSD server считается одной из самых стабильных систем, поэтому многие администраторы предпочитают использовать её для управления сервером. У нас клиенты смогут арендовать VDS или VPN хостинг с этой системой. После получения хостинга пользователь сможет настроить VPN server и установить любые программные продукты, совместимые с выбранной ОС.
Публичное облако
Публичное облако позволяет быстро расширить ИТ-инфраструктуру без значительных вложений в модернизацию оборудования.
What Is Hyper-V USB Passthrough?
The USB passthrough functionality allows you to access the USB device from within a VM. Unfortunately, USB passthrough is not natively supported in Hyper-V environments, but you can still perform Hyper-V USB passthrough using the following approaches:
- Enable Enhanced Session Mode
- Run the Remote Desktop Protocol (RDP) session
- Install network-based USB solutions
- Install software-based USB solutions
Below, I am going to describe how the first two approaches work, since they do not require the installation of a third-party software, and can be manually configured in a few steps.
Requirements for Hyper-V USB passthrough
In a nutshell, to enable the VM access to a local resource, you need to meet the following requirements:
- The Enhanced session mode policy and Enhanced session mode settings should be enabled. Enhanced Session Mode is only supported on generation 2 VMs.
- For Virtual Machine Connection (VMConnect) to work, your computer should run Windows Server 2016, Windows 10, Windows 8.1, Windows Server 2012 R2, Windows Server 2012, Windows 8.
- The VM from which we want to connect to a USB drive must run Windows Server 2016, Windows Server 2012 R2, Windows 10, or Windows 8.1.
- Remote Desktop Services must be enabled on the VM which you would like to connect to.