Cache drive confusion


Recommended Posts

My machine is primarily a media server and player(OpenElec in VM). I had a single SSD cache drive with appdata user share for Plex Media Server, Handbrake, and MakeMKV. My understanding was a more responsive system with apps and database on SSD. This didn't give me any redundancy so I added a second SSD for a cache pool. Now my second SSD is just sitting there apparently doing nothing (zero writes). See attached Cache.jpg. I thought it was supposed to automatically mirror onto the second cache drive. If I take the original SSD out my apps are gone. I don't understand why.

 

I installed the Fix Common Problems plugin and it finds the following:

 

Share appdata set to cache-only, but files / folders exist on the array - You should change the share's settings appropriately or use the dolphin / krusader docker applications to move the offending files accordingly.

 

and

 

PlexMediaServer docker application has its /config folder set to /mnt/user/appdata/plexmediaserver - Many (if not most docker applications) will not function correctly if their appData folder is set to a user share. Ideally, they should be set to a disk share. Either /mnt/cache/... or /mnt/diskX/..

 

I don't understand enough to know what I am supposed to do here. I don't know if I need a cache for what I am doing. It just seemed using SSD for the apps and database made sense.

 

Thanks

Cache.JPG.dd5c81c7f3e00e3bdef21ccf2447445b.JPG

Fix.JPG.403e02a42bf0f3236ba84783be1a9442.JPG

Link to comment

My machine is primarily a media server and player(OpenElec in VM). I had a single SSD cache drive with appdata user share for Plex Media Server, Handbrake, and MakeMKV. My understanding was a more responsive system with apps and database on SSD. This didn't give me any redundancy so I added a second SSD for a cache pool. Now my second SSD is just sitting there apparently doing nothing (zero writes). See attached Cache.jpg. I thought it was supposed to automatically mirror onto the second cache drive. If I take the original SSD out my apps are gone. I don't understand why.

 

I installed the Fix Common Problems plugin and it finds the following:

 

Share appdata set to cache-only, but files / folders exist on the array - You should change the share's settings appropriately or use the dolphin / krusader docker applications to move the offending files accordingly.

 

and

 

PlexMediaServer docker application has its /config folder set to /mnt/user/appdata/plexmediaserver - Many (if not most docker applications) will not function correctly if their appData folder is set to a user share. Ideally, they should be set to a disk share. Either /mnt/cache/... or /mnt/diskX/..

 

I don't understand enough to know what I am supposed to do here. I don't know if I need a cache for what I am doing. It just seemed using SSD for the apps and database made sense.

 

Thanks

#1 - appdata set to cache only, but exists on the array

 

At one point in time, you had set up your appdata share incorrectly, and it wound up placing files onto the cache drive.  Because of how unraid works, there is a chance that further writes to appdata could wind up on the array (due to the next error).  Worst case is that a docker app might try and put symlinks onto the array (which aren't supported) and that might cause weird effects with the app.

 

What I'm suggesting to do is install either the dolphin or krusader docker app, and move (ie: cut) appdata from /mnt/diskX to /mnt/cache.  Alternatively, you can enable disk shares and do the same thing over the network (note: do not cut or copy from /mnt/diskX/appdata to /mnt/user/appdata - you will corrupt the file(s)

 

 

#2 - /mnt/user/apdata/config

 

As the description states, many docker applications (and Plex is most definitely one of them) use a filesystem feature called symlinks  Unfortunately, user shares (ie: /mnt/user/.....) do not support them, hence why the suggestion is to change the volume mapping that you have in the template (ie: edit the container) to be /mnt/cache/appdata/plex or whatever)

 

Note: It doesn't matter at all whether the appdata folder is set to be cache-only (and the files / folders within are all on the cache drive) - the issue happens either way.

 

The problem with symlinks can possibly account for some of the "weird" bugs, errors, etc that some applications have.  There are also some applications which will not even work at all if their config is set to /mnt/user/appdata/..., but will if they are set to /mnt/cache/appdata

 

But here's the catch.  Since you have already had Plex running via its config addressed via /mnt/user/..., simply switching it to /mnt/cache/... may actually cause it some issues.  Kind of a catch-22 situation.  Setting up plex's appdata as /mnt/user/... is wrong, but Plex mostly works, but if you switch it to how it's supposed to be it might not work correctly as it may have adjusted itself somewhat (albeit with some weird things happening intermittently) to /mnt/user

 

You have to ultimately decide for yourself as to whether or not to fix the errors (my recommendation) and possibly have to start plex's db over again from scratch or ignore the errors from FCP and any possible bugs, anomalies etc that Plex might have.

 

Note that all of this is only in regards to Plex's /config folder.  The paths to your actual media files should remain referenced as /mnt/user/...

