VFS-Cache-Full trying new setup - but failing . :(

What is the problem you are having with rclone?

I trying to convert my current setup to use vfs-cache-full, but when i start up - I can see my files in the mount folder - but plex somehow cant see them? It show the media is not available.
When I roll back to my first rclonemount.service its working just fine.
I borrowed your systemd @Animosity022 :slight_smile: so dont know what im missing here :confused:

Also can you maybe tell me if I should use async_read=false or true in rclone or mergerfs?

I have a small Intel NUC with i3 with 8GB memory and 256GB SSD, so I assume the cache --vfs-cache-max-size 50G would be fine ? Should I set --vfs-cache-max-age 24h , is that fine ?

What is your rclone version (output from rclone version)

rclone v1.53.1

  • os/arch: linux/amd64
  • go version: go1.15

Which OS you are using and how many bits (eg Windows 7, 64 bit)

Ubuntu 20.04 LTS 64bit

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

Googledrive

The rclone config contents with secrets removed.

[Google]
type = drive
client_id = 232395080141XXXXXXXXXXXXX
client_secret = XXXXXXXXXXXXXXXXX
scope = drive
token = {"access_token":"XXXXXXXXXXXXXXXXXXXXX","token_type":"Bearer","refresh_token":"XXXXXXXXXXXXXXXXXXXXXXXXXXX","expiry":"2020-10-12T12:36:07.173077028                                         +02:00"}

[Googlecrypt]
type = crypt
remote = Google:Private
filename_encryption = standard
directory_name_encryption = true
password = XXXXXXX

A log from the command with the -vv flag

Nothing in the log yet . :confused:

Rclonemount.service without vfs-full-cache:

[Unit]
Description=RClone Service
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/rclone mount -vv --allow-other --dir-cache-time 1000h --vfs-read-chunk-size 32M --vfs-read-chunk-size-limit 16M --buffer-size 32M --log-level INFO --log-file /home/plex/logs/rclone.log Googlecrypt: /home/plex/mnt
ExecStop=/bin/fusermount -uz /home/plex/mnt
Restart=on-abort
User=plex
Group=plex

[Install]
WantedBy=default.target

rclonemount.service with vfs-cache-full

[Unit]
Description=RClone Service
After=network-online.target
Wants=network-online.target

[Service]
Type=notify
Environment=RCLONE_CONFIG=/home/plex/.config/rclone/rclone.conf
ExecStart=/usr/bin/rclone -vv mount Googlecrypt: /home/plex/mnt
--allow-other \
--dir-cache-time 1000h \
--log-level INFO \
--log-file /home/plex/logs/rclone.log \
--poll-interval 15s \
--umask 002 \
--cache-dir=/home/plex/cache \
--vfs-cache-mode full \
--vfs-cache-max-size 50G \
--vfs-cache-max-age 24h \
--bwlimit-file 16M
ExecStop=/bin/fusermount -uz /home/plex/mnt
Restart=on-abort
User=plex
Group=plex

[Install]
WantedBy=default.target
Mergerfs.service
[Unit]
Description=mergerfs mount
Requires=rclonemount.service
After=rclonemount.service
RequiresMountsFor=/home/plex/mnt

[Service]
Type=forking
ExecStart=/usr/bin/mergerfs /home/plex/move:/home/plex/mnt /home/plex/media -o rw,use_ino,allow_other,func.getattr=newest,category.action=all,category.create=ff,cache.files=auto-full
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target

Thanks :slight_smile:

This line is missing a \ at the end - it should look like

ExecStart=/usr/bin/rclone -vv mount Googlecrypt: /home/plex/mnt \
1 Like

Ahhh fxxx my life..

THANKS @ncw

Can you assist with the async_read=false or true? :slight_smile:

Also, when you have you cache max size, you want to think about a few things as the new cache mode works with sparse files and not chunks.

So it might be good to get a cache disk and use that so you can keep more as you need to keep at least as much space as how man files you stream at the same time.

1 Like

Hi @Animosity022

OK going to disable chunks :slight_smile: , can I leave --buffer-size 32M or should I disable that part as well.

Lastly async_read should I run that with false or true? What does it do?

I'd leave the buffer-size out and just use the default.

For async_read, you should be able to leave that at the defaults as well.

Reads normally happen in order, but with later OS and kernels, it's speedier to allow them to happen out of order. Sync would be in order and async is out order. The default is async and you tend to get a performance improvement with that.

1 Like

@Animosity022
@ncw

Thanks for the good explanation.
Thanks for always providing a great support - Its so much appreciated .
I got it up and running now :slight_smile:

Going to test to see how my little NUC handles it.
If you should choose Ani, on this little machine, what would you prefer to use as settings? Just curious.
I know that the drive isnt that big - so I actually dont know if I benefit of the new vfs cache mode? Dont got a drive to spare at the moment .

I tried to set it to 50GB for 48 hours.

Keep up the good work . :slight_smile:

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