Jump to content

Structuring drives (parity, array, cache...)


KuniD

Recommended Posts

Hello all, I'm in the process of building a new server to act as a NAS/app server/VM box when I came across unRAID :)

 

Obviously it looks like it'll be a great fit, so I want to understand where I may need to tweak my spec to get the best results.

 

Spec so far is:

 

Motherboard: Asus X99 Deluxe

CPU: Xeon E5 2678 V3 (12 cores, 24 threads, 2.5GHz per)

Memory: 64Gb ECC/Reg DDR4-2133

Drives: 2 x WD Red 6Tb, 2 x WD Red 4Tb, 4 x Seagate NAS 4Tb

Graphics: Nvidia GTX970

 

Amazing what you can find on eBay these days ;)

 

I'll primarily be using the array to store large media files (1Gb to 20Gb in size each) and a couple of Tb of photos (inc RAW files).

 

From an app/VM perspective the obvious starting points are a Win 10 workstation (photo editing, general usage), Plex server and some gaming (via Win 10 or SteamOS although I've not looked into this much).

 

Appreciate any help with the following questions:

 

My first couple of question relates to how to handle my parity and array drives.

 

1) If I understand correctly unRAID only supports 1 parity drive right now and it should be the biggest/fastest drive I have. So I should use my WD Red 6Tb for that then use all the remaining SATA drives for my storage array (they are all 5900RPM drives). Would it make a difference to read or writes if I use a 7200RPM parity drive, such as a WD Red Pro 6Tb?

 

2) As the media files will be accessed infrequently, could I use the Seagate 8Tb Archive drive in the storage array?

 

 

My next couple of question relates to the cache drive/pool.

 

3) Once again if I'm understanding correctly this is used as the data store for the Dockers (Plex library), VM's (i.e. my Win 10 install) and to cache writes back to the array. I was originally planning to get a 256/512Gb Samsung 950 Pro M.2 PCIE SSD as a boot drive, but would I be better with one of the following for cache drive/pool:

 

1 x Samsung 850 Evo 1Tb

 

OR

 

2 x Samsung 850 Evo 500Gb as a pool

 

Unsure what the benefits are with going with 1 large versus two drives in a pool.

 

 

4) Does unRAID support M.2 PCIE NVME SSD's? If I eventually get one of these SSD's, could/should I add this to the same cache pool?

Link to comment

1) If I understand correctly unRAID only supports 1 parity drive right now and it should be the biggest/fastest drive I have. So I should use my WD Red 6Tb for that then use all the remaining SATA drives for my storage array (they are all 5900RPM drives). Would it make a difference to read or writes if I use a 7200RPM parity drive, such as a WD Red Pro 6Tb?

parity drive MUST be the larger or the same size as the largest data drive.  As under 2) you mention a 8TB Archive drive then this should probably be the parity drive.  I actually use one and it turns out to be the fastest drive in practise in my system outperforming my WD Red drives!  Write speed is determined by the slower of the data drive and parity drive being used.  In practise this means it makes sense to make parity the fastest drive.

2) As the media files will be accessed infrequently, could I use the Seagate 8Tb Archive drive in the storage array?
  As mentioned above you can only do this if you have a 8TB parity drive.  I now buy these as they work out cheaper than the WD 6TB Red drives.
Link to comment

Hi itimpi, thanks for the fast response

 

Interesting to hear you're using the 8Tb Seagate as the parity drive. Funny how everything you read about this drive puts you off that but then the evidence (as shown elsewhere on this forum) seems to point in the opposite direction.

 

How long have you run it as your parity drive?

 

I'll plan for one of those as parity to begin with then layer on an additional storage drive once I have a need.

 

It raises the question of replacing a parity drive - if I one day want to swap the 8Tb Seagate Archive drive with a 12Tb unit, do I just fail the parity drive and rebuild off a precleared new 12tb drive?

Link to comment

Hi itimpi, thanks for the fast response

 

Interesting to hear you're using the 8Tb Seagate as the parity drive. Funny how everything you read about this drive puts you off that but then the evidence (as shown elsewhere on this forum) seems to point in the opposite direction.

 

How long have you run it as your parity drive?

About 3 months now!

 

I think the way that unRAID is used means that the 20GB cache built in to overcome the potential performance limits of the shingled technology works well.  Since unRAID tends to be used to small media files which are large and relatively limited in number, for random access  that is more than enough, and when creating/updating parity you are doing a serial sweep of the disk so it also works well.

 

The time it is not going to work as well is when you have a lot of small files (e.g. a Windows system disk) that are being continually updated. as in that case the fact that multiple tracks have to be written for a single new sector being written becomes a huge overhead.

It raises the question of replacing a parity drive - if I one day want to swap the 8Tb Seagate Archive drive with a 12Tb unit, do I just fail the parity drive and rebuild off a precleared new 12tb drive?

Note that pre-clearing a parity drive is not required, although it is good idea to do it as a confidence check on the drive working well.    To replace a parity drive it is merely a case of stopping the array, unassigning the current drive and assigning a new one.  On starting the array unRAID will start a parity sync to create parity on a the new drive from the data drives.    While this is in progress the array is unprotected, so you want to keep the old parity drive intact until it completes in case a data drive fails before the parity sync completes.
Link to comment

So writing to the parity drive (Seagate 8Tb) is sequential in behaviour versus random?

 

Just trying to wrap my head around why the drive is well suited for parity

It is random when writing new files.    It is sequential when doing a parity sync or a parity check.

 

When these drives first came out we had no idea how well they would work with unRAID, but the consensus seems to be that they work well.

Link to comment

Ok and it is only accessed/spun up when:

 

- something new is being written to the storage array (as it requires the new parity data)

- a disk is being reconstructed

- a bad sector is detected

 

So, if there are no new files hitting the array (which is the state it will be in most of the time) and I was streaming/transcoding a file from one of the hard drives in the array, the parity drive is actually spun down/idle?

 

Also, any idea on the pro's/con's of using a single larger SSD rather than two smaller in a pool?

 

Apologies for bombarding you!

Link to comment

 

So, if there are no new files hitting the array (which is the state it will be in most of the time) and I was streaming/transcoding a file from one of the hard drives in the array, the parity drive is actually spun down/idle?

 

Also, any idea on the pro's/con's of using a single larger SSD rather than two smaller in a pool?

 

Apologies for bombarding you!

 

Reading from any disk in the array is just a direct read from that disk, and does not require any other drives be spun up. So yeah that's about right.

 

Why use a single larger SSD, isntead of a cache pool?

 

BTRFS is required to do the cache pool, and I've seen various reports of problems with cache pooling. Some people have it working just fine, others have no shortage of problems.

 

Intrestingly I'm using BTRFS but not in a pool and had no problems yet.

Link to comment

Ok thanks.

 

Re the 8Tb drive I've just read through the various threads in the storage forum related to it (i.e. http://lime-technology.com/forum/index.php?topic=39526.0), very interesting and good to see the drive is well suited even though the wider conception is negative!

 

For the price of the unit I'm actually thinking of selling my 4Tb drives so I can save on ports/power/noise

 

Regarding the SSD cache drive I'm leaning towards just using 1 BTRFS one to start with and I'll schedule a backup to the storage array.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...