How many drives can you support with 2 parity disks?


Recommended Posts

I don't currently use Unraid but I'm considering it. My use case is for over a petabyte of bitrot resistant data whose primary purpose is for backup. My understanding is Unraid supports btfrs rather than zfs natively and that it also has the ability to add drives of different sizes to the array because it uses parity drives. This latter reason is primary reason I'm considering Unraid since not all drives will be same size and purchased at the same time.  Hardware wise I'm looking at a 60 drive Storinator for its drive density and cost effectiveness. In theory I could store all the data on a single server but I might end up getting two servers instead to distribute load. My questions....

 

 

 

1.  Can you create triple fault tolerance with Unraid?

2. And if so, up to how many drives in a single server can Unraid support in a triple fault tolerant configuration?

3.  And if so how many drives would I lose to partity drives in a 60 drive (18TB/ drive) triple fault tolerance configuration? 

Link to comment

in the main Unraid array the supported file systems are XFS and BTRFS.    You can mix and match these as desired as each drive is a self-contained file system (which means no striping of individual  files across multiple disks) and can be read as such if removed from the array.
 

1.   Maximum fault tolerance with the main Unraid array is 2 drives.   There have been rumours of allowing 3 but no confirmation or ETA for this.

2.  UnRaid supports a maximum of 30 drives (28 x data + 2 x parity) in its main array.

3.  You always lose the number of drives dedicated to parity.   Parity drives can never be smaller than the largest data drive.

 

you can add extra drives as pools using the BTRFS specific implementation of RAID support and each pool can support up to 30 drives.   The number of drives you lose to parity information depends on the RAID variant supported but it tends to be at least half if you want redundancy so much more than in the main array.

 

there have been cases of users running 2 instances of UnRaid on the same hardware with one instance running in a VM to get extra drives but this requires separate UnRaid licences for each instance.

Link to comment
2 hours ago, JKunraid said:

My understanding is Unraid supports btfrs rather than zfs natively and that it also has the ability to add drives of different sizes to the array because it uses parity drives.

Not quite. I broke down a lot of this information in another post, but it was more aimed at cache comprehension. The writeup will still help, but here's the TL;DR --

- Unraid stores data in regular single-partition-per-drive XFS filesystem format, by default. It combines them into a single "storage pool" using a sort of layered filesystem controller. It provides Parity to a jagged array by requiring the Parity disk to be the largest, and padding smaller disks in virtual space for parity calculations, IE pretending the disk is fully written with 0xFF or 0x00 any time it's accessed beyond its bounds, effectively (virtually) making all drives the same size as the Parity drives. It uses a seprate process (the in-kernel md system) to maintain Parity disks.

 

- Unraid does not meaningfully use the BTRFS or ZFS filesystems in any multi-disk way, but it won't stop you from doing so separate from the array itself using third-party tools installed via various plugins. Honestly though, I've used both BTRFS and ZFS for massive multi-disk filesystems and power failures caused complete data loss on both eventually. Unraid will never fail in that manner because it only uses single-disk filesystems. At worst (ABSOLUTE worst, and this is by far an unusual case) you will lose only the data and files physically stored on any disk or disks that are lost if you break Parity's capacity to recover. IE, if you have two parity disks and smash three disks with a hammer, you lose the data on those three disks. If you have two parity disks and only smash two data disks with a hammer, you lose nothing but time while the array rebuilds -- it'll even emulate the missing disks (at a performance hit) until you GET new ones.

 

 

 

2 hours ago, JKunraid said:

1.  Can you create triple fault tolerance with Unraid?

 

- NO. (To my knowledge.) Unraid supports up to two parity disks. These disks will protect any combination of array disks lost, up to two. My current understanding is that there is no Unraid configuration which will support three simultaneous failed devices.

 

That said;

2 hours ago, JKunraid said:

2. And if so, up to how many drives in a single server can Unraid support

