Btrfs-progs nicht aktuell

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Btrfs-progs nicht aktuell

Beitrag von scientific » 15.05.2017 17:57:53

Ich hab das erste Mal mit btrfs wirklich gröbere Probleme.
Hab gestern quota aktiviert und danach wurde das system unbedienbar langsam. So langsam, dass sogar logins in ein timeout gelaufen sind.

Zusätzlich friert der Kernel ein (vom hang bis zur kernel-panic), wenn ich versuche quota wieder zu deaktivieren. Bei schreibvorgängen friert der kernel auch regelmässig ein.

Wenn scrub durchlãuft, dann fehlerfrei. Balance ebenso.

Ich habe sehr viele subvolumes/snapshots.

Dann bemerkte ich, dass die btrfs-progs auf 4.7 waren. Als kernel hab ich 4.9, 4.10 und 4.11 getestet.
Die btrfs-progs hab ich aus sid auf v4. 9 nachgezogen.

Mittlerweile habe ich drastisch alte snapshots reduziert. Immer noch das gleiche.

Dann las ich, dass die btrfs-progs in v4. 9 grobe Probleme mit quota haben...

Wie krieg ich nun die aktuellen auf meinen Rechner?

Lg scientific
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

Benutzeravatar
smutbert
Moderator
Beiträge: 8317
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Btrfs-progs nicht aktuell

Beitrag von smutbert » 15.05.2017 18:13:02

Bei anderen Paketen hab ich in solchen Situationen schon das /debian-Verzeichnis des neuesten Quellcodepakets aus sid oder experimental in die aktuellen (upstream-)Quellen verpflanzt, einen debian-Changelog-Eintrag erstellt und dann versucht das Paket zu bauen - gelegentlich, wenn nicht sogar meistens hat das funktioniert.
Wenn du ein PPA für Ubuntu findest, das eine aktuelle Version anbietet, könntest du auch dessen Quellpaket herunterladen und unter Debian bauen, so hab ich mir zB gimp 2.9 für stretch gebaut.

In debian selbst wird wohl erst nach der Freigabe von stretch etwas neueres eintrudeln.

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: Btrfs-progs nicht aktuell

Beitrag von scientific » 16.05.2017 14:28:44

Ich hab jetzt mal die btrfs-progs lt. Anleitung im btrfs-wiki auf kernel.org gebaut.
Das Problem besteht auch in Version 4.10.2 weiterhin. Quota kann nicht deaktiviert werden.

Nach großzügigem Löschen alter Snapshots scheint btrfs wieder flott zu funktionieren...

Muss wohl die Vorhaltestrategie der Snapshots ändern... Oder Quota von anfang an aktivieren... (wenn es jetzt nicht mehr schlechter wird)

Lg und danke für den Tipp.
scientific
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: Btrfs-progs nicht aktuell

Beitrag von scientific » 17.05.2017 23:55:54

So...

Dieses Quota bei BTRFS hat nun soweit geführt, dass die Maschine nicht mehr bootbar war.
Ich habe einen selbsterstellten Debian-Live-Stick. Der versuchte die lokale Festplatte gleich einzubinden und da hängte sich der Kernel ebenfalls gleich auf und ich konnte vom Live-System auch nicht starten. Auf dem Live-System wäre aber mein Backupskript zum Rückspielen der Datensicherung gewesen...

Dann versuchte ich das Rettungssystem des Installers. Dort konnte ich wiederum das Netzwerk aufgrund fehlender Firmware nicht in betrieb nehmen (hier momentan ausschließlich wlan verfügbar).
Habe mir aber sicherheitshalber eine LIVE-DVD vom Linux-Magazin vom letzten Dezember mitgenommen...

RescueCD startete. Ich hab die Systemplatte platt gemacht und neu formatiert. Aber ich konnte auf der neuen btrfs-Partition keine Subvolumes erstellen. Irgend ein ioctl-Fehler...
Damit konnte ich auch das Backup nicht zurückspielen.

ElementaryOS blieb beim Booten beim Splash-Screen hängen.

Ubuntu startete nur im VESA-Modus...
Damit klappte aber endlich die Erstellung von Subvolumes.

Ich habe dann versuch mein Debian-Paket zu installieren. Jedoch passen die Paketbezeichnungen von Ubuntu nicht gut zu Debian. Ich bin erst später draufgekommen, dass ich Universe hätte aktivieren müssen... Also die eine Lib und zwei Skripte manuell aus der Datensicherung rüberkopiert, das Skript kurzt angepasst, damit die fehlenden, nicht essentiellen Python-Pakete nicht geladen werden und keine Fehlermeldungen produzieren, und dann die interne und externe Platte an die richtigen Stellen gemountet und mit:

Code: Alles auswählen

mkbackup-btrfs transfer @debian-testing.$TIMESTAMP __ALWAYSCURRENT__.$TIMESTAMP
auf die interne Platte geschrieben.
Danach die beiden zurückgeschriebenen Subvolumes auf @debian-testing und __ALWAYSCURRENT__ umbenannt

$TIMESTAMP steht für den Timestamp der letzten Datensicherung auf der Platte

in der Rückgespielten Sicherung musste ich noch in der /etc/fstab die UUID an die neue anpassen, da mit BTRFS das Ändern der UUID des Filesystems offenbar nicht vorgesehen ist.

Ein wenig Kopfzerbrechen bereitete mir dann, dass beim Booten der Kernel und initiramfs nicht gefunden wurden.
Aber dann erinnerte ich mich, dass /boot/refind_linux.conf ja die Bootparameter beinhaltet (ich hab kein Grub, ich Boote den Kernel direkt mittels EFI-Stub) und dort ebenfalls die UUID für die Partition/BTRFS-Filesystem der Bootpartition angepasst werden muss.

Nochmals mit dem Livestick gebootet (mit funktionierender Partition startete der auch gleich wieder) und die UUID dort angepasst.
Reboot... Voila, System wieder hergestellt. Auf den Zustand vom Vorabend, kurz bevor das Filesystem meier gegangen ist.

Wenn mein Livestick mitgespielt hätte, wäre die Arbeit (abgesehen von der Wartezeit bis die 300GB rübergeschrieben waren) auf ~10 Minuten beschränkt gewesen.

So stell ich mir ein Systemrestore vor. Sogar die zuletzt in Firefox geöffneten Tabs hat mir die Tab-Wiederherstellung vorgeschlagen. Genau jene Tabs, die ich beim endgültigen Crash offen hatte... :)

Jetzt muss ich nur noch herausfinden, warum der Livestick nicht booten wollte. Es kamen Kernelmeldungen, dass btrfs von /dev/sda3 beschädigt ist und nicht gelesen werden kann. Und das führte zum Systemfreeze... Kann man bei den Liveboot-Optionen irgendwie angeben, dass die lokale Platte nicht schon beim Boot gemountet werden soll?

Und warum funktionierte die LIVE-DVD?

lg scientific
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

Antworten