Linux kein Platz mehr auf Geräteproblem

10

Wir haben SUSE Linux OS:

$ uname -a
Linux 3.0.13-0.27-default #1 SMP Wed Feb 15 13:33:49 UTC 2012  x86_64 x86_64 x86_64 GNU/Linux

Nur für eine bestimmte Datei schlägt die Dateierstellung mit dem Fehler fehl, dass auf dem Gerät kein Speicherplatz mehr vorhanden ist. Wir können andere Dateien erstellen. Was ist schief gelaufen? Im aktuellen Szenario:

  • Die Inode-Nutzung beträgt nur 47%

    $ df -i .
    Filesystem               Inodes    IUsed    IFree IUse% Mounted on
    /dev/mapper/appvg-dsfs 39321600 18218000 21103600   47% /dsfs
    
  • Die Festplattennutzung beträgt nur 82%

    $ df -h .
    Filesystem              Size  Used Avail Use% Mounted on
    /dev/mapper/appvg-dsfs  591G  457G  105G  82% /dsfs
    
  • Die Dateierstellung einer bestimmten Datei schlägt in diesem Fall fehl JDE_GL_INCR_STG_201504_181.log.load.058

    $ echo "a" > JDE_GL_INCR_STG_201504_181.log.load.058
    -bash: JDE_GL_INCR_STG_201504_181.log.load.058: No space left on device
    echo "a" > testfile
    
    $ mv JDE_GL_INCR_STG_201504_181.log.load.058 tempfile
    mv: cannot stat `JDE_GL_INCR_STG_201504_181.log.load.058': No such file or directory
    
  • Das Erstellen anderer Dateien ist möglich

Nishant Bhardwaj
quelle
4
Ist ein SELinux-Profil aktiviert?
Hyppy
3
Sie sind sich nicht sicher, ob dies wichtig ist, aber welches Dateisystem verwenden Sie? Zum Beispiel hat XFS einige Probleme mit vollständigen Partitionen, obwohl Ihre Festplatte nicht so voll ist.
Cristian Ciupitu
Um welches Dateisystem handelt es sich? (Vielleicht ist es ein Hardwarefehler? Was sagt dmesg?)
Konrad Gajewski
3
Könnte dies ein Hashing-Problem sein, wie unter serverfault.com/questions/539536/… beschrieben ?
Paul Haldane
5
Ich würde es fsck.ext3.
Konrad Gajewski

Antworten:

1

Vielleicht gehen Ihnen die Semaphoren aus. Versuchen Sie dies als root

ipcs -s

und prüfen Sie, ob es viele Semaphore gibt, die demselben Benutzer gehören. Wenn ja, führen Sie den folgenden Befehl aus

ipcs -s |grep username |awk '{print $2}'

Ersetzen Sie im obigen Befehl den Benutzernamen durch den tatsächlichen Benutzer.

Vikelidis Kostas
quelle
0

Sieht wirklich wie ein Hash-Kollisionsproblem aus. Haben Sie versucht, genau dieselbe Datei in einem anderen leeren Verzeichnis auf derselben Partition zu erstellen, um zu testen, ob es sich wirklich um ein Hash-Kollisionsproblem oder etwas anderes handelt?

Vinay Kumar Setty
quelle
0

Ich habe Probleme dieser Art gesehen, wenn ich ein fehlerhaftes oder beschädigtes Laufwerk gemountet habe. Wenn Sie smartctlauf dem Host haben, führen Sie es auf dem Gerät aus ( smartctl -a /dev/<device>). Unterschiedliche Laufwerke haben unterschiedliche Daten, suchen Sie jedoch nach Dingen wie: uncorrected errors, multi_zone_error_rate, current_pending_sector, raw_read_error_rateoder wenn das Laufwerk ausgefallen ist. Das sind alles Indikatoren dafür, dass der nicht im besten Zustand ist.

grauer Mann
quelle
-3

Überprüfen Sie zunächst die Größe der Datei, die Sie erstellen möchten. Die Datei ist möglicherweise sehr groß. Ok, ich weiß, dass die Wahrscheinlichkeit, dass das oben genannte Problem auftritt, gering ist. Benennen Sie die Datei in einen anderen Namen um oder erstellen Sie sie mit einem anderen Dateinamen.

Kevin Kaburu
quelle
1
Bitte lesen Sie noch einmal meine Frage. Dort wird der Befehl zum Erstellen von Dateien erwähnt. echo "a" > JDE_GL_INCR_STG_201504_181.log.load.058Bei dieser Methode liegt die Dateigröße nicht über einem KB. Sogar Berührung gibt den gleichen Fehlertouch JDE_GL_INCR_STG_201504_181.log.load.058
Nishant Bhardwaj