Solving USB License Dongle Needs & COM Port Needs In Virtual Machines – RemoteFX USB Support Won’t Replace USB Over Ethernet

The Issue

One of the biggest showstoppers people come across when virtualizing servers is often software license dongles. A lot of software vendors have decided that such measures are needed to protect ‘m from piracy. I don’t think it works. I might prevent the occasional unlicensed use but it has never stopped a determined “pirate” from cracking & hacking the dongles or the software and offering that solutions on the dark side of the internet. The only cookies they have are poisonous 😉

But short of all the stupid issues paying customers will have with license dongles, when it’s time to virtualize the servers you’re in trouble. There is no USB device on a virtual machine to stick that dongle into. Some quality desktop virtualization solutions like VMware workstation do offer USB support but the heavy duty server production hypervisors do not. So now there is an extra issue to solve. The solution to that problem can be solved USB over Ethernet software. When we start talking about physical COM port mapping (SMS Gateways anyone and other “esoteric” engineering toys …) it’s the same issue. But what’s discussed below is also valid for that problem. The companies have software for that as well.

The Solution

When you need to virtualize server applications that need a locally attached dongle you need to start looking for USB over Ethernet solutions that are reliable, support x64 bit, have signed drivers and support your Operating Systems. Normally you pay for the number of servers and USB device connections for which you get a license key. The client software is free and unlimited.

I’ve used both Fabulatech and KernelPro. But now I exclusively use KernelPro. FabulaTech version 4.1.1 was rock solid but ever since version 4.2/4.3 & 4.4 Beta they have brought us nothing but “Blue Screen of Death” hell either simply in production or during reboots (server grade hardware, DELL, HP). They really dropped the ball in a huge way It also had issues with clean uninstalls for upgrades etc. We just had to cut our losses after many months of frustration and troubleshooting as we were bleeding money and losing valued customers, not to mention our reputation. We now implement KernelPro USB over Ethernet version 2.5.5 as the solution of our choice. It works very well and we just never had an issue with that product. In the Hyper-V guest you install the client software and make sure to allow the needed ports in the client firewall configuration. For a license dongle you still need the dongle drivers to be installed but once that done you’re golden. To make sure server reboots do not interfere with the licensing I configure the USB over Ethernet software to automatically connect the correct USB device to the correct client. To prevent unwanted client connections you can use a IP filter list to allow or disallow client connections and disable USB devices for sharing. When using DNS names be aware of DNS Client Caching etc. when you change the IP address of a client and such. During fail over testing that might trip you over. I your application supports multiple dongles you can even create fault tolerant USB over Ethernet setups. Now try to sell that to a client: “Hello, I’m the architect of you highly available USB over Ethernet License Dongle solution for your Hyper-V farm”. Been there, done that!

Due Diligence

