Hi,
I'm in the process of migrating about 30 domains from an Ensim server to a Virtualmin Pro server. I migrated several of the domains on Monday.
Some time after this (Tuesday, I think) I ran a yum update (the first in several weeks), which included an update to Virtualmin (Version 3.49 Pro).
Since then Virtualmin refuses to migrate any domains, each time telling me that the tarball is not a valid Ensim backup. Initially I was using backup tarballs from the same backup run as the tarballs I migrated successfully on Monday, and then later, including today, I generated new tarballs.
The error message I'm getting is this:
Failed to migrate virtual server : Not an Ensim tar.gz file : gzip: stdin: decompression OK, trailing garbage ignored tar: Child returned status 2 tar: Error exit delayed from previous errors.These tarballs are absolutely, positively valid Ensim backups.
Has anyone else experienced this problem? Did the latest Virtualmin update include any changes to the way migration works? The release notes for version 3.49 mention that migration error reporting is more detailed, but don't mention changes to the migration itself.
Any solutions or workarounds (other than manually copying everything for each domain) would be very much appreciated!
Thanks, Johannes.
I've discovered a workaround:
I downloaded version 3.48 from
http://download.webmin.com/download/virtualmin/wbm-virtual-server-3.48.g...
and unpacked it, and then fished out migration_ensim.pl (attached to this post), and replaced the file of the same name from version 3.49 in /usr/libexec/webmin/virtual-server/ .
My migrations are now going along without a hitch.
I had first tried what I thought might be the more elegant approach of using yum to downgrade my version, but either this isn't possible, or, more likely, the fact that I didn't really know what I was doing hampered my efforts.
In any case, migration is working now, and I dare say I believe the version from 3.49 is defective.
In case anybody else needs it, the 3.48 version of the file is attached, so that you don't have to download the entire tarball. Note that you need to replace the .txt extension with .pl. The forum would not let me post it with the .pl extension.
Cheers,
Johannes. [file name=migration_ensim.txt size=14830]http://www.virtualmin.com/components/com_fireboard/uploaded/files/migrat... edited by: monashclubs, at: 2007/12/07 21:18
Thanks for pointing this out - it turns out that the ensim tar.gz files have some extra non-standard data at the end, which causes the tar command to fail with that error about 'trailing garbage ignored', even though it has correctly extracted the file.
In Virtualmin 3.49 I added a check to ensure that tar is succeeding when extracting a backup for migration, but it falls over in this case when tar appears to 'fail'. I'll fix this in the upcoming 3.50 release, but your method of copying migration-ensim.pl from the older release works just as well.
By the way, are you associated with Monash University? I studied computer science there!
--
Check out the forum guidelines!
Sorry for the double post. Looks like a possible bug in the quick reply feature... after I hit the submit button FF asked me to confirm I was using POST to submit info. Maybe just a FF issue?
Hi Shadih,
You can't run those migration-*.pl scripts from the command line like that - they are actually libraries that are read by the migrate-domain.pl script, which is currently only in the Pro version of Virtualmin.
My guess is that the Ensim backup you have is in a format that Virtualmin cannot handle. Unfortunately I have to reverse-engineer the format to a degree, so it is hard to cover every possible case.
However, if I could get a copy of the backup file you are trying to migrate, I could pretty easily figure out what is going wrong. My email is jcameron@virtualmin.com .
--
Check out the forum guidelines!
Hi Jamie,
I'll email you the backup file.
Thanks.
Thanks for that.
Yes, I work in the Clubs & Societies division of the Monash Student Association at the Clayton campus, which is where I assume you studied CS.
Joe was nice enough to sort us out with a licence for our club server, and he mentioned you'd studied at Monash.
For my part, I did honours in Software Engineering in 2005, and started a law degree this year. Quite a stark contrast!
Cheers,
Johannes.
Cool .. nice to hear you're using Virtualmin at the campus where I first got into web and Linux development :-)
--
Check out the forum guidelines!
Hi,
I'm having difficulty migrating an Ensim backup file. I am using Virtualmin 3.52 and my Ensim version is 4.0.4.
I tried monashclub's suggestion of using the older version of the migration-ensim.pl script, but it's still unsuccessful. Actually I don't get any specific error messages, and I'm not sure where to find the error logs. Here's what I get:
Error
Failed to migrate virtual server :
Nothing after the colon, so I don't know what's wrong! If anyone can help, it would be appreciated very much.
If I run the script from the shell, how do I pass the variables (domain name, username, passwd, etc) to it?
Thanks :)
Hi Shadih,
Is that error the only thing that appears, or do you get to see any progress messages or headings before it? I did a test migration on my system from an Ensim backup, and it worked OK.
To do a command-line migration using the migrate-domain.pl script, you pass the domain using the --domain paramater, username with --user and so on. If you run the command with no parameters, it will display all of those that you can use.
--
Check out the forum guidelines!
Hi Jamie,
Yes that's the entire output I get. I tried running the script from a shell but unfortunately that didn't work either. Here is the shell output:
# ./migration-ensim.pl
./migration-ensim.pl: line 5: sub: command not found
./migration-ensim.pl: line 7: syntax error near unexpected token `$file,'
./migration-ensim.pl: line 7: `local ($file, $dom, $user, $parent, $prefix, $pass) = @_;'
and, when I pass parameters:
# ./migration-ensim.pl --domain test.com /path/to/ensimbackup.tar.gz
./migration-ensim.pl: line 5: sub: command not found
./migration-ensim.pl: line 7: syntax error near unexpected token `$file,'
./migration-ensim.pl: line 7: `local ($file, $dom, $user, $parent, $prefix, $pass) = @_;'
That is the result with the migration-ensim.pl script that is packaged in version 3.52. When I use the version from 3.48 I get exactly the same output.
Any ideas?