Error mounting merged drive with systemd

What is the problem you are having with rclone?

Mount fails to start

Run the command 'rclone version' and share the full output of the command.

dietpi@rpi4:~$ rclone version
rclone v1.57.0

  • os/version: debian 10.11
  • os/kernel: 5.10.63-v7l+ (armv7l)
  • os/type: linux
  • os/arch: arm
  • go/version: go1.17.2
  • go/linking: static
  • go/tags: none

Which cloud storage system are you using? (eg Google Drive)

Google Drive/Merge

The command you were trying to run (eg rclone copy /tmp remote:tmp)

sudo systemctl start mnt-Merge.mount

The rclone config contents with secrets removed.

[CCSF]
type = drive
client_id = secret
client_secret = secret
scope = drive
token = {"access_token":"secret","token_type":"Bearer","refresh_token":"1//0$
team_drive = secret
root_folder_id =
drive-server-side-across-configs = true

[Merge]
type = union
upstreams = /mnt/media CCSF:/:ro
create_policy = ff

Systemd file /etc/systemd/system/mnt-Merge.mount

[Unit]
After=network-online.target
After=home.mount

[Mount]
Type=rclone
What=Merge:
Where=/mnt/Merge
Options=rw,allow_other,args2env,vfs-cache-mode=writes,config=/home/dietpi/.config/rclone/rclone.conf,cache-dir=/var/rclone,allow-other,log-level=DEBUG,log-file=/home/dietpi/rcloneScripts/logs/rclone_mount.log

[Install]
WantedBy=multi-user.target

A log from the command with the -vv flag

https://pastebin.com/YxCNV5T4

The daemon takes a few seconds, but ultimately it always crashes. The mount is a merge between gdrive and a local directory.
The funny part is that this was working some days ago. Not sure what happened.
The file before the crash is always different.

hello and welcome to the forum,

--daemon is not needed when using systemd

but i would guess that the total runtime of the command is one minute.

I don't have --daemon in my daemon file. It is there in the log, I know. I guess it adds it automatically.

The runtime in this case is exactly one minute!

not sure what you mean but your command, as per the debug log, is using --daemon
--daemon should not be used with systemd, so just remove it

--daemon-wait duration Time to wait for ready mount from daemon default 1m0s

What I mean is that "daemon" is not in options, check below:

[Unit]
After=network-online.target
After=home.mount

[Mount]
Type=rclone
What=Merge:
Where=/mnt/Merge
Options=rw,allow_other,args2env,vfs-cache-mode=writes,config=/home/dietpi/.config/rclone/rclone.conf,cache-dir=/var/rclone,allow-other,log-level=DEBUG,log-file=/home/dietpi/rcloneScripts/logs/rclone_mount.log

[Install]
WantedBy=multi-user.target

I will try adding daemon-wait to a some large value and will post here.

Thanks!

that is not going to solve the problem, at somepoint, the rclone mount will timeout.
and if you think about it, the rclone mount is already up and running within one minute, as per the debug log.

Yes, I can see that.

But now I got something a bit different:
2022/03/14 19:46:50 INFO : Signal received: terminated
2022/03/14 19:46:50 DEBUG : Got interrupt. Terminating daemon pid 7487
2022/03/14 19:46:50 INFO : Exiting...

well, what did you change?

Sorry. I just added the daemon-wait parameter

Options=rw,allow_other,args2env,vfs-cache-mode=writes,config=/home/dietpi/.config/rclone/rclone.conf,cache-dir=/var/rclone,allow-other,log-level=DEBUG,log-file=/home/dietpi/rcloneScripts/logs/rclone_mount.log,daemon-wait=100m

as i mentiioned, daemon-wait, that is not going to solve the problem.

here in the forum, this is the goto systemd example, you shoud mimic it.
and notice, no --daemon
https://github.com/animosity22/homescripts/blob/master/systemd/rclone-drive.service

I am based on the official wiki "rclone as mount helper (from v1.57 on)"

And as I said before a couple times, I am not using daemon. Please check my options below:
Options=rw,allow_other,args2env,vfs-cache-mode=writes,config=/home/dietpi/.config/rclone/rclone.conf,cache-dir=/var/rclone,allow-other,log-level=DEBUG,log-file=/home/dietpi/rcloneScripts/logs/rclone_mount.log

No daemon parameter.

If nothing can be done to make it work with , I will migrate to that script (which I used before)

did not know that wiki was updated.
the same rcloner who wrote that wiki, also wrote the systemd i shared.
so both are good to use.

well, your command uses --daemon

here is the command from the debug log.


rclone" "mount" "Merge:" "/mnt/Merge" "--allow-other" "--vfs-cache-mode=writes" "--config=/home/dietpi/.config/rclone/rclone.conf" "--cache-dir=
/var/rclone" "--allow-other" "--log-level=DEBUG" "--log-file=/home/dietpi/rcloneScripts/logs/rclone_mount.log" "--daemon"]


and as you stated "The runtime in this case is exactly one minute!",
which matches the default value for --daemon-wait

and also, from the debug log, after one minute
"DEBUG : Daemon timed out. Terminating daemon"

I know that.... But I promise you, no "daemon" option is set anywhere. I know what the debug log shows.

I just did another test, in this case it was succesfull. But I ran a mount command, not a systemd daemon

sudo mount Merge: /mnt/Merge -t rclone -o vfs_cache_mode=writes,config=.config/rclone/rclone.conf,uid=1000,gid=1000,allow_other

So that made me realize the only difference with my systemd was the "cache-dir" option. So I went and checked /var/rclone

dietpi@rpi4:~$ sudo ls /var/rclone
vfs vfsMeta

After deleting those directories, the daemon starts instantly.

Thanks for your help asdffdsa!
Hope this helps someone else in the future.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.