The VCS (Windows VC) to VCSA Migration Fling has been out for a little over 6 months and the response from customers thus far has simply been phenomenal. We have also received some great feedback (200+ comments) from customers who have tried out the Fling in either a Dev/Test environment and some even in their production environment for those that are a bit more on the adventurous side. I have also had the pleasure in talking to some of these customers who have been successful in migrating off of their Windows vCenter Server (both large and small) and onto the vCenter Server Appliance (VCSA) and sharing additional feedback they may have about the Fling and how we can further improve.

Given the popularity of this topic, I thought it would be useful to aggregate some of the learning's, tidbits and workarounds that have been discovered in the past 6months to help any new or even existing users who might be interested in trying out the Fling. We really do appreciate all the feedback that everyone has given in the various forms and in fact, several of the workarounds were ones provided by our customers. As you know, the Fling today is not currently officially supported, however the feedback has really helped our PM/Engineering team. In fact, you can even get a sneak peak at an early Tech Preview we did at VMworld here to give you an idea on how some of your feedback has influenced a feature that may or may not be out in the near future 😉

Tidbit 1 Microsoft Windows 2012 is currently not supported.
Additional Info There is a known winexe bug which is affects migrating from this specific OS platform.
Workaround Engineering has a fix for this and is currently in the process of testing the fix along with legal review. There is not an ETA due to the review but we hope to release an update to Fling that includes this fix very soon. Stay tuned!This has been resolved with v0.9.1 of the Migration Appliance and for more details please take a look here.
Tidbit 2 Use of non-default (custom) ports on Microsoft SQL Server Database is not supported
Additional Info The Fling currently assumes the SQL Server Database is running on port 1433
Workaround Engineering has a fix for this and is currently in the process of testing the fix along with legal review. There is not an ETA due to the review but we hope to release an update to Fling that includes this fix very soon. Stay tuned!
Tidbit 3 Use of an Embedded Microsoft SQL Server or Microsoft SQL Express Database on the vCenter Server is not supported
Additional Info Since the source Windows vCenter Server must be powered off during the database migration; running the database on the same source vCenter Server is not possible.
Workaround One option is to re-ip the source Windows vCenter Server and ensuring the vCenter Server service is completely disable which would allow the Migration Appliance to communicate with the database. This is not ideal as you are modifying the source Windows vCenter Server but has worked in our testing. Second option that several other customers have recommended instead is to export the vCenter Server Database to a single instance of a Microsoft SQL Server or Microsoft SQL Express and that has worked really well.
Tidbit 4 Clustered database such as Microsoft Clustering Services (MSCS) is not supported
Additional Info There have been issues from some customers when trying to connect to an instance of the vCenter Server Database behind an MSCS Cluster.
Workaround Exporting the vCenter Server Database to a single instance of a Microsoft SQL Server or Microsoft SQL Express and then using the Fling has worked for several customers.
Tidbit 5 Issues connecting to a non-default named instance (e.g. SERVERNAME\VCENTER) of the vCenter Server Database.
Additional Info Some customers have had issues with the connection string to a non-default named instance of the vCenter Server Database during the database migration portion of the Fling.
Workaround A solution that was identified by a customer used the following: http://stackoverflow.com/a/11921896/2668394
Tidbit 6 Upgrade to VCSA 6.0 after migrating from Windows vCenter Server 5.5 to VCSA 5.5 fails
Additional Info You see the following error "Extra sequences: vpx_host_cnx_seq;" in /var/log/vmware/upgrade/vcdb_req.err during the upgrade to VCSA 6.0. These sequences are only found and valid in a Microsoft SQL Server Database and are not relevant in an vPostgres Database and just simply need to be dropped as they are not used at all.
Workaround Login to the VCSA 6.0 appliance as root and run the following command: /opt/vmware/vpostgres/current/bin/psql -U postgres -d VCDB -c "drop sequence if exists vpx_host_cnx_seq cascade"

