StarWind Software V2V Image converter: a nice free tool for the toolbox

I get some questions now and then about free tools to use for converting virtual machine files from one format to another. One of my old time favorite tools (VMDK to VHD Converter)  for converting virtual machines files from VMware to Microsoft’s VHD is getting old and can give you some performance issues & problems on x64 bit operating systems. It also doesn’t support other file format conversions. If you need to try another tool you can give StarWind Software V2V Image converter a try.

It works pretty well on all major Windows operating systems up to & including windows 7 / Windows 2008 R2 x64 bit. It supports conversions between VMDK, VHD files and  IMG files. And it doesn’t alter the source files in any way. However to prevent the software from crashing I need to run it as an administrator. I consider this to be a drawback. Make sure you have a good machine with a modern processor & fast (extra) disk and adequate space to get optimal speed  Really, replace that P4, go on!

Drawbacks are that you cannot choose the location where the converted file is saved. So you can’t get optimal speed by using two physical disks, one for reading and one for writing. Also this means that for large virtual disk files you’ll need loads of free space. It requires registration for download which you might not like that (you can grab it here: StarWind V2V Image Converter). On the whole it’s a pretty fast tool and does the job well and a nice instrument in my toolkit.

Workaround for Exchange 2010 & Outlook 2003 Shared Calendars Connectivity Issues “The connection to the Microsoft Exchange Server is unavailable. Outlook must be online or connected to complete this action.”

This is a rather long blog about an issue we had during an Exchange 2007 to Exchange 2010 transition project @ a 1.500 mail boxes sized company. This was last summer but I needed to find the time to blog this so that it might help people who also need to find a solution. We ran in to this very annoying situation for users who still have outlook 2003 (SP3, fully patched) and were moved over to Exchange 2010 Roll Up 4. The users have rather a lot of shared calendars open & after accessing some of them (the sweet spot seemed to be around 6 to 7) they got this error:

"The connection to the Microsoft Exchange Server is unavailable. Outlook must be online or connected to complete this action."

Edit November 15th 2010: Microsoft released a KB article http://support.microsoft.com/kb/2299468 titled  “Error message when Outlook 2003 clients try to open multiple shared calendars in Exchange Server 2010: "The connection to the Microsoft Exchange server in unavailable. Outlook must be online or connected to complete this action" on this issue that is based on the work done on this case. The support engineer who worked on this case with me notified me by mail that the article had been released. Thanks Kovai! They only mention the throttling Policy as the /resetnavpane is not always required, this depends on the environment history. 

Edit February 3th 2011: The support engineer published a very content rich blog about all this and other possible causes of the error notification on his TechNet blog: Things you need to know about “The connection to the Microsoft Exchange server in unavailable. Outlook must be online or connected to complete this action” prompts in an Outlook 2003–Exchange 2010 world. It’s a must read for all people dealing with this error message.

When the user closes and reopens Outlook 2003 access sometimes worked for the calendar that threw the error before but than other calendars throw the error. So it becomes game of closing and opening Outlook 2003 in the hope you can open the desired calendar. This does not make users very happy as you can imagine. We stopped the migration to Exchange 2010 for users still on Outlook 2003. On the Exchange 2010 forums you’ll find http://social.technet.microsoft.com/Forums/en/exchange2010/thread/93db8cd7-3380-443f-8dbe-fbfb79cd9978 and http://social.technet.microsoft.com/Forums/en/exchange2010/thread/85c75bae-93dc-453e-be28-0425de3d5227 which both discuss this problem. It’s also pretty random. Sometimes it’s a shared calendar of a user on Exchange 2010 or on Exchange 2007. There is also a mention of this issue on others sites and one of them mentioned a private discussion with Microsoft about a fix coming in E2K10 Roll Up 5.I asked MS support later on if they had any knowledge of this and they said that they had none what so ever. By the way SP1 for Exchange 2010 arrived before we even got to roll up 5 for Exchange 2010 RTM.

We investigated and searched for a solution. One very promising work around was related to the throttling mechanism in Exchange 2010.

See also http://blogs.msdn.com/b/pepeedu/archive/2010/01/13/exchange-2010-client-access-throttling.aspx for more information on this. This is a good right up as well: http://eightwone.wordpress.com/2010/06/22/exchange-2010-throttling-policies-rtm-sp1/

The default throttling policy limits the RPC connections to 20. Now when Outlook 2003 opens a shared calendar it consumes a RPC connection. It doesn’t release that until outlook is closed. We taught we had a winner here as this could lead to the error while sending and receiving mail keeps working.

So in an attempt to fix the problem we tried this:

New-ThrottlingPolicy –name Outlook2003Calendar

Set-ThrottlingPolicy –identity Outlook2003Calendar –RCAMaxConcurrency 100

Set-Mailbox –Identity “annoyed user” –ThrottlingPolicy Outlook2003Calendar

We’re supposed to have some patience before this would work, due to Active Directory replication so we did. We even left it overnight. No joy. We also tried disabling throttling by using $NULL. Unfortunately this didn’t work either. We verified if the throttling was indeed the issue by counting the connections for a troublesome Outlook 2003 user and found that the error even occurred below the throttle limit. You can figure out the number of RPC connections by using:

Get-LogonStatistics –Identity <annoyed usser> | fl applicationid

Well we ran out of ideas (can you believe that?!) and so we called Microsoft Support to log a case. One of the goodies with our TechNet subscriptions via Software Assurance is that we have free support calls! Open-mouthed

