fede2222 Posted July 4, 2014 Share Posted July 4, 2014 Hi I have a theorical question... I spend 3 hours finding the answer in google, but no luck Scenario: One sector go bad, the sector is reallocated by the HDD to the spare sectors. In some cases the reallocated info is unaltered and other cases in corrupted. I assume work this way. If unaltered i assume that is transparent to the Operating System. The HDD controller read the data, reallocate the sector to a spare sector, write the data in the spare sector, mark the original sector as bad. The application and the Operating System is unaware of this. You only have a SMART value changed. If corrupted, it report something to the Operating System??? NO - You need to check with reiserfsck to detect the file with errors?. Triggered by a suspicion by an SMART Change... is the right path to go? YES - I assume that an error will popup on your application (triggered by the Operating System) and you can act in consequence. Reiserfsck? Or.. need to identify the corrupted file via other method? Thanks. Quote Link to comment
kal Posted July 7, 2014 Share Posted July 7, 2014 my understanding is: bad sector detected during a write, its just reattempted to another sector. Previous sector marked bad, and reallocated sectors count increases. As a once off, this is fine, nothing to worry about imo. The integrity of the data is still good (data not removed from disk cache till verified write is made) however, a bad sector during a read is a bit more significant imo. Sector is detected bad on read, and that sector is marked 'pending'. Attempts will be made to retrieve the data from the sector, and remap it as above. If successfully moved to a good sector, previous one is marked bad, and pending decreases in value. Pending can also be decreased if a direct write is made to a 'pending' sector. This write is instead made to a remapped sector, and the pending one is marked bad. Note that these writes can be made by a correcting parity check (I believe). It is my understanding that these read errors will be reported through to the operating system - they will at least find their way into the syslog, and perhaps even represented by the 'errors' column on the unraid homepage. note this is just my understanding and may not be 100% Quote Link to comment
fede2222 Posted July 7, 2014 Author Share Posted July 7, 2014 thanks kal Yes... the problem or worry is the read of a bad sector... i assume that work like that... but is only assumption Anyone have an experience like that? or more light about this subject? Quote Link to comment
JonathanM Posted July 7, 2014 Share Posted July 7, 2014 thanks kal Yes... the problem or worry is the read of a bad sector... i assume that work like that... but is only assumption Anyone have an experience like that? or more light about this subject? If the drive reports a read failure, unraid spins up all the drives, calculates what should be in that address, and writes it back to the drive. If everything is working properly, the drive writes the value to a reallocated spot, unraid increments the error column for that drive and everything works out. I'm unclear whether or not unraid drops the cache and issues a read request to verify that the write went ok, but I doubt it. I think it just assumes the write worked if the drive accepts it. If the write request fails, unraid immediately red balls the drive, and no further automatic actions are done to that drive. Quote Link to comment
fede2222 Posted July 7, 2014 Author Share Posted July 7, 2014 Thanks.. i can sleep now 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.