If you are running into issues while through the the migration, one thing you can do is login to the Migration Appliance and go to another virtual console (ALT+F2) and view the Migration logs  under /var/log/migrate.log SSH is currently not installed by default. If you wish to pull out the logs for additional support, you can install which will require internet access and you can do so by running the following commands:

sudo apt-get -y update
sudo apt-get -y install openssh-server
sudo /etc/init.d/ssh start

The credentials to the Migration Appliance is vmware/vmware

Lastly, if there are other tidbits or workarounds that you would like to share, feel free to leave a comment and I will get it added to the list.

38 thoughts on “Handy tidbits & workarounds for the VCS to VCSA Migration Fling

  1. Thank you so much for this, William. I’m gearing up to do this in a few weeks in production and this info is gold.

    Thank you,
    -Andrew

  2. Question on the Windows 2012 issue, what symptoms are you seeing with those migrations and how would it effect the future use of the VCSA?

    • No, this wouldn’t be supported route from the Fling. You must go from Windows VC 5.5 to VCSA 5.5 (matching the major version). Once you’ve successfully migrated to VCSA, you can then upgrade to either 6.0 or 6.0u1 through the traditional VCSA upgrade path.

  3. Hey William,

    Just thought I’d say thank you for the tidbit about the winexe bug… it’s a pretty easy fix! Saved me quite a few hours.

  4. I have 4 vCenters on 2012 R2 and was about to do this but now I’m not so sure. Does this bug affect R2 as well? If not yeah for me. 🙂

  5. Is there any possibility to migrate from Windows Vcenter with an external Oracle database to the VCSA db?

  6. any idea when Vsphere 6.0 U1 will be supported? As soon as i start the tool and enter details am getting “MIGRATION FAILED DUE TO UNEXPECTED ERROR”

    • The Fling ONLY supports vSphere 5.5 and any variations of that version, there’s no plans to add vSphere 6.0 support. You can upgrade to vSphere 6.x once you’ve done the migration

    • You can pull the source for winexe from their sf. It does work, but I’m willing to bet that doing so severely hampers your chances of having any support from VMware or associated entities…

    • I’ve actually just pinged them recently today, but it looks like its still in legal. It’s probably backlogged. I’ll definitely update everyone once its out

  7. 2012R2 FIXT
    his requires some linux knowledge, there is a new winexe that supports 2012R2, but you need to compile it.You also need internet access for the migration appliance

    Source: http://sourceforge.net/p/winexe/winexe-waf/ci/master/tree/

    Run the appliance, press ALT-F2 to get a console

    sudo -s
    apt-get update
    apt-get upgrade
    apt-get build-dep samba
    apt-get install samba-dev git python2.7 gcc-mingw-w64 libtevent-dev
    cd /tmp
    git clone git://git.code.sf.net/p/winexe/winexe-waf winexe-winexe-waf
    cd winexe-winexe-waf/source
    ./waf configure build
    cp build/winexe /usr/local/bin/winexe

    press alt-f1
    restart the migration”

  8. I’ve seen the VMware vCenter Server (VCS) Converter Appliance
    Fling Documentation PDF. And I have the OVF file vcs-migration-0.9.2.1. But what are these VMware-Migration_fling-0.9-ODP files with Ubuntu and Winexe folders that I downloaded and how do they get executed?

    Thanks,
    RT

  9. Hello,

    i got an error while migrate VCS 5.5U3 to VCSA 5.5U3 at beginning.

    The logs show this:

    2016-01-15 11:07:46,791 – INFO – Getting IS install location
    2016-01-15 11:07:46,791 – DEBUG – Running command on Windows; args follow
    2016-01-15 11:07:46,791 – DEBUG – Arg: reg
    2016-01-15 11:07:46,791 – DEBUG – Arg: query
    2016-01-15 11:07:46,791 – DEBUG – Arg: “HKLM\SOFTWARE\VMware, Inc.\VMware Infrastructure\Inventory Service”
    2016-01-15 11:07:46,791 – DEBUG – Arg: /v
    2016-01-15 11:07:46,792 – DEBUG – Arg: InstallPath
    2016-01-15 11:07:46,792 – DEBUG – Running command with winexe
    2016-01-15 11:07:46,792 – DEBUG – Running command (‘winexe’, ‘-A’, ‘/tmp/tmpnnAEh4’, ‘//servername’, ‘reg query “HKLM\\SOFTWARE\\VMware, Inc.\\VMware Infrastructure\\Inventory Service” /v InstallPath’)
    2016-01-15 11:07:46,953 – DEBUG – stdout follows
    2016-01-15 11:07:46,953 – DEBUG – ERROR: Cannot open control pipe – NT_STATUS_INVALID_PARAMETER

    2016-01-15 11:07:46,953 – DEBUG – stderr follows
    2016-01-15 11:07:46,953 – DEBUG –
    2016-01-15 11:07:46,954 – DEBUG – Winexe failed; running with pywinrm
    2016-01-15 11:07:46,962 – CRITICAL – Unhandled exception
    Traceback (most recent call last):
    File “migrate2.py”, line 1355, in main
    File “migrate2.py”, line 1293, in do_whole_migration
    File “migrate2.py”, line 863, in copy_from_source
    File “migrate2.py”, line 829, in get_is_location
    File “migrate2.py”, line 818, in get_install_path
    File “migrate2.py”, line 789, in run_windows_command
    File “/usr/lib/python2.7/site-packages/winrm/__init__.py”, line 28, in run_cmd
    shell_id = self.protocol.open_shell()
    File “/usr/lib/python2.7/site-packages/winrm/protocol.py”, line 103, in open_shell
    rs = self.send_message(xmltodict.unparse(rq))
    File “/usr/lib/python2.7/site-packages/winrm/protocol.py”, line 173, in send_message
    return self.transport.send_message(message)
    File “/usr/lib/python2.7/site-packages/winrm/transport.py”, line 90, in send_message
    raise UnauthorizedError(transport=’plaintext’, message=ex.msg)
    UnauthorizedError: 401 Unauthorized.

    any tips for me?
    Thank you

    • my fail ….

      this solve my Problem, read documentation first 🙂

      winrm quickconfig
      winrm set winrm/config/service/auth @{Basic=”true”}
      winrm set winrm/config/service @{AllowUnencrypted=”true”}

  10. I was interested in this until I read this is not support unless all vcenter components (server, sso, inventory) are on a single server. For those of us who have SSO on a separate server what are the options to migrate to VCSA?

  11. I’m attempting to use this Fling to migrate my Windows vCenter 5.5 update 2b to VCSA so that I can then upgrade the VCSA to 6.0. The process was complicated by the fact that, being a civilian US Government entity, we have to maintain a moderately strict baseline on our Windows servers derived from CIS Benchmarks for Enterprise, which restricts a lot of remote accesses, particularly RPC calls. This created complications using the Fling, but we did ultimately work around them.

    First issue was the ever-so-unhelpful “An unspecified error occurred”. For troubleshooting this, you really need to examine /var/log/migrate.log to find out what the appliance was trying to do. In my case I was getting NT_STATUS_LOGON_FAILURE when the appliance tried to list the contents of C:/ProgramData/VMware/VMware VirtualCenter/SSL using smbclient. Once we worked past that, we got the same error when the appliance tried to read the registry (HKLM\SOFTWARE\Vmware, Inc.\VMware Infrastructure\Inventory Service).

    To get around these issues, we had to make security changes to the vCenter machine. We had to disable UAC, set the network security settings to allow NTLM (we were requiring NTLMv2), and make signing optional instead of mandatory. Once we did that the appliance was able to pull the data it needed from vCenter.

    The next set of issues had to do with getting the new VCSA up and online. When I deployed the VCSA using the OVA version of the template, I was not given any opportunity to specify IP settings. I had to log into the appliance’s console as root and manually set the IP configuration using the /opt/vmware/share/vami/vami_config_net command as advised in the console screen. Once I did that, I shut down vCenter and restarted the VCSA … and found that the VCSA had no network connectivity.

    This is our own fault because all of our VMs use distributed vSwitches, which creates issues when vCenter is offline. Once vCenter is shut down, any new VM that gets powered on will not have network connectivity if it relies on a distributed vSwitch. The only ways around this that I know of are either (A) to create a standard vswitch just for this purpose, which may or may not be viable depending on your host network configuration, or (B) to boot the VM and establish network connectivity before you shut down vCenter. I went with the second option: With vCenter back online I booted the VCSA with the virtual nic disconnected, logged into the console and temporarily changed the IP address using ifconfig so that it wouldn’t conflict with vCenter. Once I established that connectivity was working, I shut down vCenter and rebooted the VCSA,causing it to take on the vCenter IP.

    The initial steps with the appliance then succeeded, but I was unable to access the web UI on port 5480. This turned out to be because, for whatever reason, vami_config_net failed to set the default gateway. After manually setting the gateway I was able to access the web UI and continue with configuring the VCSA.

    Finally, we came to the migrating of the database. I tried 5 times to migrate the database, using the same credentials that vCenter used, and each time I got “DB stderr: [timestamp] Couldn’t connect to source database.” It took over 10 minutes to give me that error each time. After spending an hour trying to troubleshoot this with no useful data in the logs other than the command line being used (which I couldn’t actually replicate because I don’t have the PostgreSQL password for the VCSA), I gave up.

    Considering what I’m trying to do — migrate to VCSA, upgrade to 6.0, and then change to a different SSO domain — this fling is just too much damned work. It will be less work to just create a new 6.0 VCSA and manually migrate all of my hosts and VMs to it. And at least I know that will work, and I can get support if there are issues.

    Hopefully these notes will help someone. Good luck, gang.

    • Actually your migration plan is exactly what I am trying to do. Migrate to VCSA, upgrade to 6.0 and change to a different SSO . Beyond the upgrade to 6.0 my major goal is to consolidate 2 SSO domains into one and support enhanced linked mode. Any thoughts on that? Did you succeed in your project?

  12. Oops — I should say “worked around MOST of them…” .

    A couple of suggestions for the engineers, if they’re open to updating this Fling:
    1) Since vCenter already knows the database login specs (host, database, schema, credentials) why not grab those along with the other data instead of prompting for them?
    2) PLEASE beef up the logging and UI to provide meaningful error messages. “Unable to make RPC connection to read the registry” would have been a lot more helpful than “An unspecified error occurred.” Just sayin’.
    3) The ability to resume a migration from the failed step would also be helpful. The main reason I threw up my hands and declared defeat on this was that after 5 failures with the database the migration appliance insisted on starting over from scratch, which meant having to go through all the gyrations I’d already done just to probably end up in the same place.

    MR

    • Hi Michael,

      Thanks for the great feedback and I’m sorry to hear that you did not have a great experience using the VCSA Migration Fling. I hope you don’t mind, but I’ve reached out to you offline to better understand some of the issues and hopefully something we can improve upon in the future.

  13. We are running conversion from vCenter 5.5 U2 to the same version of VCSA. Everything works up to the point where we have booted up the VCSA appliance and conversion continues with copying files to it. After a while we get the error “Migration failed due to unexpected error”.
    In the log file we can see that it tries to copy xdb_backup and then throws a “CRITICAL – Unhandled exception” error message.
    Has anyone seen this behavior before? Workarounds?

  14. I came so close with this but, I couldn’t complete the last step (getting data out of the MSSQL Express instance).

    Full disclosure VCS & MSSQL is running on the same server, tried Tidbit 3 (re-ip the source Windows vCenter Server) & did that at the point where vcs-migration-appliance-doc_v0.9.1.pdf says go ahead & shutdown the Windows vCenter Server machine.

    Each time I tried to get data out of MSSQL I’d see the following in the migration appliance’s logs:

    – DB stderr: Couldn’t connect to source database

    the timeout was pretty long, & I was only able try 3 times before the appliance gave up.

    Is there a good way at the migration appliance’s CLI to test DB connections before giving it a go in the appliance?

  15. Has anyone done this with Vmware View environment within in vcenter 5.1 – going to 5.1 vcsa then going to 6.0.
    My View composer is on the vcenter server – vcenter DB is separate SQL server — Thanks

  16. Hello,

    I got everything OK until starting VCSA to reinstall congfiguration on it.

    My customer vCenter is 5.1.0 (799731) on Windows Server 2008 R2 Enterprise
    with MS SQL Server 2008 R2. I’m trying to upgrade to VCSA 5.5, but I’m getting
    “Migration failed due to unexpected error”. In /var/log/migrate.log I’ve found as follow:

    2016-06-20 04:00:54,888 – DEBUG – Starting Inventory Service backup script
    Backing up Inventory Service data to: C:\ProgramData\VMware\xdb_backup
    Connecting to Inventory Service…
    Error: IO_ERROR, Original message: Received fatal alert: bad_certificate
    Backup failed

    2016-06-20 04:23:05,273 – INFO – Copying xdb_backup
    2016-06-20 04:23:05,274 – ERROR – Error copying xdb_backup
    2016-06-20 04:23:05,275 – INFO – Copying pbm.properties
    2016-06-20 04:23:05,276 – ERROR – Error copying pbm.properties

    2016-06-20 04:23:12,669 – INFO – Copying SPS configuration
    2016-06-20 04:23:12,671 – CRITICAL – Unhandled exception
    Traceback (most recent call last):
    File “migrate2.py”, line 1359, in main
    File “migrate2.py”, line 1302, in do_whole_migration
    File “migrate2.py”, line 1239, in copy_to_dest
    File “migrate2.py”, line 971, in copy_sps_config
    IOError: [Errno 2] No such file or directory: ‘/tmp/tmpshW_nc/pbm.properties’

    In fact there is no pbm.properties file in C:\Program Files\VMware\Infrastructure\Profile-Driven Storage\conf.

    But VMware vSphere Profile-driven Storage Service is up and working OK:

    http://localhost:21200/sps/health.xml

    – – VMware vSphere Profile-driven Storage Service green

    How to diagnose and solve this problem ?

    Best Regards,
    Robert

  17. Hi,

    I am working on migrating from Oracle to vpostgres. Even though i am using ora2pg are there any other tools similar to this which can do the trick.

    • I would not recommend manually trying to convert your Oracle DB over to vPostgres, even if you do succeed, this would not be officially supported by VMware. Stay tuned on this front, we’ll have some news to share very soon on this topic 🙂

      • Many thanks for the reply. Basically issue is we need to move fairly quickly from Oracle to vPostgres due to licensing issues and i searched every where with out any success. We are running 5.5 and i am also considering moving to 6 and using linked mode. But not sure if we can have multiple DB backends even though they are technically speaking seperated. Any suggesions would be hugely appreciated.

        • One potential option is to deploy a new VCSA 6.0 environment and then manually migrate over your Hosts/VMs. This obviously will not preserve any of the settings/configurations you might have used in your current vCenter Server (folders, permissions, tags, etc) but depending on your setup, this could be a easier way to get off of Oracle. Beyond a manual migration, I can’t say anything more at this time other than stay tuned.

          • Issue is we have lots of hosts and +1k VMs so that wont really work. As you suggested i will stay tune and hopefully there will be some light at the end of tunnel for me on this :).

Comments are closed.