Ist die Beschädigung des Dateisystems nach einem plötzlichen Stromausfall auf der ext3-Partition eines SSD-Laufwerks „erwartetes Verhalten“?

13
Jeremy Friesner 2012-12-04 01:13.

Mein Unternehmen stellt ein eingebettetes Debian-Linux-Gerät her, das von einer ext3-Partition auf einem internen SSD-Laufwerk startet. Da es sich bei dem Gerät um eine eingebettete "Black Box" handelt, wird es normalerweise auf unhöfliche Weise heruntergefahren, indem einfach die Stromversorgung des Geräts über einen externen Schalter unterbrochen wird.

Dies ist normalerweise in Ordnung, da das Journaling von ext3 die Dinge in Ordnung hält. Abgesehen vom gelegentlichen Verlust eines Teils einer Protokolldatei tuckern die Dinge weiterhin einwandfrei.

Wir haben jedoch kürzlich eine Reihe von Einheiten gesehen, bei denen die ext3-Partition nach einer Reihe von Hard-Power-Zyklen strukturelle Probleme entwickelt. Insbesondere führen wir e2fsck auf der ext3-Partition aus und stellen eine Reihe solcher Probleme fest wird in der Ausgabeliste am Ende dieser Frage angezeigt. Wenn Sie e2fsck ausführen, bis keine Fehler mehr gemeldet werden (oder die Partition neu formatiert wird), werden die Probleme behoben.

Meine Frage ist ... was bedeutet es, solche Probleme auf einem ext3 / SSD-System zu sehen, das vielen plötzlichen / unerwarteten Abschaltungen ausgesetzt war?

Ich bin der Meinung, dass dies ein Zeichen für ein Software- oder Hardwareproblem in unserem System sein könnte, da ich verstehe, dass die Journalling-Funktion von ext3 (abgesehen von einem Fehler oder Hardwareproblem) diese Art von Fehlern bei der Integrität des Dateisystems verhindern soll. (Hinweis: Ich verstehe, dass Benutzerdaten nicht aufgezeichnet werden und daher munged / fehlende / abgeschnittene Benutzerdateien auftreten können. Ich spreche hier speziell von Dateisystem-Metadatenfehlern wie den unten gezeigten.)

Mein Kollege hingegen sagt, dass dies ein bekanntes / erwartetes Verhalten ist, da SSD-Controller Schreibbefehle manchmal neu anordnen und das ext3-Journal dadurch verwirrt werden kann. Insbesondere glaubt er, dass das ext3-Journal selbst bei normal funktionierender Hardware und fehlerfreier Software eine Beschädigung des Dateisystems nur weniger wahrscheinlich und nicht unmöglich macht. Daher sollten wir uns nicht wundern, wenn von Zeit zu Zeit solche Probleme auftreten.

Wer von uns hat recht?

Embedded-PC-failsafe:~# ls
Embedded-PC-failsafe:~# umount /mnt/unionfs
Embedded-PC-failsafe:~# e2fsck /dev/sda3
e2fsck 1.41.3 (12-Oct-2008)
embeddedrootwrite contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Invalid inode number for '.' in directory inode 46948.
Fix<y>? yes

Directory inode 46948, block 0, offset 12: directory corrupted
Salvage<y>? yes

Entry 'status_2012-11-26_14h13m41.csv' in /var/log/status_logs (46956) has deleted/unused inode 47075.  Clear<y>? yes
Entry 'status_2012-11-26_10h42m58.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47076.  Clear<y>? yes
Entry 'status_2012-11-26_11h29m41.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47080.  Clear<y>? yes
Entry 'status_2012-11-26_11h42m13.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47081.  Clear<y>? yes
Entry 'status_2012-11-26_12h07m17.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47083.  Clear<y>? yes
Entry 'status_2012-11-26_12h14m53.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47085.  Clear<y>? yes
Entry 'status_2012-11-26_15h06m49.csv' in /var/log/status_logs (46956) has deleted/unused inode 47088.  Clear<y>? yes
Entry 'status_2012-11-20_14h50m09.csv' in /var/log/status_logs (46956) has deleted/unused inode 47073.  Clear<y>? yes
Entry 'status_2012-11-20_14h55m32.csv' in /var/log/status_logs (46956) has deleted/unused inode 47074.  Clear<y>? yes
Entry 'status_2012-11-26_11h04m36.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47078.  Clear<y>? yes
Entry 'status_2012-11-26_11h54m45.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47082.  Clear<y>? yes
Entry 'status_2012-11-26_12h12m20.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47084.  Clear<y>? yes
Entry 'status_2012-11-26_12h33m52.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47086.  Clear<y>? yes
Entry 'status_2012-11-26_10h51m59.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47077.  Clear<y>? yes
Entry 'status_2012-11-26_11h17m09.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47079.  Clear<y>? yes
Entry 'status_2012-11-26_12h54m11.csv.gz' in /var/log/status_logs (46956) has deleted/unused inode 47087.  Clear<y>? yes

