General Plugin setup help needed.


Recommended Posts

Hi Guys,

 

I have installed all the plugins I would like to use, this includes:

 

Plex Media Server

Transmission

Airvideo Server

 

Now all these plugins request an install or data directory.

 

I've done some research and have been advised that it is best to make these directories on cache drives. I have not setup a cache drive on my build yet but I would like to start using these plugins prior to setting this up in the next 2 weeks.

 

My question is, can I not set these directories up on one of array disks? And how would your setup look, what is the directory path e.g. /mnt/etc etc ??

 

Please help this noob out :)

 

Thank You

 

Justin  8)

Link to comment

You can setup the plugins to use a data directory on the array itself, it's just not ideal. 

 

The install directory should be left default (should be /usr/local/xxxxxxx).  The Plex plugin doesn't ask for an Install directory, but maybe Transmission or AirVideo does, I don't know. 

 

Plex will ask for a data directory and a temp directory.  You will need to create two shares on the array (say Plex_data and Plex_temp, but you can call them whatever you like).  You will then specify them in the Plex plugin.  /mnt/user/Plex_data and /mnt/user/Plex_temp assuming you used those share names.  Same goes for the other plugins.

Link to comment

You could also just create two shares named plugins_data and plugins_temp.  Then specify the following for the plugins:

 

Plex data directory: /mnt/user/plugins_data/plex

Transmission data directory: /mnt/user/plugins_data/transmission

AirVideo data directory: /mnt/user/plugins_data/airvideo

 

Plex temp directory: /mnt/user/plugins_temp/plex

Transmission temp directory: /mnt/user/plugins_temp/transmission

AirVideo temp directory: /mnt/user/plugins_temp/airvideo

 

That way you only have 2 shares for plugin stuff instead of 6.

Link to comment

Thats awesome, but can I ask why its not ideal to have the plugin_data on share drive? instead of cache.

 

This will only be temporary for me I guess.

 

There will be 2 drives spinning vs 1.

 

Really? but If I assign those data folders to disk 2 for example. Why would any other disk spin? Im not running parity during this time.

 

I really need to hurry up and setup a cache SSD drive.

Link to comment

Really? but If I assign those data folders to disk 2 for example. Why would any other disk spin? Im not running parity during this time.

The vast majority of people who run unraid use parity, so normally writing to a data disk involves the parity disk.

If you don't want to use parity, why are you running unraid?

Link to comment

Really? but If I assign those data folders to disk 2 for example. Why would any other disk spin? Im not running parity during this time.

The vast majority of people who run unraid use parity, so normally writing to a data disk involves the parity disk.

If you don't want to use parity, why are you running unraid?

 

I am running parity but what I mean is the check is not happening automatically, dont I need to engage check and write corrections manually? or is this happening constantly in the background?

Link to comment

I am running parity but what I mean is the check is not happening automatically, dont I need to engage check and write corrections manually? or is this happening constantly in the background?

Parity is always written when a drive in the array is written. This is a good thing because it means you don't have to do anything to stay protected at all times. Most of us just run the parity check once a month as a test. The parity should always be correct if everything is working perfectly.

 

It does slow down writes though, because in order to write the correct parity it has to read the data that is being overwritten and read the corresponding parity, recalculate the parity based on the old parity and the old and new data, and then write the data and write the parity. This reduced write speed is one of the main reasons for a cache disk. It is not part of the parity protected array and so is written at normal disk speed. The cached data is then written to the parity protected array at some later time (the middle of the night) when it is more convenient.

Link to comment

I am running parity but what I mean is the check is not happening automatically, dont I need to engage check and write corrections manually? or is this happening constantly in the background?

Parity is always written when a drive in the array is written. This is a good thing because it means you don't have to do anything to stay protected at all times. Most of us just run the parity check once a month as a test. The parity should always be correct if everything is working perfectly.

 

It does slow down writes though, because in order to write the correct parity it has to read the data that is being overwritten and read the corresponding parity, recalculate the parity based on the difference between the old and new data, and then write the data and write the parity. This reduced write speed is one of the main reasons for a cache disk. It is not part of the parity protected array and so is written at normal disk speed. The cached data is then written to the parity protected array at some later time (the middle of the night) when it is more convenient.

 

Thanks Trurl, I understand now.

 

I think I will wait till I can install my cache drive, much safer and would rather go the recommended route.

 

Cheers guys  ;)

Link to comment

The main reason it is advised to use a cache drive vs using an array drive for plug-ins, aside from the fact parity would always be spinning with the data drive, is the plug-in can actually cause a race condition with the array.

 

Say, for example, the plex plug-in waits for the array to start before it starts plex up. To do this we use an event issued by unraid. Sometimes this event is triggered before all of the array drives are active. When the plug-in specifies the data directory, for example /mnt/disk1/apps/plex/, if the array has not been fully started yet the directory will be created in ram.

 

The issue is once the directory has been created in ram unraid cannot mount "disk1", as the "directory is not empty"(the error linux will give). This will cause unraid to wait for the array to start, which it never will because it cannot mount disk1.

 

This does not affect every user. Different systems start up with different speeds. I for one have NEVER been able to reproduce this on my production server, but it happens every time on a server I built for a friend with the same components.

 

You can give it a try, it won't blow your server up. But if you reboot and the array never comes online, you know the most likely reason, :D. If that happens just shutdown(I advise installing the powerdown script, search the forums), put the flash drive in another PC and move the plug-ins to another directory or change the extension so they don't start on boot.

 

Hope this helps, :)

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.