Help clarify unRAID and docker file structure


dtbingle

Recommended Posts

I had a few questions about the unRAID file structure, how it interacts with dockers, and typical file organization conventions to follow.  So to walk through the file structure of how I understand it......

 

In the background, unRAID is split up into separate disks:

/mnt/disk1/      /mnt/disk2/      ...disk3, etc

 

On the frontend, you see your disks split up based on your defined User Shares under /mnt/user/.  For example, if you had 3 shares - one for media, personal files, and then apps/dockers - you would see the following regardless of how disks were assigned/split between shares:

/mnt/user/media/

/mnt/user/personal/

/mnt/user/apps/

 

**I'm aware of cache drives, but don't use one.  I prefer to have an extra physical hard drive slot in my case in exchange for the writing performance hit.  AKA omit /mnt/cache/ in this example.

 

Now you want to create a docker.img on your dedicated apps/docker share.  The file path would look like:

/mnt/user/apps/docker.img

 

Once created, you go to the "Docker" tab and add a container.  At this point you have a chunk of hard drive space named 'apps'.  Within the 'apps' share hard drive space you have a virtual hard drive defined - docker.img.  Then each container/docker added essentially creates ANOTHER virtual hard drive space WITHIN the docker.img that contains the OS and files to run whatever "docker" you are installing.  So if I understand correctly, the OS and plugin/docker application files are contained within the docker.img and then the data/configuration files for that docker is stored on a main user share space, such as /mnt/user/apps/.

 

Let's say we are installing plex and currently have our 3 previously noted user shares - media, personal, apps.

 

Step 1

tGfmzf.png

 

Step 2

AF5yXr.png

 

Does this all look correct?  Specifically if I'm understanding correctly that the data/configuration files are stored on the main user share and the docker OS/application files are stored within docker.img.

Link to comment

Pretty much spot on.

 

One thing I will add is that without a cache drive your docker performance, especially for something like Plex is gonna take a massive hit.  There's a lot of Disk IO with Plex and you're going to be hit with parity calculation on top of that.  I think most of us would strongly advise using a cache hdd or ssd.

Link to comment

Pretty much spot on.

 

One thing I will add is that without a cache drive your docker performance, especially for something like Plex is gonna take a massive hit.  There's a lot of Disk IO with Plex and you're going to be hit with parity calculation on top of that.  I think most of us would strongly advise using a cache hdd or ssd.

 

Hmm maybe I'll reconsider then.  An SSD for the empty 2.5" slot would work out.  How much does Plex actually suffer?  It seems like the number of writes would be fairly small with most of the interactions being reads (watching a show/movie).  Wouldn't writes only really happen when the library is changed and updated or keeping track of show/movie positions and "watched" lists?  Unless Plex is constantly rewriting movie/show position, updating library, tracking activity data, etc.

Link to comment

Pretty much spot on.

 

One thing I will add is that without a cache drive your docker performance, especially for something like Plex is gonna take a massive hit.  There's a lot of Disk IO with Plex and you're going to be hit with parity calculation on top of that.  I think most of us would strongly advise using a cache hdd or ssd.

 

Hmm maybe I'll reconsider then.  An SSD for the empty 2.5" slot would work out.  How much does Plex actually suffer?  It seems like the number of writes would be fairly small with most of the interactions being reads (watching a show/movie).  Wouldn't writes only really happen when the library is changed and updated or keeping track of show/movie positions and "watched" lists?  Unless Plex is constantly rewriting movie/show position, updating library, tracking activity data, etc.

If Plex is transcoding to say a mobile device, then its constantly writing.  If its directly streaming (but in this case I'd use Kodi instead) then you're correct there's no major performance hit.
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.