Pass 3: Checking directory connectivity
'..' in /etc/network/run (46948) is <The NULL inode> (0), should be /etc/network (46953).
Fix<y>? yes

Couldn't fix parent of inode 46948: Couldn't find parent directory entry

Pass 4: Checking reference counts
Unattached inode 46945
Connect to /lost+found<y>? yes

Inode 46945 ref count is 2, should be 1.  Fix<y>? yes
Inode 46953 ref count is 5, should be 4.  Fix<y>? yes

Pass 5: Checking group summary information
Block bitmap differences:  -(208264--208266) -(210062--210068) -(211343--211491) -(213241--213250) -(213344--213393) -213397 -(213457--213463) -(213516--213521) -(213628--213655) -(213683--213688) -(213709--213728) -(215265--215300) -(215346--215365) -(221541--221551) -(221696--221704) -227517
Fix<y>? yes

Free blocks count wrong for group #6 (17247, counted=17611).
Fix<y>? yes

Free blocks count wrong (161691, counted=162055).
Fix<y>? yes

Inode bitmap differences:  +(47089--47090) +47093 +47095 +(47097--47099) +(47101--47104) -(47219--47220) -47222 -47224 -47228 -47231 -(47347--47348) -47350 -47352 -47356 -47359 -(47457--47488) -47985 -47996 -(47999--48000) -48017 -(48027--48028) -(48030--48032) -48049 -(48059--48060) -(48062--48064) -48081 -(48091--48092) -(48094--48096)
Fix<y>? yes

Free inodes count wrong for group #6 (7608, counted=7624).
Fix<y>? yes

Free inodes count wrong (61919, counted=61935).
Fix<y>? yes


embeddedrootwrite: ***** FILE SYSTEM WAS MODIFIED *****

embeddedrootwrite: ********** WARNING: Filesystem still has errors **********

embeddedrootwrite: 657/62592 files (24.4% non-contiguous), 87882/249937 blocks

Embedded-PC-failsafe:~# 
Embedded-PC-failsafe:~# e2fsck /dev/sda3
e2fsck 1.41.3 (12-Oct-2008)
embeddedrootwrite contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Directory entry for '.' in ... (46948) is big.
Split<y>? yes

Missing '..' in directory inode 46948.
Fix<y>? yes

Setting filetype for entry '..' in ... (46948) to 2.
Pass 3: Checking directory connectivity
'..' in /etc/network/run (46948) is <The NULL inode> (0), should be /etc/network (46953).
Fix<y>? yes

Pass 4: Checking reference counts
Inode 2 ref count is 12, should be 13.  Fix<y>? yes

Pass 5: Checking group summary information

embeddedrootwrite: ***** FILE SYSTEM WAS MODIFIED *****
embeddedrootwrite: 657/62592 files (24.4% non-contiguous), 87882/249937 blocks
Embedded-PC-failsafe:~# 
Embedded-PC-failsafe:~# e2fsck /dev/sda3
e2fsck 1.41.3 (12-Oct-2008)
embeddedrootwrite: clean, 657/62592 files, 87882/249937 blocks

2 answers

11
ewwhite 2012-12-04 08:24.

Sie liegen beide falsch (vielleicht?) ... ext3 bewältigt das Beste, was es kann, wenn der zugrunde liegende Speicher so abrupt entfernt wird.

Ihre SSD verfügt wahrscheinlich über eine Art integrierten Cache. Sie erwähnen nicht die Marke / das Modell der verwendeten SSD, aber dies klingt wie eine SSD auf Verbraucherebene im Vergleich zu einem Modell für Unternehmen oder Industrie .

In beiden Fällen wird der Cache verwendet, um Schreibvorgänge zusammenzuführen und die Lebensdauer des Laufwerks zu verlängern. Wenn während des Transports Schreibvorgänge ausgeführt werden, ist der plötzliche Stromausfall definitiv die Ursache für Ihre Korruption. Echte SSDs für Unternehmen und Industrie verfügen über Superkondensatoren , die die Leistung lange genug aufrechterhalten, um Daten aus dem Cache in einen nichtflüchtigen Speicher zu verschieben, ähnlich wie batterie- und flashgestützte RAID-Controller-Caches funktionieren .

