/ voll mit 830 GB Daten...
- entertainment
- Beiträge: 12
- Registriert: 28.11.2013 12:00:44
- Wohnort: Wassenach, Rheinland-Pfalz, Deutschland
-
Kontaktdaten:
/ voll mit 830 GB Daten...
Hallo Leute, ich hab hier ein Problem mit meinem Debian 8.6, auf dem ein Webserver läuft. Ab und an kommt es vor, dass die Root-Partition voll ist. MySQL ist dann nicht mehr in der Lage, gestartet zu werden. Lösche ich die Log-Files, was nach Prüfung definitiv keine 830 GB sind, und starte den Server komplett neu, ist wieder alles okay und der MySQL-Server startet ohne zu murren. Kann mir jemand erklären, was da im 24/7-Betrieb passiert, dass der irgendwann behauptet, dass / vollgeschrieben wäre?
Re: / voll mit 830 GB Daten...
Unter Linux kann man Dateien löschen, die noch von einem Programm geöffnet sind, unter Windows geht das nicht. Der Platz, den die geöffnete Datei auf der Platte belegt, wird sinnvollerweise erst dann dem System zurück gegeben, wenn das letzte Programm, das so eine gelöschte Datei noch offen hat, beendet wird oder das Programm die Datei intern (z.B. mit fclose) schließt.
In deinem Fall sieht es wohl so aus, als ob du versuchst, Dateien zu löschen, die noch offen sind. Bei einem Listing der Dateien werden diese gelöschten dann zwar nicht mehr angezeigt, den Platz belegen sie aber immer noch.
lsof zeigt alle geöffneten Dateien an und welches Programm sie offen hält, so daß man weiß, welche Programme man beenden muß.
In deinem Fall sieht es wohl so aus, als ob du versuchst, Dateien zu löschen, die noch offen sind. Bei einem Listing der Dateien werden diese gelöschten dann zwar nicht mehr angezeigt, den Platz belegen sie aber immer noch.
lsof zeigt alle geöffneten Dateien an und welches Programm sie offen hält, so daß man weiß, welche Programme man beenden muß.
Re: / voll mit 830 GB Daten...
Auf Servern nutzt man aus diesem Grund verschiedene Partitionen z.B. für das System, die Anwendung und die Logdaten. Logdaten kann man täglich rotieren lassen bzw. das Logging minimieren. Sind die Daten unnütz kann man gleich alles nach /dev/null schreiben. Da ist unendlich Platz.
Such mal nach großen Dateien. Kann etwas dauern:
Such mal nach großen Dateien. Kann etwas dauern:
Code: Alles auswählen
find / -size +1G
- Lord_Carlos
- Beiträge: 5578
- Registriert: 30.04.2006 17:58:52
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Dänemark
Re: / voll mit 830 GB Daten...
Gibt sicherlich bessere Befehle, aber ganz einfach ist du -sch /*.
Da bekommst du dann so eine Liste:
Dann sieht man da da ganz schoen viel in /usr versteckt ist. Als naechstes macht man dann du -sch /usr/* udn graebt sich so langsam tiefer.
Ist nicht elegant, funktionierte bei mir aber recht gut.
Da bekommst du dann so eine Liste:
Code: Alles auswählen
70M /tmp
34G /usr
335M /var
39G total
Ist nicht elegant, funktionierte bei mir aber recht gut.
Code: Alles auswählen
╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!
Re: / voll mit 830 GB Daten...
Theoretisch hast du recht.uname hat geschrieben:Auf Servern nutzt man aus diesem Grund verschiedene Partitionen z.B. für das System, die Anwendung und die Logdaten.
Blöd ist aber, daß die Defaults für z.B. apache /var/www, für mysql /var/lib/mysql, für cups /var/spool/cups ... sind.
Die Logs laufen nach /var/log, so daß eine eigene /var-Partition wirkungslos bleibt, wenn apache/mysql/cups die /var-Partition vollschreiben.
Ja, ich weiß, wie man das auf andere Verzeichniss/Partitionen umkonfigurieren kann, mache es auch, es ist aber nicht default.
Andereseits ist die Software aus den Debianrepositories eigentlich robust gegen solche Speicherplatzkrallen. Log-Rotate funktioniert auch für laufende Prozesse problemlos, ggfls. wird das betroffene Programm mit einem SIGUSR benachrichtigt, die Logdatei loszulassen oder der Prozeß wird neu gestartet.
Solche Probleme entstehen fast immer durch Fremdquellen, Gameserver und ähnliches.
- whisper
- Beiträge: 3151
- Registriert: 23.09.2002 14:32:21
- Lizenz eigener Beiträge: GNU Free Documentation License
-
Kontaktdaten: