sir_ferguson Posted August 18, 2022 Share Posted August 18, 2022 Ok so here is the situation. I had issues with a drive so I moved all its data to the other drives. Because I wasn't using it I wanted to remove it from the array. After resetting the config and restarting the array, I was asked if the Parity drive is still ok. Not wanting to recompute the parity drive and thinking it wasn't an issue since the other drive was empty anyway I clicked yes. Afterwards I ran a parity check. It took me a bit before realizing my mistake. It checked ~4.3% of the array and corrected 539 Sync errors. Looking at the logs confirmed my suspicion: Aug 18 12:39:55 Stallman kernel: md: recovery thread: P corrected, sector=0 Aug 18 12:39:55 Stallman kernel: md: recovery thread: P corrected, sector=8 Aug 18 12:39:55 Stallman kernel: md: recovery thread: P corrected, sector=16 Aug 18 12:39:55 Stallman kernel: md: recovery thread: P corrected, sector=24 Aug 18 12:39:55 Stallman kernel: md: recovery thread: P corrected, sector=32 Aug 18 12:39:55 Stallman kernel: md: recovery thread: P corrected, sector=40 ... So basically my first few sectors are probably garbage now. I doubt canceling the Parity Check will restore the sectors. However maybe there is a way to check which files might be effected. My array is only 33% full, so with insane luck maybe nothing important was stored there. Anyway, I got myself in a bit of a mess. What's the best way to proceed? Quote Link to comment
Solution JonathanM Posted August 18, 2022 Solution Share Posted August 18, 2022 Unclear from your title and description what is actually happening. Did you accidentally assign a data drive to the parity slot? 21 minutes ago, sir_ferguson said: After resetting the config and restarting the array, I was asked if the Parity drive is still ok. Not wanting to recompute the parity drive and thinking it wasn't an issue since the other drive was empty anyway I clicked yes. When you removed a drive, parity was no longer valid, unless you wrote zeroes to the entire drive to be removed. Empty implies a formatted filesystem, which is part of parity, and probably deleted files, which are also part of parity. Your title implies you put the wrong disk in the parity slot, but the body of your message sounds like everything is working correctly, you just need to unassign the parity drive, reassign it, and rebuild parity based on the remaining drives. Quote Link to comment
sir_ferguson Posted August 18, 2022 Author Share Posted August 18, 2022 13 minutes ago, JonathanM said: Your title implies you put the wrong disk in the parity slot, but the body of your message sounds like everything is working correctly, you just need to unassign the parity drive, reassign it, and rebuild parity based on the remaining drives. Thank you for your advice. Sorry for the misleading title, I did not know how else to describe it. All drives are assigned correctly, but after removing the old drive the parity drive is invalid. But what about the corrected sectors. Do I not have to worry about them? Maybe I could rebuild them with the old drive? Cancel Parity check. Add old drive again. Rerun parity check. Remove old drive. Unassign parity drive. Rebuild parity drive. Quote Link to comment
trurl Posted August 18, 2022 Share Posted August 18, 2022 27 minutes ago, sir_ferguson said: what about the corrected sectors They needed to be corrected because they were invalid, and there will be a lot more invalid since you removed an unclear drive from the array without rebuilding parity (your proposed solution seems very confused about how parity works) https://wiki.unraid.net/Manual/Overview#Parity-Protected_Array Quote Link to comment
sir_ferguson Posted August 18, 2022 Author Share Posted August 18, 2022 30 minutes ago, sir_ferguson said: Thank you for your advice. Sorry for the misleading title, I did not know how else to describe it. All drives are assigned correctly, but after removing the old drive the parity drive is invalid. But what about the corrected sectors. Do I not have to worry about them? Maybe I could rebuild them with the old drive? Cancel Parity check. Add old drive again. Rerun parity check. Remove old drive. Unassign parity drive. Rebuild parity drive. Ohh I just realized that the log says "P corrected". Does that mean only the parity got corrected and my data is fine? If so all I have to do is rebuild the parity drive which I have to do anyway, right? Quote Link to comment
trurl Posted August 18, 2022 Share Posted August 18, 2022 Parity check reads all disks, and it only writes parity if it is a correcting parity check. No other disks are changed in any way. Quote Link to comment
sir_ferguson Posted August 18, 2022 Author Share Posted August 18, 2022 Ahh ok. Sorry for the confusion. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.