Was sind Sparse-Dateien
Sparse-Dateien sind Dateien, denen große Mengen an Speicherplatz vorab zugewiesen wurden, ohne den gesamten Speicherplatz des Dateisystems zu belegen. Sie sind nützlich, um unter anderem den Zeitaufwand und den Speicherplatz zu reduzieren, die zum Erstellen von Loop-Dateisystemen oder großen Festplatten-Images für virtualisierte Gäste erforderlich sind. Sparse-Dateien werden häufig für Disk-Images, Datenbank-Snapshots, Protokolldateien usw. verwendet.
Vorteil von Sparse-Dateien
Der Vorteil von Sparse-Dateien besteht darin, dass Speicherplatz nur dann zugewiesen wird, wenn er tatsächlich benötigt wird:Speicherplatz wird gespart und große Dateien können erstellt werden, selbst wenn nicht genügend freier Speicherplatz im Dateisystem vorhanden ist.
Nachteil von Sparse-Dateien
Nachteile sind, dass Sparse-Dateien fragmentiert werden können. Die Berichte über den freien Speicherplatz des Dateisystems können irreführend sein und das Kopieren einer Datei mit geringer Dichte mit einem Programm, das sie nicht explizit unterstützt, kann die gesamte, unkomprimierte Größe der Datei kopieren, einschließlich der Bereiche mit geringer Dichte, meist null, die sich nicht auf der Festplatte befinden – wodurch die Vorteile verloren gehen der Sparse-Eigenschaft in der Datei.
Wir können dieses Verhalten mit /var/log/lastlog file.
sehen# ls -lh /var/log/lastlog -rw-r--r--. 1 root root 286K Dec 3 04:50 /var/log/lastlog # du -sh /var/log/lastlog 12K /var/log/lastlog
Sparse-Dateien erstellen
1. Sparse-Dateien können mit der Datei „dd“ erstellt werden ‘ Befehl’seek ‘-Option.
# dd if=/dev/zero of=sparse_file bs=1 count=0 seek=512M 0+0 records in 0+0 records out 0 bytes (0 B) copied, 0.000213705 s, 0.0 kB/s
# ls -hl sparse_file -rw-r--r--. 1 root root 512M Dec 3 05:51 sparse_file
# du -sh sparse_file 0 sparse_file
2. Um die Festplattennutzung der Datei mit dem Befehl „ls“ anzuzeigen, können wir „-s verwenden ”-Option:
# ls -lhs sparse_file 0 -rw-r--r--. 1 root root 512M Dec 3 05:51 sparse_file
3. Um die scheinbare Größe der Datei mit „du“ zu sehen, können wir „–apparent-size verwenden ”-Option:
# du -h --apparent-size sparse_file 512M sparse_file
Wie man eine Sparse-Datei kopiert
Beim Kopieren einer Sparse-Datei mit einem Programm, das sie nicht explizit unterstützt, wird möglicherweise die gesamte, unkomprimierte Größe der Datei einschließlich der Sparse-Datei kopiert. Wenn Sie also eine Sparse-Datei mit dem cp-Befehl kopieren, wird die Zieldatei in eine vollständig zugewiesene Datei geändert. Um eine Sparse-Datei zu kopieren, indem die Zielkopie als Sparse-Datei beibehalten wird, verwenden Sie einen der folgenden Befehle.
# cp --sparse=always source_file new_file # rsync --sparse source_file new_file # cpio --sparse # tar --sparse