As I’ve written in a previous blog post “Perversions of IT: License Dongles” (https://blog.workinghardinit.work/2010/03/29/perversions-of-it-license-dongles ) you need to be aware of the fact that you need to manage the Ethernet over USB environment very carefully. Make sure the versions of the server software and the client software are the same on all nodes. We’ve seen network connectivity loss when the versions don’t match up, even if the software didn’t complain about different versions. Always make sure they are running the same version. Don’t just randomly update. For this reason I always disable the check for updates.

You need to test its stability, have some extra hardware and extra dongles for testing as to confirm your dongles respond well to this type of setup. We can’t afford to bring down production environments with USB over Ethernet software “upgrades of faith”. With some clients the license dongles become a virtualization show stoppers due to such risks. Talking about technology debt a cheap piece of plastic license protection is preventing paying customers from virtualizing. How do you think they feel about you as a software company. You’ll find out when they find an alternative without a dongle 😉

RemoteFX USB Support to the rescue?

When Windows 2008 R2 SP1 was announced there was also a lot of talk about support for USB devices via RemoteFX USB . I was very happy with that because it’s a very useful and handy feature. Initially I was also optimistic about the fact that it might help with the license dongle issue. But as the name says, it very much geared to offer support for VDI environments. That means you’ll be able to hook up cameras, license dongles for interactive user apps so you can run them on your virtual desktop, USB rocket launchers (http://www.youtube.com/watch?v=EmZ-QKglyrc ) and the works.

Now for server applications there is no option provided for mapping the USB dongle on a parent partition to a child partition permanently. So basically for such needs , and in my neck of the woods I have a bunch of those, there is no built in solution. Software running as a service, License software running a couple of dongles and offering network licenses for applications will still need a USB over Ethernet solution. One little positive thing is that I heard rumors that one software vendor is dropping the need for a dongle. On small step but we’ll call that progress anyway. I hope the virtualization push forces a lot of others to do likewise and forget about license dongles. Typically for such companies that will be very late in the game. By the time they acknowledge the needs and realties in the field most customers have dumped that vendor or work around the problem on their own time and at their cost. So a vendor solution is always late. When they have it the industry progress has already led to another problem with their software due to bad choices they made in the past. Such is life. Still I have one advice for software companies: become good or get out!

Hyper-V 3 & Windows 8, Musings on Hypervisors & Crystal Ball Time

I think Microsoft sales might be getting a head ache by the ever increasing speed by which people are looking and long for features in the “vNext” version of their products whilst they are still just getting people to adopt the current releases but I like the insights and bits of information. It helps me plan better in the long term.

A lot of you, just like me, have been playing around with Hyper-V since the betas of Windows 2008. As I run Windows Server tweaked to act en look like a workstation I wanted to move my virtualization solution on the desktop to hyper-V as well. I use Windows server as a desktop because it allows me to install the server roles and features for quick testing, screen shot taking, managing the lab, etc. during writing and documenting.

Now a lot of you will have run into some performance issues on the host related to the video card, the GPU. Ben Armstrong mentioned it on his blog and wrote Knowledge Base article on it (http://support.microsoft.com/kb/961661). He later provided more insight into the cause of this behavior in the following blog post http://blogs.msdn.com/b/virtual_pc_guy/archive/2009/11/16/understanding-high-end-video-performance-issues-with-hyper-v.aspx it’s a good write up explaining why things are the way they are and why this cannot be “fixed” easily.

For me this was a bummer as I had a decent GPU on my workstation and I sometimes do need the advanced graphic capabilities of the card.

So when the first rumors of about “Windows 8” & “Hyper-V version 3” hit the internet I was very happy to see the mention of Hyper-V being used in Windows 8 as a client hyper-visor virtualization solution. See http://virtualization.info/en/news/2010/07/first-details-about-hyper-v-3-0-appear-online.html, this link was brought to my attention by Friea Berg from Netapp on twitter (@friea). Now there is more to it than just my tiny needs and wishes. Integration with App-V and other functionality that integration of Hyper-V in “MiniWin” can offer, but have a look at the link and follow the source links if you can read French.

The thing is that Hyper-V in the client would mean that they will have fixed this GPU performance issue by then. They have to; otherwise those plans can’t work. As the code bases of Windows client and server run parallel it should also be fixed on the server side. We’re used to more rich functionality in desktop virtualization by VMware Workstation en Virtual PC. Fixing this also makes sense in another way. Microsoft could be moving forward on one virtualization solution both on server and the desktop and gradually phasing out Virtual PC. They can opt to provide richer functionality with extra features that might be unnecessary or even undesirable on a server but is very handy on a workstation or on a lab server. This is all pure speculation (crystal ball time) by me but I’m pretty convinced this where things are heading.

Combine this that by the time “Windows 8” arrives most hardware in use will be much more capable of providing advanced virtualization features and enhancements and in all aspects, things are looking bright. So no I can dream of affordable 32 GB laptops with dual 8 core CPUs with a wicked high end GPU running Hyper-V.

By the way VMware is also working on similar ideas to provide a true hypervisor on the desktop I guess as they seem to be abandoning VMware Server (no enhancements, not fixes, etc.) and I can also imagine them making VMware Workstation as true hyper-Visor to reduce the product line development and support costs. Pure speculation, I know, especially since the confusing message around off line VDI but never underestimate the ability of a company tho change its mind when practical for them. 😉

Someone at SUN Oracle must be smiling at all of this, especially as Virtual Box is getting richer and richer with memory ballooning, hot add CPU capability (I like this and I want this in Hyper-V), etc. unless Microsoft and VMware totally succeed in making hosted virtualization a thing of the past. In the type 1 hypervisor space they are consolidating what they bought. Virtual Iron (Xen) was killed almost immediately and the SUN xVM Hypervisor is also dead. Both have been replaced by Oracle VM (Xen).

So as everyone seems to have good type 1 hypervisors that are ever improving it might become less and less a differentiator and more of a commodity that one day will be totally embedded in the hardware by Intel and AMD. The OS and software vendors then provide the management, high availability features and integration with their products. And if that is the evolution of things where does that leave KVM (Linux) in the long run? Probably the world is big enough for both types. For the moment both types seem to be doing fine.

As I said, all of this is musings and crystal ball time. Dreaming is allowed on sunny lazy Sunday afternoons. Open-mouthed

Partially Native USB support coming to W2K8R2 with SP1!?

As you might recall from a previous blog post of mine (https://blog.workinghardinit.work/2010/03/29/perversions-of-it-license-dongles/) one of the show stoppers for virtualization can be USB dongles. Apart from my aversion of USB license dongles that should never be mentioned in the same sentence with reliability and predictability, now the push for VDI has exposed another weakness, the need for end users to have USB access. Well Microsoft seems to have heard us. Take a look @ this blog post: http://blogs.technet.com/virtualization/archive/2010/04/25/Microsoft-RemoteFX_3A00_-Closing-the-User-Experience-Gap.aspx

What remains to be seen is if this will work with license dongles. Anyway for desktop virtualization a much needed improvement is under way. I would like to thank Christophe Van Mollekot from Microsoft Belgium for bringing this to my attention. This together with VDI license improvements for SLA customers are giving desktop virtualization a much better change of being adopted. Some times stuff like this really makes the difference. You can’t explain to your end users that the great super modern virtualized environment doesn’t support the ubiquitous USB drive. Trust me on that one.

Dynamic Memory Allocation for Hyper-V in Windows Server 2008 R2 SP1

Great news, and it’s finally coming to our production environments (it was the buzz @ Tech Ed 2008 in Barcelona for Hyper-V next at that time together with Live Migration): Dynamic Memory allocation comes to hyper-V in Windows Server 2008 R2 SP1. This is a great and most welcome addition! We can adjust memory allocations on the fly with down time from a memory pool on the host, memory virtualization if you will. Grab the announcement here: http://blogs.technet.com/windowsserver/archive/2010/03/18/announcing-windows-server-2008-r2-and-windows-7-service-pack-1.aspx