Fixing degraded pool

mm0nst3r

Dabbler
Joined
Sep 5, 2021
Messages
33
Hey all,

I had some bad sector on one of the disks in stripe pool withot any reservation.
I ran zpool status -v and identified corrupted file. I deleted it, but the error and "degraded" status didn't go away.
Zpool ststus -v now shows:

errors: Permanent errors have been detected in the following files:

shelf2-3/nfs:<0x280>

How do I fix that? What is that old descriptor instead of file name?
 

Redcoat

MVP
Joined
Feb 18, 2014
Messages
2,925
What is that old descriptor instead of file name?
I believe that's a metadata error.

If this were on a Core pool of mine, I'd back up the pool then try a scrub or two and see if they would clear it. I have zero experience with Scale.
 

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,700
How do I fix that? What is that old descriptor instead of file name?
Looks like metadata to me too.

What you'll probably already have seen in the zpool status output is that you need to rebuild the pool (backup data before that and restore it after).

I don't know if there's any chance you can eliminate it by moving data around inside the pool, but you're welcome to try things (at your own risk of making it worse) like creating a new dataset, rsync (-auv) all data from one dataset over to it, destroy original dataset (and optionally rename the new one to the old name)... I suspect zfs send | recv will only move the problem over as that's a block-level operation.
 

Chewie198

Cadet
Joined
Jan 15, 2014
Messages
8
I've run into that multiple times in the past. Once the damaged file is deleted, the filename is no longer available so it simply displays the pointer address. You need to initiate a pool scrub and then cancel it, possibly more than once, to clear the error status. Make sure the underlying pool is healthy first and that there are no underlying hardware issues otherwise the issue will recur. This link has some more details.
https://icesquare.com/wordpress/zfs...rs-have-been-detected-in-the-following-files/
 

mm0nst3r

Dabbler
Joined
Sep 5, 2021
Messages
33
I've run into that multiple times in the past. Once the damaged file is deleted, the filename is no longer available so it simply displays the pointer address. You need to initiate a pool scrub and then cancel it, possibly more than once, to clear the error status. Make sure the underlying pool is healthy first and that there are no underlying hardware issues otherwise the issue will recur. This link has some more details.
https://icesquare.com/wordpress/zfs...rs-have-been-detected-in-the-following-files/

Thank you. Starting and stoping scrub several times worked.
 
Top