• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Leap 42.1 frisst den Plattenspeicher auf

pp91

Hacker
Hallo,

ich habe etwa Anfang des Jahres Leap 42.1 installiert. Vor wenigen Tagen war die Systempartition (20 GB) voll, so dass fast gar nichts mehr ging (nur noch Konsole und auch da nicht alles). Weil ich mit dem Versuch, in der Partition Platz zu schaffen, scheiterte, musste ich das System neu installieren. Das war selbstverständlich mein Fehler, aber ich überwache inzwischen den Plattenplatzverbrauch (mittels Befehl df).

Ein Beispiel: Mit zypper lu stelle ich fest, das Aktualisierungen anstehen, diesmal für k3b. Nach zypper update ist der belegte Platz in der Systempartition um etwa 73 MB gestiegen. Danach war ich kurze Zeit im Garten und habe nach der Rückkehr an meinen Rechner nochmals df aufgerufen. Inzwischen waren weitere 103 MB belegt. Was kann das gewesen sein? Außer Dolphin, Firefox und Konsole hatte ich nichts gestartet gehabt. Während ich zu diesem Thema schreibe, wurden weitere 316 KB verbraucht.

Die Aktualisierung von k3b ist kein Einzelfall. Am Tag zuvor hatte die Aktualiserung von yast2 und einer lib mit 134 MB zu Buche geschlagen.

Gruß, Peter
 

tomm.fa

Administrator
Teammitglied
Bei diesen Informationen nur geraten, aber eventuell hilft es ja trotzdem, informiere dich über BTRFS und besonders dessen Schnappschussfunktion (Snapshots).

Ansonsten könntest du mal ein wenig genauer werden und eventuell mit der Ausgabe von
Code:
df -hT
hier einen Ansatz an brauchbaren Informationen zur Verfügung stellen.
 

Sauerland

Ultimate Guru
Wenn btrfs:
20GB ist eigentlich bei btrfs zu wenig..........
Benutze snapper:
Alle Schnappschüsse anzeigen lassen
Code:
snapper list
Schnappschuss löschen
Code:
snapper delete
 
OP
pp91

pp91

Hacker
Danke für eure Antworten. Ich habe mal kurz im Web nach bftrs gesehen: Es erinnert mich auf den ersten Blick fatal an das Gedöns, was Windows immer mit Dateien und Festplatten angestellt hat. Ich hoffe, dass der erste Eindruck trügt. Noch mal ein Schlaglicht auf mein Problem: Seit dem Schreiben des Beitrags habe ich (ohne Rechner) auf der Terrasse gesessen, dann komme ich zurück, rufe df auf: + 584 KB, sofort noch einmal aufgerufen: noch einmal + 1,8 MB. Inzwischen noch einmal + 12 MB!

Nun zu den gewünschten Informationen:
Code:
linux-vgjl:~ # snapper list
Type   | #  | Pre # | Date                     | User | Cleanup | Description                | Userdata     
-------+----+-------+--------------------------+------+---------+----------------------------+--------------
single | 0  |       |                          | root |         | current                    |              
single | 1  |       | Thu Mar 31 21:49:30 2016 | root |         | first root filesystem      |              
single | 2  |       | Thu Mar 31 22:59:27 2016 | root | number  | after installation         | important=yes
pre    | 15 |       | Fri Apr  1 01:35:04 2016 | root | number  | yast OneClickInstallWorker |              
pre    | 16 |       | Fri Apr  1 01:35:46 2016 | root | number  | zypp(y2base)               | important=no 
post   | 17 | 16    | Fri Apr  1 01:38:47 2016 | root | number  |                            | important=no 
post   | 18 | 15    | Fri Apr  1 01:38:49 2016 | root | number  |                            |              
pre    | 19 |       | Fri Apr  1 10:37:51 2016 | root | number  | zypp(zypper)               | important=no 
post   | 20 | 19    | Fri Apr  1 10:38:48 2016 | root | number  |                            | important=no 
pre    | 21 |       | Fri Apr  1 10:50:20 2016 | root | number  | zypp(zypper)               | important=no 
post   | 22 | 21    | Fri Apr  1 10:51:23 2016 | root | number  |                            | important=no 
pre    | 23 |       | Sat Apr  2 19:08:19 2016 | root | number  | zypp(zypper)               | important=no 
post   | 24 | 23    | Sat Apr  2 19:08:40 2016 | root | number  |                            | important=no 
pre    | 25 |       | Sun Apr  3 00:07:36 2016 | root | number  | zypp(zypper)               | important=no 
post   | 26 | 25    | Sun Apr  3 00:20:08 2016 | root | number  |                            | important=no 
pre    | 27 |       | Sun Apr  3 00:32:20 2016 | root | number  | yast users                 |              
post   | 28 | 27    | Sun Apr  3 00:41:29 2016 | root | number  |                            |              
pre    | 29 |       | Sun Apr  3 12:16:56 2016 | root | number  | zypp(zypper)               | important=no 
post   | 30 | 29    | Sun Apr  3 12:19:22 2016 | root | number  |                            | important=no

