Migrating to dRAID vdev type?

Daisuke

Contributor
Joined
Jun 23, 2011
Messages
1,041
Not sure if is recommended to migrate a 12 drives RAID-Z2 vdev to dRAID? I see a lot of advantages for the use on large files (1GB+), as well resilvering on 8TB+ disks.

From documentation:
Due to concerns with storage efficiency, dRAID vdev layouts are only recommended in very specific situations where the TrueNAS storage array has numerous (>100) attached disks that are expected to fail frequently and the array is storing large data blocks.

The only way I see this working is to migrate all data to a different pool, destroy the existing pool and recreate it with a dRAID vdev.

 
Last edited:

Arwen

MVP
Joined
May 17, 2014
Messages
3,611
A thing to understand, is that one of dRAID's main features are the integrated hot spares. So;

12 disk RAID-Z2 = 10 data disks
12 disk dRAID2 = 9 data disks when using 1 integrated hot spare

If you don't incorporate a hot spare in to a dRAID vDev, then their is no advantage in initial redundancy restoration times.

Then their is the full width stripes. RAID-Zx can use partial width writes, (still using the selected parity level), to reduce the overhead of small files, OR small writes. Yet as far as I know, dRAID requires a full width stripe for ALL writes. Even if that wastes most of the stripe's blocks. Not a problem when using large files, (or having a Special Metadata vDev used as a small write destination as well).

In general, most people should ignore dRAID until it is better understood.


That said, I am not trying to stop you, just want you to go in with both eyes open.
 

Daisuke

Contributor
Joined
Jun 23, 2011
Messages
1,041
12 disk dRAID2 = 9 data disks when using 1 integrated hot spare
I could probably go with dRAID1 since we are dealing with a spare disk. My pool has 12x8TB disks, see my build. I have another NetApp DS4246 enclosure with 24x8TB disks, ready to be used and attached to Scale.

The main concern with RAID-Z is the introduced resilvering stress, other disks could fail during this process since they are all read at same time and you could end-up losing all your data. Hence the use of RAID-Z2 as example, you can afford to lose another disk during resilvering, with no loss of data. This issue is addressed with dRAID. I think there is also a limitation on the minimum number of disks for dRAID2, I will have to look at the documentation.

This thread could be a good discussion starter for dRAID.
 
Last edited:

Arwen

MVP
Joined
May 17, 2014
Messages
3,611
The use of dRAID1, (with 1 parity), and an integrated hot spare, means at the point of complete single disk failure, you have zero redundancy. Any bad block means a file, (or files), is lost. And an additional disk failure before the integrated hot spare is synced, means either pool loss or file(s) lost, depending on how much is synced when the additional disk fails.

Now in dRAID the stress to the other disks during hot spare activation is either some reads or some writes. Unlike RAID-Zx, which as you point out is all writes to the replacement disk, (or hot spare), and potentially 100% reads of the used blocks from the other disks. (Except in the case of single disk failure in RAID-Z3, then the 3rd parity is not read for disk replacement, since the 2nd parity is available...)

Let us be clear on one concept. In order to recover from a disk failure, (not bad blocks), you HAVE to read every single affected RAID stripe, and recover the data based on that stripe's parity. It is basically the same for dRAIDx and RAID-Zx, they just differ on where the reads and recovered writes occur,

This is what I mean. You think dRAID1 is reasonably safe. Depends on how you look at it.
 

Etorix

Wizard
Joined
Dec 30, 2020
Messages
2,134
This post has a good explanation of dRAID syntax and construction.
dRAID1 is not fundamentally safer than raidz1, so all practical cases with HDDs should probably be dRAID2 or 3.
The point of dRAID is that "spares" are distributed in the vdev; so dRAID does not make sense without hot spares.
 

sfatula

Guru
Joined
Jul 5, 2022
Messages
608
This post has a good explanation of dRAID syntax and construction.
dRAID1 is not fundamentally safer than raidz1, so all practical cases with HDDs should probably be dRAID2 or 3.
The point of dRAID is that "spares" are distributed in the vdev; so dRAID does not make sense without hot spares.
This is so true, draid1 makes little sense. Less sense than Raidz1 really. The main advantage of Draid is the time to get your pool back to a non error state (healthy), it's pretty quick. That doesn't mean it's done with everything (it isn't), it just means your time in a non healthy state is smaller. Which for pools with a large number of drives is a definite advantage.
 
Last edited:
Top