Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

With a hardware-based RAID0, what happens when a drive fails?

For example, on brand name servers like HP DL120G7 with HP P410, when running FreeBSD on a zfs with a zpool mirror, or DragonFly BSD with mirroring through HAMMER etc.

The following questions come to mind:

  • Will the data on the non-failed drive that is part of a RAID0 still be usable? Or do the controllers spread the RAID0 data between the drives in a pseudorandom manner?

  • Would ZFS at all know how the data is spread between the drives for its mirror functionality to function properly?

  • I've heard some controllers don't let you avoid a hardware RAID (with P410 being such); in such case, do they generally make an exception so as to allow RAID0 arrays of just one disc, instead of a common minimum of two?

  • When the failed drive is replaced by a datacentre technician, would it affect the data on the drive that has not failed?

share|improve this question
You pop in a new drive and rebuild the array. Lose the other drive = bye-bye data! – Nathan C Oct 11 '13 at 19:37
Using one raid0 per drive as a passthrough? – JamesRyan Oct 11 '13 at 19:37
@NathanC No Raid0 is striped, you lose 1 drive, you lose all from that array. But there must be more to the question as to how zfs is involved. – JamesRyan Oct 11 '13 at 19:38
I don't understand why this is marked as a duplicate. The answer to the other question doesn't address my question at all. Again, this is an issue of people marking the question as duplicate based on the wrong answers and comments by other people, WTF? – cnst Oct 11 '13 at 21:36
@cnst, so the linked question has the statement This means that a single disk failure destroys the entire array under the RAID0 section. How does that not answer your question? If that doesn't answer your question, then perhaps your question isn't clear. – Zoredache Oct 11 '13 at 21:43

RAID0 is not really designed for data retention but for disk performance, if a drive fails use lose the data as the data is striped across multiple disks and your basically back to square one.

share|improve this answer
Indeed, RAID0 should never even be called RAID, really. – Dan Oct 11 '13 at 22:44

R0 is striped RAID, the stripe width depends on the specific configuration at creation time. There are a few things that make recovery (even with ZFS magic) nigh impossible:

  • Hardware R0 does not expose details of the stripe-plan to the OS, at least not without specific drivers.
  • Without details of the stripe-plan and RAID level, ZFS has nothing around which to formulate a failure-tolerance method.
  • When one drive fails, all the data on that drive is completely lost.
  • Most if not all hardware RAID adapters will completely fail a R0 set when a failure happens, and not even allow rebuilding (there is nothing to rebuild). The only recovery is to recreate.
    • Even if the FS was failure tolerant, most hardware RAID adapters will scrub the disks of a new R0-set, erasing any recoverable data on the surviving drives. (this is a configurable default in some systems, though).

To engineer a filesystem to survive a failure in a R0 set, it needs all of the details of the disks under the set. At that point its generally a lot easier to not bother with hardware R0, and just present a bunch of disks to the FS and let it manage everything.

Yes, systems that RAID-Everything will allow 1-disk R0 sets.

share|improve this answer
So, what happens with a 1-HDD RAID0 set: if the drive experiences intermittent read errors, would the whole 1-disc set become unavailable, or would it still continue letting you read the data on the parts of the drive that are still OK? – cnst Oct 14 '13 at 19:58
@cnst That depends on the individual RAID card. The manual for the HP P410 you mentioned does not specify. I haven't worked with enough flaky-disk R0 sets to know how they respond. – sysadmin1138 Oct 14 '13 at 20:08

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.