Code:
linux-vgjl:~ # df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  3.9G     0  3.9G   0% /dev
tmpfs          tmpfs     3.9G  1.5M  3.9G   1% /dev/shm
tmpfs          tmpfs     3.9G  2.2M  3.9G   1% /run
tmpfs          tmpfs     3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda6      btrfs      21G  8.5G   11G  45% /
/dev/sda6      btrfs      21G  8.5G   11G  45% /.snapshots
/dev/sda6      btrfs      21G  8.5G   11G  45% /var/tmp
/dev/sda6      btrfs      21G  8.5G   11G  45% /tmp
/dev/sda6      btrfs      21G  8.5G   11G  45% /usr/local
/dev/sda6      btrfs      21G  8.5G   11G  45% /var/spool
/dev/sda6      btrfs      21G  8.5G   11G  45% /srv
/dev/sda6      btrfs      21G  8.5G   11G  45% /var/opt
/dev/sda6      btrfs      21G  8.5G   11G  45% /var/crash
/dev/sda6      btrfs      21G  8.5G   11G  45% /opt
/dev/sda6      btrfs      21G  8.5G   11G  45% /var/lib/pgsql
/dev/sda6      btrfs      21G  8.5G   11G  45% /boot/grub2/x86_64-efi
/dev/sda6      btrfs      21G  8.5G   11G  45% /var/lib/named
/dev/sda6      btrfs      21G  8.5G   11G  45% /var/lib/mysql
/dev/sda6      btrfs      21G  8.5G   11G  45% /var/lib/mailman
/dev/sda6      btrfs      21G  8.5G   11G  45% /var/lib/mariadb
/dev/sda6      btrfs      21G  8.5G   11G  45% /var/lib/libvirt/images
/dev/sda6      btrfs      21G  8.5G   11G  45% /var/log
/dev/sda6      btrfs      21G  8.5G   11G  45% /boot/grub2/i386-pc
/dev/sda7      ext4      364G  248G  115G  69% /home

Wenn ich df alleine aufrufe, sehe ich die Belegung in 1K-Blöcken:
Code:
linux-vgjl:~ # df
Filesystem     1K-blocks      Used Available Use% Mounted on
devtmpfs         4021744         0   4021744   0% /dev
tmpfs            4029696      1516   4028180   1% /dev/shm
tmpfs            4029696      2228   4027468   1% /run
tmpfs            4029696         0   4029696   0% /sys/fs/cgroup
/dev/sda6       20979712   8820388  11170332  45% /
/dev/sda6       20979712   8820388  11170332  45% /.snapshots
/dev/sda6       20979712   8820388  11170332  45% /var/tmp
/dev/sda6       20979712   8820388  11170332  45% /tmp
/dev/sda6       20979712   8820388  11170332  45% /usr/local
/dev/sda6       20979712   8820388  11170332  45% /var/spool
/dev/sda6       20979712   8820388  11170332  45% /srv
/dev/sda6       20979712   8820388  11170332  45% /var/opt
/dev/sda6       20979712   8820388  11170332  45% /var/crash
/dev/sda6       20979712   8820388  11170332  45% /opt
/dev/sda6       20979712   8820388  11170332  45% /var/lib/pgsql
/dev/sda6       20979712   8820388  11170332  45% /boot/grub2/x86_64-efi
/dev/sda6       20979712   8820388  11170332  45% /var/lib/named
/dev/sda6       20979712   8820388  11170332  45% /var/lib/mysql
/dev/sda6       20979712   8820388  11170332  45% /var/lib/mailman
/dev/sda6       20979712   8820388  11170332  45% /var/lib/mariadb
/dev/sda6       20979712   8820388  11170332  45% /var/lib/libvirt/images
/dev/sda6       20979712   8820388  11170332  45% /var/log
/dev/sda6       20979712   8820388  11170332  45% /boot/grub2/i386-pc
/dev/sda7      381468908 259765976 120523500  69% /home

