When restoring a Virtual Server Backup to another server (eg backup server) the restore fails to account for the case where the home directory name (on Centos/RH: /home/homedirname) does not match the name of the user, instead only creating home directories using the username.
For example, I have home directories of the form: /home/websitename.co.uk, with usernames of the form websitename. (Where there is a name collision (.com/.co.uk) then I use a slightly different username, but these are very unusual cases, since for the most part .variations are only aliases.)
The result of the restore is that the home directory is set to /home/username, but all the configuration files (apache etc) still refer to the old pathnames, such as /home/websitename.co.uk
This means that restoration of a backup file to a backup server will not run without a number of manual changes. When several virtual servers have to be restored quickly in the event of a primary server failure, this will lead to extended downtime and troubleshooting.
Comments
Submitted by JamieCameron on Tue, 06/15/2010 - 11:29 Comment #1
That's odd, Virtualmin is supposed to take this into account already. One work-around would be to configure the target system to use the same format for home directories .. is that a possibility in your case?
The only case where I can see the directory name change causing problems is if it was changed on the old system outside of the control of Virtualmin? You could check this at Limits and Validation -> Validate Virtual Servers, by validating that domain.
Submitted by pierstaylor on Wed, 06/16/2010 - 03:06 Comment #2
Hi Jamie,
Thank you for your swift response. I'm not sure whether they were configured by hand it is possible. We imported most of them from PLESK originally and it took a while to get used to the Virtualmin way (which I now like a lot!) and to reconfigure them, because the PLESK way is (as I'm sure you well aware) rather squirly under the hood.
I will have to create some test cases where I am sure exactly what the configuration is and what the results are and get back to you.
Well I think that that is how it is configured, but now you have confirmed that this is how things are supposed to work, I will run through some thorough test cases. I clearly need to ensure that each domain is set up in a way that Virtualmin understands and it is possible that some (or all!) of them are suffering from some form of PEBKC!
I will investigate.
Thanks again, Piers
Submitted by JamieCameron on Wed, 06/16/2010 - 14:38 Comment #3
I'd recommend running that validation step that I mentioned - it will check to ensure that the home directory matches what Virtualmin thinks it should be.
Submitted by pierstaylor on Fri, 06/18/2010 - 02:49 Comment #4
Thanks Jamie, will do.
P.
Submitted by JamieCameron on Fri, 06/18/2010 - 16:30 Comment #5
Ok, let us know what you find..
Submitted by pierstaylor on Sat, 07/24/2010 - 20:06 Comment #6
OK - sorry for the delay in replying, but I had to put this on hold for a while. Anyway, here are some results!
I tried the Validation -> Validate Virtual Servers and after getting some errors I resolved these so it passed without warnings.
I then backed everything up and tried restoring them. I got this error during import:
Restore failed : No section found for mod_fcgid directives
...because the home directory name was not set as per the backed up domain, rather set to the username as described above.
What I discovered is that if I set:
Virtualmin -> System Settings -> Module Config -> Defaults for new domains -> Home subdirectory -> From template (can use $USER and $DOM) = $DOM (previously Automatic)
...then most domains, restored OK, but only because I'd forced Virtualmin to use the $DOM as the home directory name, not because it was restoring the original home directory name.
Where I had the home directory name set to a different name (due to temporary installations used for development that will later become the name used) then these failed because the home directories were set to the $DOM domain name, not the original directory name as per the installation that I'd backed up.
So it seems that Virtualmin 3.79.gpl is either:
A - not storing the original directory name and creating the new installation according to the Config
OR
B - storing the name and then ignoring it and using the setting in the Config anyway
Now it would seem to me that this is not the expected behaviour, and that the backup/restore should use the original /home/dirname when backup/restoring. I can think of no reason why this wouldn't work.
Can you please clarify what the expected behaviour is? And if this is expected behaviour (scary!) is it possible to have Use The Original Dirname as an option on restore?
Best regards, Piers
Submitted by pierstaylor on Sun, 07/25/2010 - 07:59 Comment #8
Hi,
Further to my previous post, I worked round the domain that would not import by renaming the home directory to match the domain name. The import now completes.
However, although I selected:
Restore Virtual Servers -> Other restore options -> IP address for restored servers : Original IP address
...the restore process silently set all the IP addresses to the internal (10.10.10...) IP address.
Not quite what I was expecting!
As a quick test, I created a Network Interface (not activated, since it would clash with the current live IP) and imported one of the domains that used it and it still assigned the internal 10.10.10... IP.
Is this how it's supposed to work when you import - you need to map all the IP addresses by hand? I can see that pulling in a number of backed up domains under pressure like this would be quite hard work.
Best regards,