ZFS: i/o error - all block copies unavailable

testit

Well-Known Member
Guten Morgen,

ich habe leider seit heute morgen ein Problem mit einem Rootserver.
Der Server war noch anpingbar, aber sowohl Mailserver als auch Webserver waren nicht mehr erreichbar.
Über die Robotkonsole beim Provider habe ich dann autom. und manuelle Resets beauftragt, mit dem Ergebnis, dass nun der Server nicht mal mehr anpingbar ist. Mit der LARA-Konsole ergibt sich folgendes Bild:

boot:
Booting from local disk ...
PXE-M0F: Exiting PXE ROM

ZFS: i/o error - all block copies unavailable
ZFS: can´t read MOS object directory
Can´t find root filesystem - giving up
ZFS: unexpected object set type 0
ZFS: unexpected object set type 0

FreeBSD/x86 boot
Default: tank:/boot/kernel/kernel
boot:
ZFS: unexpected object set type 0

FreeBSD/x86 boot
Default: tank:/boot/kernel/kernel
boot:


Wenngleich ich mich recht gut mit Anwendungen (Webserver, Mailserver usw.) etc. unter FreeBSD auskenne,
trifft das in Bezug auf ZFS und Probleme damit leider nicht zu. Ich weiß folglich nicht, ob und wie ich mit LARA das Problem ggf. lösen kann.

Neben der Bitte um Tipps, wie ich ggf. weiterverahren kann, um eine Reparatur zu versuchen, meine Frage, ob es hier jd. gibt, der sich mit ZFS, zpool-Anweisungen usw. gut auskennt und bereit wäre, gegen eine Aufwandsentschädigung bei der Problemlösung mit LARA zu helfen?

Herzlichen Dank und viele Grüße
testit
 
Hallo, lade doch mal eine Live CD von zb Freebsd/PCBSD ipadresse configurieren ssh aktivieren per SSH auf das System und in der Console zpool import mal schauen was noch vorhanden ist.

Grüsse

Jörg

PS: Prüfe bitte ob irgend welche HDs ausgefallen sind.
 
Hast du vllt. den Pool auf das neuste on-disk Format gebracht ohne die Bootblocks neu zu schreiben?
 
Wie viele Platten sind denn da drin? Wie sind die Platten in das ZFS eingebunden?
Könnte evtl auch eine defekte Platte oder ein defektes ZFS sein.
Defekte Platte könnte man je nach ZFS-RAID austauschen oder rausbauen und "degeneriert" fahren. Defektes ZFS riecht dann schon fast nach Backup einspielen (wobei ein ZFS eigenlich recht stabil ist solange keine äußeren Einwirkungen da sind.)
Ist evtl eine Platte übergelaufen? Wobei ich keine Ahnung hab ob das dann zu so einem Verhalten kommen könnte... Bin kein ZFS-Profi.
Ich gehe mal nicht davon aus, dass ZFS seine eigenen Meta-Daten überschreibt wenn es vollläuft, oder?!
 
Hallo,

ich kann leider erst jetzt anworten: Es sind zwein Platten drin und ich könnte mir vorstellen, dass die übergelaufen sind.
Dies dürfte dann aber ganz sicherlich nicht mit bewusst gespeicherten Daten zusammenhängen, sondern einen anderen Grund haben. Ich hatte vor einigen Monaten mal ein ähnliches Problem, kam damals aber noch mit ssh rein und konnte mittels df-Befehl sehen, dass die Platte voll war. Kurze Zeit später war auf einmal wieder der zu erwartende Platz frei. Eine Erklärung dafür fand ich nicht.

Viele Grüße
testit
 
Sprich in der letzten zeit (gestern oder heute) gab's keine Updates oder sonstige Aktionen?
 
Der Bootblock koennte evtl. schon eine ganze Weile im argen gewesen sein...jetzt koennte eine der beiden Platten ausgefallen sein...und die verbleibende Platte hat eben keinen korrekten Bootblock mehr?
Wenn du von einer externen CD/ISO bootest (FreeBSD 10.1 wuerde ich versuchen) und erstmal:

- erstmal den physikalischen Zustand beider Platten ueberpruefst (werden Sie erkannt beim booten; was sagt SMART-Diagnose "smartctl -a /dev/daX" zu beiden Platten)
- schaust ob ein ZFS Pool erkannt und importiert werden kann ("zfs import" um zu sehen ob was da ist, dann ein "zfs import -f -r /mnt/alt yourpool") (mount nach "/mnt/alt" um zu sehen ob du noch Zugriff auf die Daten kriegst))

Btw: Welche FreeBSD Version ist auf dem Server? (oder hab ichs ueberlesen?)
 
Guten Morgen,

@cla:
Du liegst mit allen Annahmen und Hinweisen, die ich erst heute morgen mitbekommen habe, richtig. Gestern abend hat mir noch ein hilfreicher Geist (vielen Dank nochmals!!!) geholfen, das Problem zu lösen, nachdem die Techniker beim Provider die Platten getestet und jene sich als in Ordnung erwiesen hatten. Über das Rescuesystem wurde der ZFS-Pool (tabk) importiert, Zugriff auf die Daten funktionierte. Anschließend wurden die Bootsektoren mittels gpart neu geschrieben (gpart bootcode -b /mnt/boot/pmbr -p /mnt/boot/gptzfsboot -i 1 ada1 und gpart bootcode -b /mnt/boot/pmbr -p /mnt/boot/gptzfsboot -i 1 ada0). Danach funktionierte das Booten wiieder. Allerdings ist natürlich die Ursache bislang unklar.

Viele Grüße und nochmals Danke für Eure Hinweise!
testit
 
Da ich mich noch nie mit zpool beschäftigt habe: Zumindest ist mir nicht bewusst, jemals zpool upgrade gemacht zu haben.
Den Glückwunsch reiche ich an den hilfreichen Geist weiter bzw. bekommt jener diesen hier sicherlich mit ;-)

Vielel Grüße
testit
 
OpenZFS bezeichnet sich selbst als ZFS Version 5000 (der Bruch mit Oracle kam nach ZFS Version 28). Die neuen OpenZFS Features werden über Flags pro Feature geregelt. Jedes Feature beschreibt sich selbst (kann das Pool noch gelesen bzw. geschrieben ohne Support für eben jenes Feature). Einige der Features, die nur solange sie aktiv sind ihr Flag setzen, können eine böse Überraschung werden für unvorsichtige User. Ich bevorzuge es jedoch, wenn der Pool alte Versionen nur aussperrt solange es wirklich nötig ist anstatt alte Versionen immer auszusperren.
 
Zurück
Oben