So, with all of the fear accompanying the possibility that losing a VDEV in a ZFS Pool means losing the entire Pool- I'm really surprised to see that no one has suggested implementing a sort of RAID-Z1 for VDEV's (as opposed to the RAID-0 that ZFS essentially creates across all of the VDEV's in a pool).
I currently run four mirrored vdev's with two drives a piece, and two hot-spares. 10x8tb HGST HUH78080AL4200 SAS3 disks on an LSI 9305-24i. All the disks were acquired second hand (off of ebay) at various times over the past 3 years, from various vendors. Some of the disks are closer to shot than others, and what I've been dealing with A LOT lately (not sure if it's due to Truenas Scale, my 9305-24i being shoddy, or some of my drives actually having issues): Is individual mirrors becoming degraded, the hot-spares taking over as they should, resilvering happens, and either another disk will want to throw errors, or the hot spare will- and then my pool sits degraded until I can figure out which disk it's actually talking about. (I love how the sdi, sdh, sdl, sdg, etc. labels change every time I reboot. I also love how I can't see the drive label, serial number, and other crucial information ON THE SAME SCREEN all at once. HINT HINT ;)
So anyways, I was thinking.
Why not append ZFS's striping functionality to include some type of parity calculation- and reserve a portion of each mirrored pair for rebuilding in the event of a VDEV failure? I know that people normally stripe their RAIDZ2 VDEV's for added performance, and I'm not looking to nest RAIDZ by any means... Just thinking that adding a level of VDEV failure tollerance might be handy for more than just myself someday.
Call it RAID-1Z, or RAID-15, or even RAID-1Z2, RAID-16 for double parity striped VDEV's!
Now please go ahead and tell me why this is a ridiculous idea, how it would never work, and why it isn't the NEXT NATURAL EVOLUTIONARY STEP for ZFS.
Thanks! :)
I currently run four mirrored vdev's with two drives a piece, and two hot-spares. 10x8tb HGST HUH78080AL4200 SAS3 disks on an LSI 9305-24i. All the disks were acquired second hand (off of ebay) at various times over the past 3 years, from various vendors. Some of the disks are closer to shot than others, and what I've been dealing with A LOT lately (not sure if it's due to Truenas Scale, my 9305-24i being shoddy, or some of my drives actually having issues): Is individual mirrors becoming degraded, the hot-spares taking over as they should, resilvering happens, and either another disk will want to throw errors, or the hot spare will- and then my pool sits degraded until I can figure out which disk it's actually talking about. (I love how the sdi, sdh, sdl, sdg, etc. labels change every time I reboot. I also love how I can't see the drive label, serial number, and other crucial information ON THE SAME SCREEN all at once. HINT HINT ;)
So anyways, I was thinking.
Why not append ZFS's striping functionality to include some type of parity calculation- and reserve a portion of each mirrored pair for rebuilding in the event of a VDEV failure? I know that people normally stripe their RAIDZ2 VDEV's for added performance, and I'm not looking to nest RAIDZ by any means... Just thinking that adding a level of VDEV failure tollerance might be handy for more than just myself someday.
Call it RAID-1Z, or RAID-15, or even RAID-1Z2, RAID-16 for double parity striped VDEV's!
Now please go ahead and tell me why this is a ridiculous idea, how it would never work, and why it isn't the NEXT NATURAL EVOLUTIONARY STEP for ZFS.
Thanks! :)