Platz ist ja noch auf der Festplatte. Folgende Fragen habe ich:
Kann ich die Systempartition vergrößern und wie geht das am einfachsten?
Wie groß sollte sie sein?
Ist es garantiert, dass die Belegung nicht über alle Grenzen wächst?
Kann ich gefahrlos unnütz(geworden)e Dateien von der Systempartition löschen? Welche?
 

Sauerland

Ultimate Guru
Zum Thema Schnappschüsse:
http://www.nrtm.org/index.php/2012/03/13/the-joys-of-btrfs-and-opensuse-or-no-space-left-on-device/
 

Bequimão

Member
pp91 schrieb:
Danke für eure Antworten. Ich habe mal kurz im Web nach bftrs gesehen: Es erinnert mich auf den ersten Blick fatal an das Gedöns, was Windows immer mit Dateien und Festplatten angestellt hat. Ich hoffe, dass der erste Eindruck trügt. Noch mal ein Schlaglicht auf mein Problem: Seit dem Schreiben des Beitrags habe ich (ohne Rechner) auf der Terrasse gesessen, dann komme ich zurück, rufe df auf: + 584 KB, sofort noch einmal aufgerufen: noch einmal + 1,8 MB. Inzwischen noch einmal + 12 MB!

...
Platz ist ja noch auf der Festplatte. Folgende Fragen habe ich:
Kann ich die Systempartition vergrößern und wie geht das am einfachsten?
Wie groß sollte sie sein?
Ist es garantiert, dass die Belegung nicht über alle Grenzen wächst?
Kann ich gefahrlos unnütz(geworden)e Dateien von der Systempartition löschen? Welche?

Hallo,

df ist bei btrfs nicht das Mittel der Wahl. Poste mal bitte die Ausgabe von

Code:
# btrfs filesystem df /

Speicherplatz anhängen kannst du mit

Code:
# btrfs device add /dev/sdax /

wobei /dev/sdax eine beliebige unformatierte Partition ist (am besten größer 10 GB). Die wird dann gemountet und formatiert. Danach ein

Code:
# btrfs balance start /

um die Daten auf die Partitionen zu verteilen. Das geht alles online.

Viel Erfolg
Bequimão
 
OP
pp91

pp91

Hacker
Ich hoffe doch, dass df die tatsächliche Belegung der Systempartition anzeigt, und diese Belegung wächst unaufhörlich, es sind schon wieder 10 MB mehr.
Code:
linux-vgjl:~ # btrfs filesystem df /
Data, single: total=8.01GiB, used=7.30GiB
System, DUP: total=32.00MiB, used=16.00KiB
Metadata, DUP: total=1.00GiB, used=488.05MiB
GlobalReserve, single: total=176.00MiB, used=0.00B
 

gehrke

Administrator
Teammitglied
pp91 schrieb:
Ich habe mal kurz im Web nach bftrs gesehen: Es erinnert mich auf den ersten Blick fatal an das Gedöns, was Windows immer mit Dateien und Festplatten angestellt hat.
Ich vermute stark, dass die 'Wiederherstellungspunkte' von Windows tatsächlich hier als Vorbild gedient haben. Der Gedanke, vor Änderungen an der Systemkonfiguration mal schnell automatisiert einen Snapshot zu erzeugen, um im Problemfall einfach auf den vorigen Stand zurück zu kommen, ist IMHO ganz grundsätzlich auch gar nicht verkehrt.

Wenn dafür ausreichend Speicherkapazität zur Verfügung steht und das Wachstum effektiv kontrolliert wird, kann das für einige User durchaus sehr vorteilhaft sein.

Ich persönlich brauche das derzeit nicht und verwende stockkonservativ ext4 in Verbindung mit kontinuierlichem Backup.

Das ist Linux - Du hast die Wahl...
 

Bequimão

Member
Interessant ist, daß bei 20 GiB Größe nur 8 GiB effektiv zur Verfügung stehen. Ähnlich sieht es bei mir auch aus, außer daß ich bisher keine Performanceprobleme festgestellt habe. Ob der Speicherbedarf um 12 MB zunimmt, sollte doch Banane sein. Wir reden hier von Gigabytes.

Wichtig ist, ob das System nach der Operation und Neustart noch bootet. Ich gehe davon aus, daß grub dafür sorgt, daß die Binärdateien, die an den Blockgrenzen ausgerichtet und zusammenhängend (aligned and contiguos) sein müssen, auch so bleiben.

