LauPro schreef op 19 August 2003 @ 23:32:
Er is een kleine miscommunicatie opgetreden: Ik ga ervan uit dat er een stuk/deel van het volume beschadigd is (dus niet het hele volume, als dat niet goed is overgekomen mijn excuses). Dus precies hoe het bij t.net het geval was. En hoé dat kan gebeuren is bekend.
Nu willen we graag de data terug die in dat beschadigde stuk stond, de enige oplossing is een externe backup óf een redundante opslag van data. Simpeler kan ik het niet uitleggen.
Dan heb je blijkbaar over mijn posting heengelezen waar ik zei dat de data over de verschillende disks wordt
verspreid door de raidcontroller.
Stel je hebt drie disks die resp A, B en C opslaan en ook steeds een stukje van B en C, A en C, etc, dus:
Abc
aBc
abC
Stel nu dat A, B en C samen een bestand vormen. In theorie kan dat bestand niet corrupt raken door de uitval van een enkele disk, maar als om wat voor reden dan ook een te groot deel van B weggegooid wordt (en dus inclusief een b) dan heb je gewoon geen bestand meer of een die corrupt is en ook afgeschreven kan worden.
Het is allemaal nogal zinloze speculatie, want we _weten_ niet of er een
deel van het volume beschadigd is of dat het hele volume beschadigde op "willekeurige" (of regelmatige) verschillende posities.
Er van uit gaande dat _elk_ bestand evenveel risico liep beschadigd te raken, dit neem ik maar aan omdat ik geen beeld heb en ook nooit zal krijgen van de fysieke positie van een file op onze disks, heeft het geen nut een parityfile bij te houden.
Want zodra de parityfile beschadigd is moet je ofwel tot de conclusie komen dat je file die je controleert corrupt is ofwel dat je parityfile waardeloos geworden is en je dus ook je gewone files niet meer kan repareren...
Je idee met twee partities op dezelfde schijfarray is leuk, maar ook die is om dezelfde reden gevoelig voor fouten. Gezien het feit dat je _beide_ partities dan willekeurig corrupte/veranderde bestanden hebben kan je niet eenvoudig zien welke file correct is en welke niet als je er twee versies van hebt.
Verder is het een enorme verspilling van ruimte en een gigantische domper op je performance als je alles dubbel gaat lopen doen, zeker gezien het feit _dat_ er al redundantie is en semi-garantie van correctheid.
Ten eerste probeert de raidcontroller een continue werking van het volume te garanderen, wat in de meeste gevallen ook best zal lukken alleen nu om voor ons allen onbekende redenen niet.
Ten tweede omdat het OS en het FS dat erbovenop werken dmv journaling garanderen dat een gewijzigde file ook op het volume zal komen mits het volume werkt (en daar zorgt punt 1 al voor).
Misschien is er een minieme kans dat jouw ideeen beter werken dan wat er nu aanwezig is, maar gezien het feit dat ook jouw oplossingen geen perfecte bescherming tegen dataverlies leveren en je achteraf alsnog dezelfde moeizame procedure moet doorlopen om de boel weer terug te krijgen, denk ik dat het daardoor zeker in combinatie met de andere nadelen totaal niet geschikt is voor ons.
Een simpele backupprocedure op orde helpen en ervoor zorgen dat er dagelijks een goede backup afgewerkt wordt op een andere server en/of ander diskarray, levert waarschijnlijk ruim voldoende, _veel_ beter te controleren redundantie op die ook nog eens minder nadelig is voor de performance en als bijkomend voordeel heeft dat ie je ook tegen nadelige gevolgen van beheers- en gebruikersfouten beschermt.
Misschien had je het nog niet gelezen hoor, maar ik meen dat dat een van de oorzaken van het probleem was... Hoe precies weten we allemaal niet, maar dat ie er een rol in speelde is wel vrij zeker.
[
Voor 5% gewijzigd door
ACM op 20-08-2003 00:11
]