The feedback was not coming fast. We also did not get any requests for more information. Not good sign. And when we pinged ‘m for info they acknowledged the bug and told us that it would probably be fixed in Exchange 2010 SP1. They were not 100% certain that our issue was due to this bug. But we did not get any request for further information or diagnostics. They asked us to go to Exchange 2007 SP3. At the time we were on Exchange 2007 SP2 Roll Up 4. There was not really an indication this would fix anything. The users who had the issue were the ones who had been moved to Exchange 2010. But we went along, put in the overtime past office hours and we went to Exchange 2007 SP3. As expected this did not help at all.

Then finally advanced support came in to play, now that was a different ballgame. Lots of questions request for logs, network traces, executing tests both client side and server side related. The engineer was really engaged and was working hard on this. He has my thanks and it took some time to do all the testing and work trough the results.

We found out some interesting things. When a user with a mailbox on Exchange 2007 or 2010 opens his shared calendars using Outlook 2003 the list is different than what you see in OWA or using Outlook 2007 and Outlook 2010. This is due to changes in the way those shared calendars are accessed. I was not able to find out any more details on the subject but this could be due to the fact that Outlook 2003 by default used referenced MDB model when additional calendars/mailboxes were opened. This feature isn’t supported in Exchange 2010 and due to the underlying design server side changes outlook 2003 now establishes more connections than it did with previous exchange versions. I assume it was still supported in Exchange 2007.

With Exchange 2010 the combination of the throttling policy and the changes in how shared calendars are accessed and the fact they contain “persistence information” caused this issue. We created a new throttling policy and i was necessary to delete all shared calendars from outlook, close outlook, start outlook and add them again. Manually this is done one calendar at the time and I pretty tedious. At least you can speed up things by using outlook.exe /resetnavpane. This will delete all the shared calendars for you and saves a lot of time. It also resets the entire navigation pane so any other “issues” lingering around are thrown out as well.

In summary (this an adaption of the support case conclusions. The escalation engineer working on the case was a great guy and he really put in an effort).

Problem:

  • When Outlook 2003 clients whose mailbox is on Exchange 2010 try to open additional calendars (on Exchange 2010 or on Exchange 2007) they get error popup "The connection to the Microsoft Exchange server in unavailable. Outlook must be online or connected to complete this action"

Observations:

  • The popups might happen while opening any additional calendar , no specific pattern on occurrence of pop up message based on specific number of additional calendars opened or a specific additional calendar/calendars being opened.
  • The issue didn’t happen when the mailboxes were on Exchange 2007, issue doesn’t happen with versions of outlook higher than Outlook 2003.
  • All the concerned mailboxes are on Exchange 2010.
  • There is an indication that mailboxes that existed in the organization since Exchange 2000 days face the problem. Mailboxes that were created since the introduction of Exchange 2007 and never had a mailbox prior to that version didn’t have the problem.

Causes:

  1. While the mailbox is on Exchange 2010, outlook 2003 will use Exchange 2010’s Address Book service to query the legacyDN of target shared mailboxes/calendars that needs to be opened and Exchange 2010 returns this as mungedDNs (not typical legacy exchange DNs) which forces outlook 2003 to think it’s a new server every time and establish more connections so eventually the default allowed maximum of 20 connections would exhaust.
  2. Outlook 2003 maintains hidden persistence messages containing various information about the shared mailboxes/calendars, such as the user name and the server where the mailbox resides. Thus it doesn’t have updated information and could very well reach a non-existing server as well.

Solutions:

  1. For the cause1, we set up a custom throttling policy with RCAMaxConcurrency set at 100 and applied this policy on mailboxes still using Outlook 2003.  For the change to take effect immediately, we need to force AD replication, restart of throttling service, RPCClientAccess service on CAS and MBX servers
  2. For the cause2, we either need to remove those stale entries and re-add the shared calendar entries (need to sync the deletion with server, then close and reopen outlook prior to re-adding entries again) or run ‘outlook.exe /resetnavpane’ switch.

Most issues with Outlook 2003 are well documented in KB articles and on the Microsoft Exchange Team Blog (http://msexchangeteam.com/) but not this one and it hurt us when the users complaints came in. We did not catch this one in the labs prior to the transition. We can’t win ‘m all, I know that. But the most obvious solution, upgrade to Outlook 2007/2010, is often not an acceptable option for financial, timing, practical and compatibility reasons. A couple of weeks ago I saw a tweet by Jetze Mellema about what he read somewhere “Friends don’t let friends upgrade to Exchange 2010 when using Outlook 2003.” I wouldn’t go that far. But this shared calendar issue should have been documented by now and made public I think.

New Version of ExFolders that is Exchange 2010 SP1 Compatible

I’ve mentioned the tool Exfolders before in https://blog.workinghardinit.work/2010/05/25/exchange-2007-2010-public-folders-issues-the-active-directory-user-wasnt-found/.   It’s a great tool and a worthy successor for PFDAVadmin.Now please note that when you upgrade to Exchange 2010 SP1 you’ll need to update the Exfolders tool as well. You can find the E2K10SP1 compatible version here: http://msexchangeteam.com/files/12/attachments/entry456255.aspx I’m happy to see that the new version of the tool is released in sync with the service pack. It’s a very handy an valuable tool to have. PFDAVadmin users already know this from experience. You can also use it to connect to an Exchange 2007 server but you need to run if on an Exchange 2010 server.

For more information about the tool take a look at this blog post by the Exchange Team: http://msexchangeteam.com/archive/2009/12/04/453399.aspx Don’t forget to read the instructions and follow them, especially regarding the import of the TurnOffSNVerificationForExFolders.reg file or the tool will crash.

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!