GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was passiert, wenn das Limit von 4 Milliarden Dateien in einer ext4-Partition überschritten wurde?

Vermutlich sehen Sie eine Variante des Fehlers „Kein Platz mehr auf dem Gerät“:

# truncate -s 100M foobar.img
# mkfs.ext4 foobar.img
Creating filesystem with 102400 1k blocks and 25688 inodes
---> number of inodes determined at mkfs time ^^^^^
# mount -o loop foobar.img loop/
# touch loop/{1..25688}
touch: cannot touch 'loop/25678': No space left on device
touch: cannot touch 'loop/25679': No space left on device
touch: cannot touch 'loop/25680': No space left on device

Und in der Praxis erreichen Sie diese Grenze viel früher als "4 Milliarden Dateien". Überprüfen Sie Ihre Dateisysteme mit beiden df -h und df -i um herauszufinden, wie viel Platz noch übrig ist.

# df -h loop/
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop0       93M  2.1M   84M   3% /dev/shm/loop
# df -i loop/
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/loop0      25688 25688     0  100% /dev/shm/loop

Wenn Ihre Dateien in diesem Beispiel im Durchschnitt keine 4K-Größe haben, geht Ihnen der Inode-Speicherplatz viel früher aus als der Speicherplatz. Es ist möglich, ein anderes Verhältnis anzugeben (mke2fs -N number-of-inodes oder -i bytes-per-inode oder -T usage-type wie in /etc/mke2fs.conf definiert ).


Sobald das Limit erreicht ist, schlagen nachfolgende Versuche, Dateien zu erstellen, mit ENOSPC fehl , was darauf hinweist, dass das Zieldateisystem keinen Platz für neue Dateien hat.

In dem von Ihnen beschriebenen Szenario führt dies normalerweise dazu, dass die Übertragung abgebrochen wird, sobald das Limit erreicht ist.


Linux
  1. Was war der wichtigste Moment in der Geschichte von Linux?

  2. Was genau passiert, wenn ich eine Datei in der Shell ausführe?

  3. Wie finde ich den Offset eines Ext4-Dateisystems?

  4. Was sind die legitimen Verwendungen des Befehls „Berühren“?

  5. Was ist das DOS-Kompatibilitäts-Flag in fdisk?

Wie kann ich Dateien von einer ext4-Partition wiederherstellen/wiederherstellen?

Was war die SquashFS-Komprimierungsmethode?

Was passiert unter Linux, wenn 1000 Dateien in einem Verzeichnis an einen anderen Ort verschoben werden, während weitere 300 Dateien zum Quellverzeichnis hinzugefügt wurden?

Was ist die Partitions-ID / der Dateisystemtyp für UDF?

Was ist die Grenze für die Nr. von Partitionen kann ich haben?

Was ist der schnellste Weg, um alle Dateien und Unterordner in einem Verzeichnis zu entfernen?