[linux] Re: smartd offline uncorrectable sectors

Paul Slootman paul+nospam op wurtel.net
Wo Jan 11 16:42:11 CET 2006


On Wed 11 Jan 2006, Rob Sterenborg wrote:
> On Wed, January 11, 2006 13:32, Paul Slootman wrote:
> >> On Wednesday 11 January 2006 13:00, Rob Sterenborg wrote:
> >>> Als het goed is wordt de data op de sectors die "problematisch"
> >>> zijn verplaatst naar andere sectors en worden de "oude" sectors
> >>> gemarkeerd
> >
> > Dat kan dus niet zomaar, want dan raak je wellicht data kwijt zonder
> > dat dat bekend wordt. En dat kan erger zijn dan data gewoon kwijt
> > raken...
> 
> Daarvoor heb je smartd, die dat moet loggen of op de console een
> melding geeft of zo, neem ik aan ?

Meestal per mail, en in de syslog.
Maar smartd gaat dus niet zelf dingen herstellen, die constateert alleen
maar.

> > Als die sectors belangrijke gegevens bevatten, en die sectors
> > onleesbaar zijn ("uncorrectable read errors" duidt daar toch echt
> > wel op), dan kan de disk die sectors niet zomaar vervangen door
> > reserve (spare) sectors, de data zou dan "stilzwijgend" vervangen
> > worden door random data...
> > Daarom zal een read actie een error geven, en een write actie gewoon
> > lukken (onderwater wordt dan dus een spare sector ingezet).
> 
> http://users.dslextreme.com/~craig.lawson/linux_notes/disks.html :

[snip]

> individual disk sectors (usually 512 bytes). When a disk sector is
> nearing failure, the drive automatically moves the data to a spare
> sector. How does it know that failure is imminent? When you store 512
> bytes, more than 512 bytes are actually used by the drive. The extra
> data are redundant, and are used to verify the integrity of your data
> (like a checksum), and there is enough redundancy that the drive can
> actually correct some number of read errors. Although your main

Dit is dus het "correctable error" geval, niet de "uncorrectable"
(waarmee de thread begon). Deze kunnen dus inderdaad door de drive zelf
gefixt worden; alhoewel je ook wel wil weten wanneer dit gebeurt, want
als het ineens veel gebeurt, dan komen er wellicht spoedig steeds meer
totdat er geen spare sectors meer zijn.

> Volgens dit verhaal gaat het dus vanzelf.

Klopt.

> Handmatig kan blijkbaar ook :
> 
> =======
> My problem arose because a sector suffered more damage than could be
> corrected before it was next read. Because the drive hadn't visited
> the sector in a while, suddenly there were too many errors to correct.
> The data was gone, and the drive can't deal with it. The solution was

Dit is dus de "uncorrectable error" geval.

> to manually locate the damaged disk sector and write new data into it.
> When I replaced the sector contents, I gave the drive the opportunity
> to relocate the sector. The drive will make sure the bad sector will
> never be used again.

Hij moest dus zelf die data herschijven, dit kon dus niet automatisch.
Da's dus precies wat ik zei.


> >> Bij mijn weten kan het zeker voorkomen dat een schijf bij de
> >> productie al slechte sectors heeft en zorgt de schijf er zelf voor
> >> dat deze verwisseld worden met reserve sectors. Als het goed is
> >> gaat smartd mij emailen als het erg wordt (al weet ik niet hoe ik
> >> dat moet testen) en dat heb ik tot nu toe niet gezien.
> >
> > Het punt is dus dat die defecte sectors tijdens productie al
> > probleemloos vervangen kunnen worden; defecte sectors tijdens lees
> > acties of selftests kunnen dat niet.
> 
> Als ik bovenstaande verhaal lees dan kan het wel. Maar als het verhaal
> niet klopt, kan jij misschien uitleggen waarom het niet klopt ??

Het klopt dus :)  Er zijn gewoon meerdere scenario's, waarbij
correctable en uncorrectable niet met elkaar verward moeten worden.


Paul Slootman



More information about the Linux mailing list