Well, I will defer to more experienced forum members, but the smartd message does not look real good to me, even though I do not know what that "pending" means. Unless someone else corrects me, I would treat the message as a sign that the disk is failing. If this disk is part of a ZFS RAIDed volume, and the RAID array is sufficiently large, you should be able to pull the bad disk and replace it with a new one, and then start the resilvering process.
Suppose you don't have a RAID array. You could get a new replacement disk. Use ddrescue to clone the bad disk to the new disk and see if it can recover. If there is still a problem, consider using testdisk on the clone disk, never the original disk, to see if that helps. There are no guarantees here. Hopefully you have a backup of your data. I do quite a lot of data recovery with ddrescue. Sometimes, I get lucky. I like ddrescue so much that I turn to it right away if I suspect a crashed source drive.
Bob
smartctl -t long /dev/ada#
smartctl -A /dev/ada#
sysctl kern.geom.debugflags=16 dd if=/dev/zero of=/dev/ada# bs=4096 count=1 seek=X conv=noerror,sync
smartctl -A /dev/ada#
smartctl -t long /dev/ada# smartctl -A /dev/ada#
zpool status -v poolname
Yes, please seaarch, jst wanted to get this off my chest so you're lucky.
IMHO 1 unreadable sector is not a reason to replace a HDD, if you are running with double redundancy I would just fix the problem wthout even effecting uptime. I fixed this problem without having to replace the HDD (though I did order a spare immediately cause I was scared of the unknown), and the HDD runs just fine now.
Going to outline my steps here for future refrence..
Run a long selftest on the disk ada#, it should fail somewhere
Code:smartctl -t long /dev/ada#
check the smart information for the unreadable sector, lets call it 'X'
Code:smartctl -A /dev/ada#
change the syscontrol and try writing to the sector. Change the 'X' below
Code:sysctl kern.geom.debugflags=16 dd if=/dev/zero of=/dev/ada# bs=4096 count=1 seek=X conv=noerror,sync
check the smart information to see if 'Current_Pending_Sector' went to 0, you may need to repeat the steps above multiple times if there are multiple unreadable sectors..
Code:smartctl -A /dev/ada#
Now run another smart test and hopefully it can complete without error.
Code:smartctl -t long /dev/ada# smartctl -A /dev/ada#
Now run a scrub (either from the gui or with 'zpool scrub poolname').
Check the scrub's status and hopefully it fixes some errors.
Code:zpool status -v poolname
IMHO 1 unreadable sector is not a reason to replace a HDD, if you are running with double redundancy I would just fix the problem wthout even effecting uptime. I fixed this problem without having to replace the HDD (though I did order a spare immediately cause I was scared of the unknown), and the HDD runs just fine now.
FAQ-worthy.
Nope, the "currently unreadable (pending) sectors" error can't be caused by the controller.This error could be generated by the SATA PCI controller card that the 3 disks are attached to?
If your drive is still under warranty as you indicated, doesn't matter if it expires next week so long as you start the claim process before it expires, then you could ship it back to the manufacturer for replacement. I prefer the method where I give them my credit card info and they ship me a drive and they include a paid return label and I reuse the box the new drive arrived in to return the old drive. Keep something in mind, you will be getting a refurbished replacement drive, you rarely hear someone getting a new RMA drive.One of my WD20EARS has been giving me this error for a few weeks. The drive is otherwise fine (tested good) but is out of warranty soon. Is this sufficient grounds for an RMA?