Mounting fails Centos 7

Hello,

I’ve been experimenting with running a urbackup server on Centos 7, and so far so good. The backups are running fine.

But now i want to use this fancy mount button for the image backups. I’ve already installed the ntfs-3g package from EPEL and am now running the server as root which brought out the mount button.

Now i’m running a bit stuck though. When i push the mount button, it starts a few programs on the server:
/usr/bin/urbackup_mount_helper mount CTX-XENAPP 171207-1540_Image_C Image_C_171207-1540.vhdz

/usr/bin/urbackupsrv mount-vhd -f /share/BackupsNieuw/UrBackup/CTX-XENAPP/171207-1540_Image_C/Image_C_171207-1540.vhdz -m /share/BackupsNieuw/UrBackup/CTX-XENAPP/171207-1540_Image_C/contents -t /share/BackupsNieuw/UrBackup/CTX-XENAPP/171207-1540_Image_C/device -o uid=995,gid=992,allow_root --guestmount

This will keep running forever, the browser also stays loading all the time. Obviously not working.

Now if i manually use the command line to run the last command, all i see is:

Loading FUSE kernel module…
Starting VHD background process…
Waiting for background process to become available…

Which never continues, however, when i scale the command back to:

/usr/bin/urbackupsrv mount-vhd -f /share/BackupsNieuw/UrBackup/CTX-XENAPP/171207-1540_Image_C/Image_C_171207-1540.vhdz -m /share/BackupsNieuw/UrBackup/CTX-XENAPP/171207-1540_Image_C/contents

I get:

Loading FUSE kernel module…
Starting VHD background process…
Waiting for background process to become available…
Mounting…
Mounted successfully.

I can also cd to the mount location and browse through the files. and do with them as I please. However when I re-add the -t (tempmount) parameter back it will be back to “Waiting for background process to become available…” all the time. same if I add the --guestmount parameter.

I can add the -o uid=995,gid=992 part, then it still mounts, but with -o uid=995,gid=992,allow_root I get the error: “fuse: ‘allow_other’ and ‘allow_root’ options are mutually exclusive”.

Is there anything I can do about this? It’s mounting fine, but not with all the paramters it wants to use, perhaps some settings can be changed somewhere?

Alright, continuing on with my research. I tried running urbackup-server as root. Which helped some, but not enough, the above still applies. It still gets stuck on Waiting for background process to become available…

Based on other forum topic I tried downloading the guestlibfs rpm source, removed the patch applied by Red Hat that blocks libguestfs-winsupport (preventing ntfs from mounting). This however did very little, so i’m not sure that that was the problem, worth a try though…

I’m not sure what it’s waiting for however, When i look at the source files in gub: urbackup_backend/urbackupserver/cmdline_preprocessor.cpp

I see on line 921 that it waits for a file to be there before continueing on to mount:
if(FileExists(tmpmountpoint+"/volume"))
{
std::cout << “Mounting…” << std::endl;

When i look at the mount point location specified, there is indeed a file there called volume that has a size of 500 mb. creation date 1 Jan 1970 as well.

So i’m not sure what it’s waiting for?

Just for some more info:
mount says this:
/dev/fuse on /share/BackupsNieuw/UrBackup/CTX-XENAPP/171208-1151_Image_SYSVOL/device type fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0)

and in the device folder (tmpmountpoint):

[root@UrServer01 device]# ls -lah
totaal 4,0K
drwxr-xr-x. 2 root root 0 1 jan 1970 .
drwxr-x—. 3 urbackup urbackup 4,0K 8 dec 15:39 …
-r–r--r–. 1 root root 500M 1 jan 1970 volume

Hmm, I guess you could run it with strace -f to further track down the error.

Ok. Eeh, how would i go about doing that?

If i try to include strace in the mount-vdh command, it keeps saying that strace is not a valid paramter. Any suggestions?

To bypass the issue and still take advantage of this superb image mounting functionality i’ve writting my own bash script around mounting and unmounting image using the parameters that do work. Not nearly as nice as mounting from the webinterface (and a bit quick and dirty), but until the build-in functionality works, at least I can mount and unmount fairly easilly.

I think i’m about ready to use UrBackup in production now. the rest of the kinks are not high a priority. Uroni, You saíd in a earlier topic that the best way to donate is to buy some block change tracking licenses. I’ll go and buy some of them now, even if they are never used, i’d still like to donate for creating such awesome software! :slight_smile:

You can prepend it to any command and it will show the system calls that command performs (e.g. strace -f sleep 1)

Well you can replace /usr/bin/urbackup_mount_helper with that script :wink:

Thanks!

Thanks for helping me understand :slight_smile:
I ran the command using strace and found out it hangs on:

[pid 10024] open("/share/BackupsNieuw/UrBackup/CTX-DC01/171209-1355_Image_C/device/volume", O_RDONLY) = -1 EACCES (Permission denied)

What’s weird is that i see that my command:
strace -f /usr/bin/urbackupsrv mount-vhd -f /share/BackupsNieuw/UrBackup/CTX-DC01/171209-1355_Image_C/Image_C_171209-1355.vhdz -m /share/BackupsNieuw/UrBackup/CTX-DC01/1…

Is being run as root. When i do, two processes start up:
urbackup 10024 0.1 0.0 94228 3856 pts/0 S+ 13:09 0:00 /usr/bin/urbackupsrv mount-vhd -f /share/BackupsNieuw/UrBackup/CTX-DC01/171209-1355_Image_C/Image_C_171209-1355.vhdz -m /share/BackupsNieuw/UrBackup/CTX-DC01/171209-1355_Im…

root 10027 1.3 0.2 180872 17368 ? Sl 13:09 0:00 /usr/bin/urbackupsrv mount-vhd -f /share/BackupsNieuw/UrBackup/CTX-DC01/171209-1355_Image_C/Image_C_171209-1355.vhdz -m /share/BackupsNieuw/UrBackup/CTX-DC01/171209-1355_Im…

From lookup at the strace, it gets stuck on the process being run by user urbackup. And if i look at the folder in question, I can see it’s made with root:root rights, and the process being stuck is the first one, run by user urbackup.

Do you know of any way I can make it run as root? I could change the config file in /etc/sysconfig/urbackup-server to run as root. but i’m not sure if that fixes it (tried this a few days back and had other issues :slight_smile:

The way I see it, it should create the mount point as root , and check for the file as root. Or it should mount it as urbackup and check as urbackup.

Try with -u root. I had a lot of problems with permissions as well and had to fiddle a lot to make it work (on the systems I tested it on).

When i try using:

/usr/bin/urbackupsrv -u root mount-vhd -f /share…

Works a lot better. Thanks :slight_smile: . Now the question how i’m going to make it run with -u root by default… the urbackup_mount_helper is a binary file, don’t think i can modify that. I could try using my own script in it’s place. Just need to find out what it gets and to make sure to parse everything properly…