Vorbild für btrfs ist das zfs von Oracle. Das gilt als stabil, ist aber im Linux-Kernel nicht aktiv wegen Lizenzproblemen.

Einen schönen Abend
Bequimão
 

revealed

Guru
Hallo.

Das ist vielleicht jetz n bissl ideologisch ausgedrückt. Schau dir mal die snapper config mit einem Editor an. Dann mach df -h und nimm das mal 10. Und schaue obs noch in 20 GiB reinpasst.

Denke du wirst deine config runtertunen wollen. So auf ein bis zwei oder max. 3 Schnappschüsse jeder Sorte.

Gruß,

R
 
OP
pp91

pp91

Hacker
Ich habe alle Schnappschüsse von Freitag bis Sonntag gelöscht und damit 1,1 GB freigemacht. Zukünftig werde ich nicht mehr wie bisher alle Aktualisierungen sofort einspielen (war der Geschwindigkeit des Herunterladens von 1 MBit/sec geschuldet, ist aber inzwischen besser), sondern vielleicht 1-mal im Monat. Ich hoffe nur, dass die Schnappschüsse die einzige Ursache für den Plattenfresser waren.

Noch mal Dank an alle!
 

revealed

Guru
Weiss nich ob das was für dich ist:

http://linux-club.de/wiki/opensuse/Tipp:_systemd-tmpfiles

http://linux-club.de/wiki/opensuse/Systemd#Speicherplatzbelegung

Ich geh grad noch n bissl weiter und bereinige forciv crashdumps von kdump (kernel crash informationen) und das coredump verzeichnis (crashdumps von allen anderen anwendungen).
Dazu habe ich im Pfad:
Eine eigene config angelegt:
revealed_tmp.conf
Inhalt:
Code:
# Manual setting for coredumps: (From yesterday is enough for me).
d /var/lib/systemd/coredump 0755 root root 1d

# Manual settings for kdump stuffs:
d /var/crash 0755 root root 1d
Manchmal crasht irgendwas jeden Tag. Morgen gibt es ein update und dann geht es wieder. Warum brauch ich das Zeug von vor 3 Wochen noch und so ein Speicherauszug kann je nach dem ziemlich dick sein!? Besonders bei Tumbleweed oder wenn man auch mal gern git versionen oder betas oder unstables testet, finde ich meine Einstellung besonders sinnvoll.

Ok kdump hab ich eigentlich eh schon auf 3 limitiert. Aber nochmal: brauch ich das morgen noch? Kann es doch dann eh meist reproduzieren.

Und ohne schmarn:
Schau dir mal diese Datei an:
Code:
/etc/snapper/configs/root
Schraub das runter. Es ist nicht so gedacht, dass du ständig händisch aufräumen sollst. Das sind vorgaben für Systeme mit einer ganz anderen Größen Relation. Die Standard Konfiguration macht in meinen Augen für den Hausgebrauch keinen Sinn.

Idealerweise musst du, wenn du es optimal eingestellt hast, deswegen dann keinen Finger mehr rühren.

Außerdem ist für dich mit sehr hoher Wahrscheinlichkeit dieses aktuell laufende Thema super interessant:
http://linux-club.de/forum/viewtopic.php?f=90&t=121090
Da geht es unter anderem darum was pre post und single ist.

Gruß,

R
 
OP
pp91

pp91

Hacker
Hallo Leute,

ich weiß, dass ihr nicht der richtige Adressat für das folgende seid, aber ich muss es unbedingt loswerden. Die Sache mit den Schnappschüssen des Systemzustands zusammen mit den einfachen Befehlen (snapper) und der Möglichkeit, selbst Verfahren festzulegen, ist eine feine und tolle Sache: für Linux-Freaks. Für gewöhnliche Desktop-Benutzer ist es bescheuert. Wenn es einen separaten Plattenplatz für die Schnappschüsse gäbe, in welchem beim Vollwerden automatisch die ältesten gelöscht würden, und dies die Voreinstellung wäre, könnte man darüber reden, aber so ist es einfach noch ein Grund mehr, keinem den Umstieg auf Linux zu empfehlen (zumindest was openSUSE angeht).

Gruß, Peter
 

gehrke

Administrator
Teammitglied
pp91 schrieb:
aber so ist es einfach noch ein Grund mehr, keinem den Umstieg auf Linux zu empfehlen (zumindest was openSUSE angeht).
Das sehe ich an dieser Stelle anders. Im Gegensatz zu anderen 'System-Verbesserungen' der letzten Jahre ist dieses Feature wunderbar leicht zu umgehen. Wer es nicht möchte, wählt bei der Installation einfach ein anderes Dateisystem.
 

