2014-06-12 3 views
5

df -h zeigt, dass nur 71% der Flächen verwendet:Amazon EC2 Micro-Instanz - nicht mehr genug Platz?

[email protected]:/home/myuser# df -h 
Filesystem  Size Used Avail Use% Mounted on 
rootfs   7.9G 5.3G 2.2G 71%/
udev    10M  0 10M 0% /dev 
tmpfs   60M 88K 60M 1% /run 
/dev/xvda1  7.9G 5.3G 2.2G 71%/
tmpfs   5.0M  0 5.0M 0% /run/lock 
tmpfs   120M  0 120M 0% /run/shm 

jedoch nichts mehr eine Datei erstellen kann, auch MC nicht

#mc 
Cannot create temporary directory /tmp/mc-root: No space left on device (28) 

Php können keine Dateien erstellt werden

PHP Warning: fopen(/home/.../file.json): failed to open stream: No space 
left on device in /webdev/www/..../my.php on line 10 
startet

Was könnte es sein?

Ich benutze Debian 7 auf Micro-Instanz.

Antwort

7

df -h zeigt Ihnen freien Festplattenspeicher in einem für Menschen lesbaren Format. Aber das klingt wie ein Inode-Tabellen-Problem, das Sie über df -i überprüfen können. Zum Beispiel, hier ist meine Inode-Verwendung auf meiner eigenen Amazon ECS Mikro-Instanz läuft Ubuntu 12.04:

Filesystem  Inodes IUsed IFree IUse% Mounted on 
/dev/xvda1  524288 116113 408175 23%/
udev   73475 379 73096 1% /dev 
tmpfs   75540 254 75286 1% /run 
none   75540  5 75535 1% /run/lock 
none   75540  1 75539 1% /run/shm 

Je nach Ausgang, ich wette, Ihre Inode-Tabelle bis zum Rande gefüllt ist. Die Inode-Tabelle protokolliert die einzelnen Dateidaten. Nicht nur, wie viel Platz. Das bedeutet, dass Sie vielleicht 71% verwenden, aber dass 71% mit Tausenden von Dateien gefüllt werden können. Also, wenn Sie Tonnen von kleinen Dateien haben, haben Sie vielleicht immer noch freien Speicherplatz, aber die Inode-Tabelle ist voll, so dass Sie dies deaktivieren müssen, um Ihr System wieder voll funktionsfähig zu machen.

Nicht zu klar auf den besten Weg, um dies aufzuräumen, aber wenn Sie wissen, ein Verzeichnis, das Tonnen von Dateien hat, die Sie wegwerfen können, würde ich empfehlen, sie zuerst zu entfernen. Für was es wert ist, this question & answer thread sieht aus wie es einige anständige Ideen hat.

+0

Sie haben recht: - rootfs Inodes 100%. Ich habe viele relativ kleine Dateien. Bedeutet das, dass ich keinen Platz mehr benutzen kann, weil ich keine Inodes mehr habe? Das klingt peinlich :) weil ich gerade 2 GB gelöscht habe, große Dateien löschend, und boom - ich kann immer noch keine neuen Dateien erstellen =) – Pavel

+1

@Pavel "Bedeutet das, dass ich keinen Speicherplatz mehr verwenden kann, weil ich keine Inodes mehr habe?" 100% Ja. Die Inode-Tabelle - ein Index für Ihre Dateien - ist ausgereizt. Sie müssen diese kleinen Dateien irgendwie ausräumen. Wie? Ihr Anruf. Aber wie ich in der Post gesagt habe, hat [dieser Frage & Antwort-Thread] (http://stackoverflow.com/questions/653096/howto-free-inode-usage) einige Ideen. Wenn die Dateien nur zwischengespeicherte Daten sind, sollten Sie ernsthaft darüber nachdenken, sie zu werfen. Oder überprüfen Sie '/ var/logs /' und sehen Sie, dass das einen Unterschied macht. – JakeGould

+1

Nein, nicht nur Dateien, das sind Bilder für den Katalog in der DB. Trotzdem danke! Ich werde etwas herausfinden, da ich weiß, was das Problem jetzt verursacht :) – Pavel