Link to comment
#1 - appdata set to cache only, but exists on the array

 

At one point in time, you had set up your appdata share incorrectly, and it wound up placing files onto the cache drive.  Because of how unraid works, there is a chance that further writes to appdata could wind up on the array (due to the next error).  Worst case is that a docker app might try and put symlinks onto the array (which aren't supported) and that might cause weird effects with the app.

 

What I'm suggesting to do is install either the dolphin or krusader docker app, and move (ie: cut) appdata from /mnt/diskX to /mnt/cache.  Alternatively, you can enable disk shares and do the same thing over the network (note: do not cut or copy from /mnt/diskX/appdata to /mnt/user/appdata - you will corrupt the file(s)

Okay- I see that I have 2 appdata folders: /mnt/cache/appdata and /mnt/disk1/appdata. I know I had a lot of trouble getting this working. I deleted and reinstalled many times. Now I don't know which one is current. I read that a cache SSD is a good place for apps and VMs.  If I am understanding this right I should have set up a disk share for appdata on the cache drive rather than a user share? SHould I just nuke both appdata folders and start from scratch?

 

Thanks so much for your patience.

Link to comment

Starting from scratch is probably going to be the most trouble free. It is just a question of how much you might loose by starting your plex library over. Plex can rescan your media, but it will no longer remember what you have already watched, for example.

 

To try to clarify some of the confusion, you are using the terminology a little incorrectly. Shares refer to disks or folders that you can access over the network. A disk share is an entire disk. A user share is a named (top level) folder that can exist on multiple disks. Most users don't need disk shares. It is best to leave the disk share feature turned off unless you have a specific need since mixing disk and user shares when moving or copying files can cause data loss.

 

A top level folder on the cache disk, such as /mnt/cache/appdata, will still be a user share named appdata, and that user share will also appear at /mnt/user/appdata. But if you set it to cache-only, it will not be moved to the other disks when unRAID is moving files from the cache. And if you refer to it as /mnt/cache/appdata when configuring your dockers, unRAID will not need to use the user shares to access it, which can be an issue since user shares do not support symlinks.

 

A lot to digest I know.

Link to comment

I think I got that. Wipe out both appdata folders. Create a new user share appdata set to cache only (Should I exclude the array disks?) then point my dockers & VMs to /mnt/cache/ appdata (NOT /mnt/user/appdata).

Link to comment

I think I got that. Wipe out both appdata folders. Create a new user share appdata set to cache only (Should I exclude the array disks?) then point my dockers & VMs to /mnt/cache/ appdata (NOT /mnt/user/appdata).

 

You shouldn't need to manually do that, as "cache only" basically does that.

 

Looking good on the rest.

Link to comment
  • 5 weeks later...

It took me a while to find time to get to this but it is okay now with only one appdata folder.

 

I think what adds to the confusion is both the PlexMediaServer docker (limetch) and OpenELEC VM have default settings for the config folders as /mnt/user/appdata. If this is not the proper way of doing it then the default should be changed to /mnt/cache/appdata. It might help the next newbe from falling in the same hole as I did?

 

Thanks for all your help.

Link to comment

It took me a while to find time to get to this but it is okay now with only one appdata folder.

 

I think what adds to the confusion is both the PlexMediaServer docker (limetch) and OpenELEC VM have default settings for the config folders as /mnt/user/appdata. If this is not the proper way of doing it then the default should be changed to /mnt/cache/appdata. It might help the next newbe from falling in the same hole as I did?

 

Thanks for all your help.

 

You're correct.  It should be /mnt/cache/appdata.  But, at the time that LT's template was released, we were unaware of the issues resulting from the use of /mnt/user/appdata.  Unfortunately the template has never been updated to reflect that it must be on a disk share (disk1, disk2, or cache) and not on a user share.

 

Under 6.2, I believe the default appdata location has been set to be /mnt/cache/appdata, but even there the template for plex hasn't as of yet been updated to pickup those changes either.

 

Adding to that, nothing states that you have to have a cache drive present.  /mnt/user will work whether or not a cache drive exists, and fundamentally OpenElec and Plex will both operate from /mnt/user, but they may have some strange little bugs that you may or may not even notice.

Link to comment
  • 1 year later...

Hi,

I have the same problem with all my dockers.

I tried to uninstall Jdownloader2 and reinstall with the AppData Config Path: /mnt/cache/appdata/JDownloader2, but the docker won't start. (screen stay black)

 

Before modifying the others, I would like to understand why Jdownloader2 doesn't work.

 

5ac6c94e06974_Capturedecran2018-04-05a17_12_52.thumb.jpg.630d13adf490444831ca37e23eba9863.jpg

 

Thank,

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.