Sie haben ein VZFS-Dateisystem, was bedeutet, dass Ihr VPS eine virtuelle Parallels Virtuozzo-Maschine ist. In Virtuozzo kann der Hosting-Anbieter viele Parameter einschränken, einschließlich der Zuweisungen, die Sie mit VZFS erhalten.
Ursache: Keine Inodes (am häufigsten)
Nach jahrelanger Zusammenarbeit mit Hunderten von Virtuozzo VPS-Kunden, die das Problem hatten, keine Dateien erstellen zu können, hatte die überwiegende Mehrheit von ihnen ihre Inode-Grenze erreicht, obwohl anscheinend genügend freier Speicherplatz vorhanden war. Führen Sie diesen Befehl aus, um die Inode-Zuordnung ( Inodes
), die verwendeten Inodes ( IUsed
), die verbleibenden Inodes ( IFree
) und den Prozentsatz der verwendeten Inodes ( IUse%
) anzuzeigen :
df -i
Eine 100% ige Inode-Nutzung passiert häufig. Häufige Ursachen meiner Erfahrung nach:
- Bouncebacks für Spam-E-Mails
- Ausgehende Spam-E-Mails wurden in die Warteschlange gestellt
- Viele eingehende E-Mails gespeichert
- Einige Benutzer setzen ihre PHP-Sitzungs-Garbage Collection (
session.gc_maxlifetime
) auf über hundert Jahre
- Viel zu viele allgemeine Cache-Dateien
- Objekt-Cache im WordPress-Plugin W3 Total Cache aktiviert
- Magento-Fehlerprotokoll (für jeden Fehler wird eine neue Datei generiert)
- Andere schlecht konfigurierte oder schlecht gestaltete Programme / Skripte, die eine Reihe von Dateien erstellen und vergessen, diese zu löschen
Fehlerbehebung
Wenn Sie feststellen, dass Sie niedrig oder keine Inodes mehr haben, aber nicht wissen, wo sich die meisten befinden, habe ich diesen Bash-Einzeiler, der das aktuelle Verzeichnis durchsucht und die Inodes in einer Ordnertiefe von 1 zählt:
for i in $(find $(pwd) -maxdepth 1 -type d | sort); do echo -e "$(find "$i" | wc -l)\t: $(readlink -f "$i")"; done | sort -nr
Sie können das aktuelle Arbeitsverzeichnis so lange ändern, /
bis Sie den Schuldigen finden, der Ihre Inode-Zuordnung verbraucht.
Erläuterung
Ihr VPS befindet sich in einem VZFS-Dateisystem, das Teil von Parallels Virtuozzo ist (nicht OpenVZ, das ähnlich ist und auf derselben Technologie basiert, aber OpenVZ würde VZFS nicht verwenden).
Aufgrund der Art und Weise, wie Virtuozzo Dateien in VZFS speichert, sind Inodes häufig stärker eingeschränkt als auf anderen Dateisystemen wie ext4 oder XFS. Der Host verfolgt alle diese Dateien, und es wäre für den Hosting-Anbieter von Vorteil, wenn ein einzelner VPS nicht Hunderte Millionen Inodes aufnehmen würde. Infolgedessen kann der Hosting-Anbieter das Inode-Limit auf niedrig festlegen, z. B. 1.000.000 Inodes.
Nach jahrelanger Zusammenarbeit mit Hunderten von Kunden, die ihre Inode-Zuweisung für Virtuozzo erschöpft haben, wundern mich diese "mysteriösen" Probleme mit der Festplattenquote nicht mehr.
Ursache: Andere Virtuozzo-Grenzen
Ein sehr kleiner Prozentsatz der Virtuozzo VPS-Kunden, mit denen ich zusammengearbeitet habe, hatte Probleme mit dem Dateisystem, weil sie an andere Grenzen stießen. Mit diesem Befehl können Sie einige (aber nicht alle) Grenzwerte anzeigen:
cat /proc/user_beancounters
Fehlerbehebung
Wenn die failcnt
Spalte einen Wert größer als 0 hat oder ein held
Spaltenwert dem entsprechenden limit
Wert entspricht , haben Sie ein Limit erreicht.
Hier können Sie nachschlagen, welche Parameter sich im OpenVZ-Wiki befinden . Ein Parameter kann "primär", "sekundär" oder "hilfsbereit" sein.
Sie sollten sich an Ihren Hosting-Anbieter wenden, um weitere Unterstützung zu erhalten, wenn Sie feststellen, dass Sie die held
Anzahl für ein von Ihrem VPS erreichtes Limit nicht verringern können .
Diese Antwort kann stark erweitert werden, je nachdem, welche Bohnen maximal sind, da unterschiedliche Grenzwerte unterschiedliche Symptome verursachen.
Ursache: Limit (s) nach Treffer verringert
In Bezug auf /proc/user_beancounters
oder df -i
manchmal kann ein Virtuozzo-Systemadministrator limit
den held
Wert eines Parameters unter den Wert verringern .
Wenn beispielsweise das ursprüngliche Limit des diskinodes
Parameters 1.500.000 betrug und Sie das Limit erreicht haben, setzt jemand bei Ihrem Hosting-Anbieter Ihr Inode-Limit auf 1.000.000, und Sie sehen einen bizarren Inode-Bericht df -i
, der keinen Sinn ergibt .
An Ihrem Ende konnten Sie eine unangemessen große Zahl sehen, wie 18.446.744.069.620.218.961 .
Ich halte dies für ein unheimliches Verhalten des Hosting-Anbieters, insbesondere wenn er Sie nicht informiert, da die ungewöhnlichen Werte, die Sie sehen, dem Wissen von Superusern widersprechen, die keine Erfahrung mit Virtuozzo / OpenVZ haben, was zu irreführenden Ergebnissen führt Beratung ( Beispiel , ein anderes Beispiel ).
Fehlerbehebung
Wenden Sie sich an Ihren Hosting-Anbieter. Zeigen Sie ihnen, was Sie gefunden haben, und arbeiten Sie mit ihnen, um Ihre Bohnen unter das Limit zu bringen.
Wenn sie sich weigern, Ihnen zu helfen, lassen Sie Ihren Hosting-Anbieter hinter sich und suchen Sie einen anderen, der keine Virtuozzo / OpenVZ-Virtualisierung verwendet. KVM-Virtualisierung, VMware-Virtualisierung, Xen-Virtualisierung oder Bare-Metal-Server unterliegen weitaus weniger Einschränkungen als Virtuozzo / OpenVZ.
Erläuterung
Ihr Hosting-Anbieter hat möglicherweise eine Warnung geprüft oder darauf reagiert und festgestellt, dass Ihr VPS zu viel von einer bestimmten Ressource verbraucht hat (fast immer das Inodes-Limit, das der diskinodes
Parameter am Ende ist).
Ein unerfahrener Virtuozzo-Administrator beim Hosting-Anbieter ist der Ansicht, dass er das Problem begrenzen kann, indem er das Limit auf etwas reduziert, das unter dem tatsächlichen Ressourcenverbrauch liegt. Im Fall von Inodes haben Sie möglicherweise eine niedrigere Zuordnung, z. B. 1.000.000, obwohl Ihre tatsächliche aktuelle Nutzung möglicherweise höher ist, z. B. 1.500.000.
Der Virtuozzo-Administrator in seinem Control Panel würde Ihre tatsächliche Nutzung und das neue Limit sehen, aber Sie würden falsche Zahlen sehen, die aufgrund der Art und Weise, wie Virtuozzo virtualisiert, möglicherweise sehr unangemessen hoch sind.
Ein fahrlässiger Virtuozzo-Administrator würde Sie nicht über diese Änderung informieren. Deshalb sollten Sie sich in diesem Fall an Ihren Hosting-Anbieter wenden.