Wenn Ihr Laufwerk keine Supercap hat, gehen die Transaktionen während des Flugs verloren, daher die Beschädigung des Dateisystems. ext3 wird wahrscheinlich gesagt, dass sich alles in einem stabilen Speicher befindet, aber das ist nur eine Funktion des Caches.

2
psusi 2012-12-06 02:09.

Sie haben Recht und Ihr Mitarbeiter liegt falsch. Wenn nichts schief geht, stellt das Journal sicher, dass Sie niemals inkonsistente fs-Metadaten haben. Sie können überprüfen hdparm, ob der Schreibcache des Laufwerks aktiviert ist. Wenn dies der Fall ist und Sie keine E / A-Barrieren aktiviert haben (standardmäßig deaktiviert für ext3, standardmäßig aktiviert für ext4), ist dies die Ursache des Problems.

Die Barrieren werden benötigt, um zu erzwingen, dass der Schreibcache des Laufwerks zum richtigen Zeitpunkt geleert wird, um die Konsistenz aufrechtzuerhalten. Einige Laufwerke verhalten sich jedoch schlecht und melden entweder, dass ihr Schreibcache deaktiviert ist, wenn dies nicht der Fall ist, oder ignorieren die Löschbefehle stillschweigend. Dies verhindert, dass das Journal seine Arbeit erledigt.

MORE COOL STUFF

Cate Blanchett schlief nach 3 gemeinsamen Tagen mit ihrem Ehemann und ist 25 Jahre später immer noch mit ihm verheiratet

Cate Blanchett schlief nach 3 gemeinsamen Tagen mit ihrem Ehemann und ist 25 Jahre später immer noch mit ihm verheiratet

Cate Blanchett widersetzte sich typischen Dating-Ratschlägen, als sie ihren Ehemann traf.

Warum Michael Sheen ein gemeinnütziger Schauspieler ist

Warum Michael Sheen ein gemeinnütziger Schauspieler ist

Michael Sheen ist ein gemeinnütziger Schauspieler, aber was genau bedeutet das?

Hallmark-Star Colin Egglesfield sorgt für spannende Fan-Begegnungen bei RomaDrama Live! [Exklusiv]

Hallmark-Star Colin Egglesfield sorgt für spannende Fan-Begegnungen bei RomaDrama Live! [Exklusiv]

Hallmark-Star Colin Egglesfield sprach über spannende Fan-Begegnungen bei RomaDrama Live! plus sein INSPIRE-Programm auf der Convention.

Warum Sie „Northern Exposure“ nicht online streamen können

Warum Sie „Northern Exposure“ nicht online streamen können

Sie müssen einen Blu-ray- oder DVD-Player abstauben, um zu sehen, warum Northern Exposure zu einer der beliebtesten Shows der 90er Jahre wurde.

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

Werfen Sie diese Pappröhren nicht weg! 10 Möglichkeiten, sie wiederzuverwenden

Werfen Sie diese Pappröhren nicht weg! 10 Möglichkeiten, sie wiederzuverwenden

Werfen Sie Ihr Papierhandtuch, Toilettenpapier und Geschenkpapierrollen nicht in den Müll. Geben Sie ihnen stattdessen mit einem dieser 10 Hacks ein zweites Leben.

Schlafen Fische?

Schlafen Fische?

Es ist schwer vorstellbar, dass Nemo im Great Barrier Reef ein paar Zs fängt. Aber Fische brauchen Ruhe. Schlafen sie so wie wir?

Spenden Sie Ihr Haar, um unser Wasser sauber zu halten

Spenden Sie Ihr Haar, um unser Wasser sauber zu halten

Haarteile aus Salons und persönliche Spenden können als Matten wiederverwendet werden, die Ölverschmutzungen aufsaugen und zum Schutz der Umwelt beitragen.

Alles, was Sie über das Driften in Mario Kart 8 Deluxe nicht wussten

Alles, was Sie über das Driften in Mario Kart 8 Deluxe nicht wussten

Jedes Mal, wenn Sie in Mario Kart einen Drift ausführen, laden Sie einen Geschwindigkeitsschub auf, der beim Verlassen des Drifts ausgelöst wird. Aber es passiert noch viel mehr unter der Haube, wenn es um diesen Geschwindigkeitsschub geht: wie schnell er aufgeladen wird, wie lange er dauert und ob er sich tatsächlich um Sekunden Ihrer letzten Zeit rasiert oder nicht.

Gerichtsbestimmungen Die FCC muss Aufzeichnungen veröffentlichen, die betrügerische Kommentare zur Netzneutralität erklären könnten

