July 30, 20205 yr Hi guys, I find the whole concept around parity drive a bit odd when it comes to drive loss/malfunction. Say one of our main (ie non-parity) drives faults during large datastore copy and we get copy error. Note some services are also running and I/O-ing in the background. Now we replace the faulty drive following the procedure - can the data on the replaced drive still be recovered? Point being - doesn't all the write operations after the failure make the parity drive contents invalid now?
July 30, 20205 yr In order to read the data off of a missing drive, unRAID emulates it by reading all drives and calculating the missing bit to maintain even parity. In order to write data to the missing drive, unRAID actually reads all the drives then updates the parity disk to maintain even parity based on the new data you're writing. When it comes time to read this data you've just written, return to step 1. Obviously, reading all the remaining drives then updating the parity drive takes longer, so you don't want your array operating in this state any longer than necessary. Also, should another drive happen to fail when you're in this state, the data on it will be lost because parity can only recalculate a single missing bit. Another reason to replace the failed drive ASAP. This limitation has been worked around by the addition of support for a 2nd parity drive that can recover from the failure of a 2nd data drive, but you must be using this feature to take advantage of it.
July 30, 20205 yr Community Expert 1 hour ago, tuxbass said: doesn't all the write operations after the failure make the parity drive contents invalid now? What @FreeMan said. TL;DR version: Parity continues to update for all the write operations after the failure, including the failed drive.
Archived
This topic is now archived and is closed to further replies.