Vor ein paar Monaten meine Kappe zu einem Samba-Server laufen zu teilen Zugang zu einigen DOS-Anwendungen. Wenn ich mit Anwendungen der Technologie der in den 70er und 80er Jahren, wenn es um Web-Services, in dieser Reihenfolge.
Für den normalen Betrieb des Unternehmens, in anderen Worten, ihre elektronisch (Käufe, Verkäufe, Inventar), die Windows-Clients haben Zugriff auf Remote-Einheiten, die Netzwerk-Anwendungen und Daten, die sie verwenden. Um die Nutzung der Anwendungen von den Samba.
Alle von ihnen gut funktioniert, bis ein guter Tag nicht mehr hatten Zugang zum Netz haben. Alles war in Ordnung physisch, aber keiner konnte Arbeitsplatz-Logger in das Netzwerk. Nach der Suche einer Weile sah ich, dass in der Samba-Log von ihnen links ein Fehler aufgetreten ist;
Kein Platz mehr auf dem Gerät
Sehen Sie den Fehler nichts mehr zu tun, eine einfache df-h, und wir werden wissen, was ist die Partition, ist ausgefüllt. Was war merkwürdig, dass der Befehl zeigten, dass alle Partitionen hatte mehr als 50% freien Speicherplatz, dann Speicherplatz auf der Festplatte ist nicht das Problem.
Die mir eine Tour durch google ich festgestellt, dass mit dem ext3-Dateisystem des Problems könnte die Menge des freien Inodes in das System.
Dann laufen df-i für eine kleine überprüfen. Der Befehl zeigte ein völlig anderes Szenario, der Server erreicht hatte seine maximal zulässige Höhe von Inodes in die Partition / var. Heute wissen wir, dass die Probleme sind in dieser Partition wird davon ausgegangen, dass es eine große Anzahl von Dateien in dem Verzeichnis, die essen die Inodes frei.
Um zu überprüfen, wo sind die Dateien, die Ursache des Problems laufen wir find / var-Size-8K. Dieser Befehl zeigt alle Dateien unter 8k innerhalb var.
Wir fanden eine große Menge von nicht-Mails in das Verzeichnis / var / spool / mqueue. Und find / var / spool / mqueue-Size-8k | Toilette - er gibt uns eine überraschende Menge von 325.874 Dateien.
Zu können, löschen oder löschen Sie alle diese Dateien kann eine beliebige der Befehl unten.
Dieser Befehl nimmt eine halbe Stunde oder mehr;
[root @ sambaserver ~] # find / var / spool / mqueue-8K-Größe-exec rm-f () \;
Im Inneren des Verzeichnis:
[root @ sambaserver ~] # ls | xargs rm
Wir gehen in das Verzeichnis, und löschen Sie alles, was mit ein wenig für.
[root @ sambaserver ~] # cd / var / spool / mqueue [root @ sambaserver ~] # for f in *; tun rm-f $ f; getan
Oder ein einfaches rm-rf / var / spool / mqueue mkdir und dann mit dem gleichen Namen und die gleichen Berechtigungen und starten Sie alle Samba-Nutzer können mit dem Server verbinden.
In letzter Zeit habe ich gesehen den gleichen Fehler mit Oracle, Postgres, MySQL, Sendmail, Postfix.
Popularity: 1% [?]