Unraid supports 30 managed storage devices. That's up to 2 parity disks, with the rest being data. It also supports cache pools. If you have more disks connected, you can access them individually using the Unassigned Devices plugin to create per-disk shares, or perhaps pool them manually, but clearly the "Good Stuff" stops at 30.

 

2 hours ago, JKunraid said:

3.  And if so how many drives would I lose to partity drives

None, one, or two. The SOLE requirement of your Parity disk(s) is size. A disk used as Parity must be equal to or greater than the size of every other disk in the array and able to perform IO in a roughly equivalent capacity. There are no requirements on quantity or size of Parity drives per-terabyte or per-disk. Two parity drives will protect one to 28 data disks of any size.

 

 

 

21 minutes ago, itimpi said:

you can add extra drives as pools using the BTRFS specific implementation of RAID support and each pool can support up to 30 drives.   The number of drives you lose to parity information depends on the RAID variant supported but it tends to be at least half if you want redundancy so much more than in the main array.

Good information, I did not cover this -- also was unaware. (To be clear though, this is "outside" the UnRAID array aka in addition to it, if I understand correctly.)

 

 

Here's the post where I went on a deep dive through how Unraid works to explain why Cache matters to someone who was asking an entirely different question (lol) but it should help with comprehension if you're interested;

 

 

 

If you have any other questions, I'll be happy to help.

Edited by codefaux
Link to comment

OH! Also, if you're worried about Bit Rot or any other form of quiet corruption, there's a File Integrity plugin which handles data checksumming and verification, periodic check, etc. Obviously this comes with some performance impact, but most modern hardware is far more than able to handle it.

 

 

  • Like 1
Link to comment
On 5/6/2021 at 4:25 AM, itimpi said:

in the main Unraid array the supported file systems are XFS and BTRFS.    You can mix and match these as desired as each drive is a self-contained file system (which means no striping of individual  files across multiple disks) and can be read as such if removed from the array.
 

1.   Maximum fault tolerance with the main Unraid array is 2 drives.   There have been rumours of allowing 3 but no confirmation or ETA for this.

2.  UnRaid supports a maximum of 30 drives (28 x data + 2 x parity) in its main array.

3.  You always lose the number of drives dedicated to parity.   Parity drives can never be smaller than the largest data drive.

 

you can add extra drives as pools using the BTRFS specific implementation of RAID support and each pool can support up to 30 drives.   The number of drives you lose to parity information depends on the RAID variant supported but it tends to be at least half if you want redundancy so much more than in the main array.

 

there have been cases of users running 2 instances of UnRaid on the same hardware with one instance running in a VM to get extra drives but this requires separate UnRaid licences for each instance.

 

Thank you (and to the other posters as well). I have read all the replies.  Informative and helped me wrap my head around some of Unraid's limitations.

 

I'm still going to give Unraid a shot on at least one server.  I have many more questions but I'm going to do a bit more reading before I ask them on other threads. I do have one more immediate question.....  where should I post my question for selecting my hardware for my Unraid server build?

 

Link to comment

IF bit-rot is one of your primary concern, you had best be using a board with ECC RAM.  (Many of us are convinced that bit-rot does not happen with modern hard drives.  If a file on a disk is found with silent corruption on it,  the corruption existed when the data was written to the hard disk.  Thus, the necessity for ECC memory.) 

 

One more thing.  Very large numbers of disks in arrays are not really practical from a reliability standpoint.  I refer to this thread for the reasoning:

 

         https://forums.unraid.net/topic/50504-dual-or-single-parity-its-your-choice/

 

By the way, the last time I checked the failure data from Backblaze, the failure rate of hard disks was approximately the same regardless of the capacity of the disk.

 

Another item.  Unraid does not eliminate the need for a backup of any irreplaceable data.  In other words, an Unraid server can be part of your secure data storage scheme, a single Unraid server is not the total solution!

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.