Erstellung ist Unterstützung durch SEEK_SET
, Unterstützung fallocate
wird in Version 4.2 hinzugefügt (derzeit in Entwicklung) [ http://www.spinics.net/lists/linux-nfs/msg44500.html]
spärliche Datei, die über NFS verschoben / kopiert wird
Ich habe eine spärliche Datei mit erstellt
truncate -s 4T image.img
auf einem ext4-Dateisystem, das ich über NFS einhänge. Der folgende Test zeigt, dass das System Probleme mit der Erkennung von Dateien mit geringer Dichte hat: beides
cp --sparse=always /mnt/data_extension/a.img /tmp/a.img # where a.img is created the same way image.img is rsync --sparse /mnt/data_extension/a.img /tmp/a.img
Es dauert lange, und ich lasse es niemals fertig sein, da der Befehl mehr als eine Sekunde dauert, wenn die spärliche Datei nicht als solche erkannt wird und das Kopieren / Verschieben von Löchern E / A verbraucht.
tar --sparse -c -v -f /tmp/a.tar /mnt/data_extension/a.img
kehrt sofort zurück und erzeugt einen tar, der sich tarnen kann, wenn a.img leer ist, wenn ich etwas schreibe (z. B. ein falsches btrfs-Dateisystem erstellen sudo mkfs.btrfs /mnt/data_extension/a.img
), es funktioniert nicht mehr, d.
Auf dem lokalen Ziel-Ext4-Dateisystem funktioniert alles gut, dh das Kopieren und Verschieben des Demo-Images a.img
erfolgt innerhalb von 1 Sekunde oder weniger.
Wenn ich die obigen Befehle an das aktuelle Bild anwenden image.img
und watch du -h /local/image.img
die Größe von 0 wird nie aktualisiert, aber es sollte nach dem ersten Byte geschrieben wurde.
Mount-Informationen für /mnt/data_extension
:
$ mount | grep /mnt/data_extension 192.168.178.76:/volume1/data_extension on /mnt/data_extension type nfs (rw,addr=192.168.178.76)
Wie kann ich image.img
vom NFS-Mount in ein lokales Dateisystem verschieben / kopieren, ohne 4 TB lesen zu müssen ?!
BEARBEITEN: Die Angabe sparse-version=1.0
macht tar
Arbeit auf dem Client, aber nicht über NFS (und cifs
das habe ich inzwischen mit demselben Verhalten versucht). Dies ermöglicht es zumindest, die Datei mit geringer Dichte auf dem Server zu tarieren und das Ergebnis mit den Kosten einer unnötigen Entar-Aktion auf dem Client zu übertragen.
1 Antwort auf die Frage
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4