Can't talk right now?Get a quote · reply within 15 min
Call nowFree consultation
WhatsAppChat with us
Skip to main content

Write hole

The write hole is a RAID fault where an interrupted write leaves a stripe’s data and parity out of step, so a later calculation of a missing block can return wrong data.

A parity RAID write changes a data block and its parity block, on different disks, and those writes probably won’t happen at exactly the same time. If the system crashes or loses power in between, that stripe’s parity no longer matches its data until the array makes it consistent again. The risk is a disk failing before that happens: the stale parity is then used to calculate the missing block, and the result is silently wrong.

Which arrays have a write hole?

Parity RAID: RAID 5 and RAID 6. Implementations include ways to close it. Linux software RAID, for example, offers a write journal on a separate device, or a partial parity log for RAID 5.

Why does the write hole matter after a failure?

Data damaged this way is calculated wrongly, not missing, so a rebuild can write the wrong values onto the replacement disk. For arrays that failed after a crash or power cut, see RAID data recovery.

Common misconceptions

If the array came back after a power cut, is everything fine?

Not necessarily. After an unclean shutdown the array has to make its parity consistent again. If a disk is missing at restart, it can’t recalculate parity, and data can be undetectably corrupted. That is why Linux software RAID won’t normally start an array that is both dirty and degraded.

Sources

Back to the glossary

Published: Glossary