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 | |
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.
Andrew Hale says
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
Luis Ayuso says
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?
JasperW says
https://www.reddit.com/r/vmware/comments/3n0rl9/issues_with_vcsa_migration_fling/
Is this supported with vCenter 6? System requirements says 5.5 or newer, but I'm getting an error. This vCenter was 5.5 but was upgraded.
William Lam says
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.
Jon Ducommun says
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.
mike b says
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. 🙂
Josep Maria Macip says
Is there any possibility to migrate from Windows Vcenter with an external Oracle database to the VCSA db?
William Lam says
There is not
Mike says
Will VDS migration ever be supported?
William Lam says
VDS info is stored in the VCDB and anything in the DB will be migrated
Tony Hughes says
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"
William Lam says
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
Derek Williams says
Any updates on the Windows Server 2012 issue?
Jon Ducommun says
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...
William Lam says
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
zamwanJacob Verhoeks says
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"
RT says
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
shepart says
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
shepart says
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"}
Heath says
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?
Michael Raugh says
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.
Ray Hapes says
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?
Michael Raugh says
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
William Lam says
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.
doublea68 says
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?
David Merrill says
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?
David Merrill says
This seems promising:
- https://blogs.msdn.microsoft.com/steverac/2010/12/13/test-remote-sql-connectivity-easily/
so far I haven't been able to connect so now verifying that MSSQL is configured properly for remote connections.
David Merrill says
And a quick firewall config:
- https://blogs.msdn.microsoft.com/bethmassi/2008/09/17/enabling-remote-sql-express-2008-network-connections-on-vista/
& I've been able to test.
David Merrill says
And configuring MSSQL to NOT listen on Dynamic ports:
- https://support.microsoft.com/en-us/kb/823938
- https://devjef.wordpress.com/2015/04/15/on-which-port-is-sql-server-running/
I was able to complete the migration.
Thanks William, this is great stuff!
ricklucy says
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
Sam says
Fling still doesn't support migration from VCS 6.0 update 1 to VCA 6.0U1 ?
Cantique says
For tidbits 6, can we drop the sequence in the 5.5 VCSA prior to the upgrade?
Robert Heber says
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
hamed says
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.
William Lam says
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 🙂
centossam says
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.
William Lam says
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.
centossam says
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 :).