100% Festplattenauslastung! Wie ich meinen WordPress-Server vor wiederholten Abstürzen auf AWS gerettet habe
Die Nacht, als mein Server aufgab
Ich werde das beklemmende Gefühl nie vergessen, als meine WordPress-Sites plötzlich offline gingen — schon wieder. Besucher wurden mit leeren Seiten oder Fehlermeldungen begrüßt. Uptime-Monitoring-Tools begannen mitten in der Nacht Alarme zu feuern. Mein Stresslevel schoss in die Höhe. Der Übeltäter? Wiederholte Server-Abstürze auf AWS, alles wegen eines einzigen Problems: 100% Festplattenauslastung.
Wenn Sie eine WordPress-Site (oder mehrere) auf einer AWS EC2-Instanz betreiben und zufällige Ausfälle, langsame Leistung oder seltsame Fehler bemerken, befinden Sie sich möglicherweise auf dem gleichen Weg wie ich. Aber die gute Nachricht? Sie können es beheben — und dauerhaft verhindern. Hier ist meine reale Fehlerbehebungsreise.
Was "100% Festplattenauslastung" auf AWS EC2 bedeutet (und wie man es erkennt)
Wenn Ihr Linux-Server 100% Festplattenauslastung erreicht, beginnt jeder Dienst — von Nginx/Apache bis MySQL und PHP — zu versagen. Sie sehen möglicherweise:
- Websites stürzen plötzlich ab oder werden unerreichbar
- WordPress "error establishing a database connection"
- Unfähigkeit, SSH zu nutzen oder grundlegende Befehle auszuführen (sogar Dateien speichern schlägt fehl)
- Logs oder Monitoring-Tools zeigen "No space left on device"
- AWS CloudWatch zeigt Schreibfehler oder I/O-Fehler
Wichtige Tools, die ich zur Erkennung des Problems verwendet habe:
df -h(zeigt Festplattennutzung in lesbarem Format)du -sh /*unddu -sh /var/*(findet große Ordner)- AWS EC2 Monitoring & CloudWatch-Alarme
- Fehlerprotokolle:
/var/log/syslog,/var/log/messages, Apache/Nginx/MySQL-Logs
Profi-Tipp: Wenn Sie SSH nutzen und df -h ausführen können und / oder /dev/xvda1 bei 100% sehen, haben Sie das Problem gefunden!
Tiefer graben: Die wahre Ursache entdecken
Für mich endete die Geschichte nicht bei "Festplatte voll." Ich musste wissen, warum. Das habe ich herausgefunden:
- Backup-Dateien: Alte, automatisierte Backups häuften sich in
/var/www/tempan — über 14GB an .zip- und .tgz-Dateien, die nicht mehr benötigt wurden. - WordPress Cache und Logs: Einige Sites hatten aufgeblähte Cache-Ordner und riesige Fehlerprotokolle.
- Kein Bereinigungsprozess: Es gab kein Skript oder Richtlinie zum Entfernen alter Dateien, also wiederholte sich der gleiche Zyklus alle paar Wochen.
- Fehlende Überwachung: Ich hatte keine AWS CloudWatch Festplattenalarme eingerichtet, sodass das Problem "kritisch" wurde, bevor ich es bemerkte.
Lektion: Auf einem Multi-Site-Server können selbst wenige Gigabyte an Backups oder Logs Sie schnell auf 100% Festplattenauslastung bringen.
Die Lösung: Wie ich Speicherplatz freigegeben und die Abstürze gestoppt habe
1. Identifizieren Sie die Speicherfresser
SSH in Ihre Instanz und finden Sie heraus, was Speicher frisst:
df -h
sudo du -h --max-depth=1 / | sort -hr | head -20
sudo du -h --max-depth=1 /var/www | sort -hr | head -20
2. Entfernen Sie ungenutzte Backups, Logs und Cache
Bereinigen Sie die großen Übeltäter. Für mich wirkten diese Befehle Wunder:
sudo rm -rf /var/www/temp/*
sudo rm -rf /var/log/*.gz
sudo rm -rf /var/log/*.1
sudo journalctl --vacuum-time=3d
sudo rm -rf /tmp/*
3. Bestätigen Sie den freien Speicherplatz
Überprüfen Sie immer nach der Bereinigung:
df -h
Die Festplattenauslastung sank sofort von 100% auf 72% — und der Server war wieder online.
4. Starten Sie Dienste bei Bedarf neu
Manchmal benötigen Apache, Nginx oder MySQL einen Neustart zur Wiederherstellung:
sudo systemctl restart nginx
sudo systemctl restart apache2 # (wenn Sie Apache verwenden)
sudo systemctl restart mysql
5. Richten Sie automatisierte Backups und Bereinigung ein
-
Automatisierte wöchentliche Snapshots: Ich habe AWS Data Lifecycle Manager (DLM) eingerichtet, um wöchentlich einen EBS-Snapshot zu erstellen (und alte automatisch zu löschen).
-
Regelmäßige Bereinigung: Einen einfachen Cron-Job hinzugefügt, um jede Woche alles in
/var/www/tempzu löschen:0 3 * * 0 rm -rf /var/www/temp/* -
CloudWatch-Alarme: CloudWatch-Warnungen für hohe Festplattenauslastung aktiviert — keine bösen Überraschungen mehr!
Wie Sie 100% Festplattenauslastung auf AWS WordPress-Servern verhindern
Wenn Sie WordPress (oder eine andere Web-App) auf AWS EC2 betreiben, empfehle ich Folgendes:
- Überwachen Sie alles: Richten Sie CloudWatch ein, um Sie bei 75%, 85% und 95% Festplattenauslastung zu warnen.
- Automatisieren Sie Backups — aber rotieren Sie sie: Verwenden Sie AWS Lifecycle Manager für EBS-Snapshots und legen Sie eine Aufbewahrungsrichtlinie fest. Verlagern Sie WordPress/Datenbank-Backups auf S3 statt lokal zu speichern.
- Automatisieren Sie die Bereinigung: Verwenden Sie Cron-Jobs oder Skripte, um regelmäßig Temp-, Cache- und Log-Dateien zu löschen.
- Skalieren Sie bei Bedarf: Wenn Ihre Sites ständig den Speicher übersteigen, erwägen Sie ein größeres EBS-Volume oder verlagern Sie Backups/Medien auf S3.
- Überprüfen Sie Plugins und Cache: Schlecht konfigurierte Backup- oder Cache-Plugins können Festplatten schnell füllen.
Fazit: Vom Chaos zur Kontrolle
100% Festplattenauslastung auf AWS kann ein Albtraum sein, muss aber Ihr Geschäft nicht lahmlegen. Mit ein paar klugen Überprüfungen, Bereinigungen und etwas Automatisierung können Sie von ständigen Abstürzen zu totalem Vertrauen gelangen. Meine WordPress-Blogs sind jetzt stabil, gesichert, und ich schlafe nachts besser in dem Wissen, dass AWS mich unterstützt.
Hatten Sie Serverfestplattenprobleme oder möchten Sie Ihre eigene Lösung teilen? Hinterlassen Sie einen Kommentar oder eine Frage — lassen Sie uns einander helfen, unsere Sites online zu halten!