Gerichtsbestimmungen Die FCC muss Aufzeichnungen veröffentlichen, die betrügerische Kommentare zur Netzneutralität erklären könnten

FCC-Vorsitzender Ajit Pai. Ein Bundesrichter entschied letzte Woche, dass die von den Republikanern kontrollierte Federal Communications Commission (derzeit unter Vorsitz von Donald Trump-Beauftragten Ajit Pai) Aufzeichnungen über Millionen betrügerischer öffentlicher Kommentare veröffentlichen muss, bevor die Agentur im vergangenen Jahr die Richtlinien zur Netzneutralität aufhob, berichtete Ars Technica.

Schlafen Sie nicht auf Heathcliff, der anderen orangefarbenen Katze im Internet

Schlafen Sie nicht auf Heathcliff, der anderen orangefarbenen Katze im Internet

Garfield, die lasagne-liebende Comic-Katze, die Montags hasst, ist im Zeitalter des Internets merkwürdig relevant geblieben. Die existenzielle Verzweiflung des Ablegers Garfield Without Garfield oder vielleicht die seltsame Flut ernsthafter Nachforschungen über die Feinheiten von Garfields Existenz.

Jimmy Jackson aus Waterbury, Conn., "Das auch packen" und Clapback-fähig zu sein, ist das schwärzeste, was ich je in dieser Woche gesehen habe

Jimmy Jackson aus Waterbury, Conn., "Das auch packen" und Clapback-fähig zu sein, ist das schwärzeste, was ich je in dieser Woche gesehen habe

WTNH-TV-Screenshot Haben Sie jemals mit dem Teufel im blassen Mondlicht getanzt? Wahrscheinlich nicht. Und du wolltest es wahrscheinlich nie.

Tudor Dixon gewinnt Michigan GOP Primary und trifft nun auf die amtierende Demokratin Gretchen Whitmer

Tudor Dixon gewinnt Michigan GOP Primary und trifft nun auf die amtierende Demokratin Gretchen Whitmer

Tudor Dixon hat am Dienstag die Vorwahlen von Michigan zum Gouverneur gewonnen, nachdem er eine späte Bestätigung des ehemaligen Präsidenten Donald Trump erhalten hatte

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!

Kate Middleton verbringt einen Tag am Wasser in London, plus Jennifer Lopez, Julianne Hough und mehr

Kate Middleton verbringt einen Tag am Wasser in London, plus Jennifer Lopez, Julianne Hough und mehr

Kate Middleton verbringt einen Tag am Wasser in London, plus Jennifer Lopez, Julianne Hough und mehr. Von Hollywood bis New York und überall dazwischen, sehen Sie, was Ihre Lieblingsstars vorhaben!

17-Jähriger erstochen, während 4 weitere bei einem Messerangriff am Wisconsin River verwundet wurden

17-Jähriger erstochen, während 4 weitere bei einem Messerangriff am Wisconsin River verwundet wurden

Die Ermittler prüfen, ob sich die Gruppe und der Verdächtige vor dem Angriff kannten

Wie ich schreibe

Wie ich schreibe

Für mich dreht sich alles um diese erste Linie und wohin sie dich führt. Einige Autoren werden von der Handlung, der feinen Anordnung von Schachfiguren, angetrieben, während andere von einer Figur und der Fähigkeit, mit einem neuen fiktiven Freund auf eine Reise zu gehen, angezogen werden.

Start- und Landebahnen

Start- und Landebahnen

Spätsommer und Herbst sind nostalgische Jahreszeiten. Straßenlaternen werfen ihr Licht über regennasse Straßen, und die Blätter unter den Füßen – gedämpft rot-orange im Schatten der Dämmerung – erinnern an vergangene Tage.

Stellen Sie sich vor, Sie erstellen eine Inhaltsstrategie, die tatsächlich KONVERTIERT. Es ist möglich.

Stellen Sie sich vor, Sie erstellen eine Inhaltsstrategie, die tatsächlich KONVERTIERT. Es ist möglich.

Im Jahr 2021 ermutige ich Sie, alles zu überdenken, was Sie über die Kunden, die Sie bedienen, und die Geschichten, die Sie ihnen erzählen, wissen. Zurücktreten.

Ein Mammutverlust öffnete mein Herz für die Liebe

Ein Mammutverlust öffnete mein Herz für die Liebe

Am Tag des 9. Geburtstags von Felix The Cat erinnere ich mich an einen der größten Verluste meines Erwachsenenlebens – meine Sophie im Jahr 2013. Ich habe diesen Essay geschrieben und ihn kurz im Jahr 2013 auf dieser Plattform geteilt.

Language