revealed

Guru
Ich stimme insoweit zu, dass ich der Meinung bin:
"Snapper und btrfs sind selbst für erfahrene Linux Benutzer oft nicht einfach genug."

Andererseits ist alles ausreichend dokumentiert. Und die Konfiguration mal kurz durch schauen und ein paar Limits festlegen sollte machbar sein.

Fängt ja auch schon da an: "20 GiB" für "/" ? Wäre mir viel zu wenig. Was ich da alles drauf hab? Tjo, is halt so. (Will nich angreifen mit dem kommentar).

Aber allein die Überlegung dass er dann 50 solche Snapshots macht, dann immer 10 pre und post usw. und dann nochmal andere. Wenn ich mit der Normalbelegung ohne Snapper schon bei 15 GiB ankomme.

In der Rechnung stimmt was nicht. Da passen keine 50 so Dinger mehr hin und das ist längst nicht alles.

Also die Grundkonfiguration passt einfach nicht zu "120 Gib SSD's" wo man dann auch noch nur 20 GiB davon für "/" hernimmt.

Wäre eigentlich cool wenn der Partitionierer die config für snapper gleich entsprechend der größe des wurzelverzeichnisses so anpasst, dass es nicht vollaufen kann. Und zwar on the fly. Und oder im YaST2 so nen einfachen Schiebregler: 1% --> 100%; Mit anzeige wieviel platz dann tatsächlich noch frei ist. Und wenn du übernehmen drückst speichert es die Config. Das wär nice.

Jaja einfach (sorry). Freilig ist das nicht einfach. Ich hab schon Schwierigkeiten mit der Configdatei und der Doku.

Gruß,

R
 
OP
pp91

pp91

Hacker
Also da muss ich nochmal nachlegen. Mein voriges openSUSE war 13.1. Ich wollte mal wieder ein neueres System und staunte nicht schlecht, dass die Versionsnummer schon bei 42.1 war. Ich habe mir davon eine DVD gebrannt und ganz normal installiert. Von Filesystemen weiß ich nur, dass es sie gibt und dass sie durchaus verschiedene Eigenschaften haben, aber normalerweise weiß ich nicht, welche. Selbstverständlich habe ich die empfohlenen Einstellungen verwendet, also btrfs für die Systempartition. openSUSE bietet beim Installieren an, die alte Systempartition auch für das neue System zu verwenden. Nirgends stand ein Hinweis, dass 20 GB zu klein sein werden, nirgends stand ein Hinweis, dass ich mich um die Verwaltung des Platzes in der Systempartition jetzt selber kümmern müsse, sondern nach einem Vierteljahr macht es bumm und nichts geht mehr. Für einen, der Linux nicht verwendet, um es zu installieren, zu modifizieren und zu optimieren, sondern es einfach nur benutzen will, ist das ein Minuspunkt für die Distribution.
 

Sauerland

Ultimate Guru
Ich weiss nicht, was Du willst, dafür ist ja ein Forum da, um solche Probleme zu lösen.

Das Problem mit den Schnappschüssen ist übrigens schon seit 2 Jahren bekannt.

PS:
Ich habe immer 2 Root Partitionen auf meiner Festplatte, zur Zeit mit openSUSE Leap und 13.2, so ist immer ein Wechsel zu einer laufenden Version möglich, das /home ist für beide gleich und damit sind die Daten immer vorhanden. Mach ich schon seit 10 Jahren so.........
 
A

Anonymous

Gast
Hallo Sauerland,

Ich habe immer 2 Root Partitionen auf meiner Festplatte, zur Zeit mit openSUSE Leap und 13.2, so ist immer ein Wechsel zu einer laufenden Version möglich, das /home ist für beide gleich
Wie bekomme ich das hin? Habe eine 120er SSD mit oS 13.2 und eine HD mit 42.1 Leap; kann auf der SSD etwas zusätzlich installieren? Meinst du mit deinen
2 Root Partitionen
ein Dual-Boot ...?

Würde mich sehr interessieren, dann erspare ich mir das "umstecken" zwischen den Platten (13.2 & 42.1) ;)
 

Sauerland

Ultimate Guru
Dann musst Du aber alles auf der Platte löschen........

Danach aber nicht mehr.

Bei mir ist auch noch dadurch bedingt ext4 im Einsatz.........
 
Oben