Kurzversion : rm -rf mydir
Mit mydir
(rekursiv) 2,5 Millionen Dateien dauert es auf einem meist inaktiven Computer ungefähr 12 Stunden.
Weitere Informationen : Die meisten Dateien, die gelöscht werden, sind feste Links zu Dateien in anderen Verzeichnissen (das zu löschende Verzeichnis ist tatsächlich die älteste Sicherung von rsnapshot
; der rm
Befehl wird tatsächlich von gegeben rsnapshot
). Es werden also hauptsächlich Verzeichniseinträge gelöscht - der Dateiinhalt selbst ist nicht viel; es ist in der Größenordnung von einigen zehn GB.
Ich bin mir nicht sicher, ob btrfs
das der Schuldige ist. Ich erinnere btrfs
mich, dass das Backup vor Beginn der Verwendung ebenfalls sehr langsam war , aber ich bin nicht sicher, ob die Langsamkeit beim Löschen lag.
Die Maschine ist ein Intel Core i5 2,67 GHz mit 4 GB RAM. Es hat zwei SATA-Festplatten: eine hat das Betriebssystem und einige andere Dinge, und die Sicherungsdiskette ist eine 1 TB WDC WD1002FAEX-00Z3A0
. Das Motherboard ist ein Asus P7P55D.
Bearbeiten : Die Maschine ist ein Debian-Keuchen mit Linux 3.16.3-2~bpo70+1
. So wird das Dateisystem gemountet:
root@thames:~# mount|grep rsnapshot
/dev/sdb1 on /var/backups/rsnapshot type btrfs (rw,relatime,compress=zlib,space_cache)
Bearbeiten : Die Verwendung rsync -a --delete /some/empty/dir mydir
dauert ca. 6 Stunden. Eine deutliche Verbesserung gegenüber rm -rf
, aber immer noch zu viel, denke ich. ( Erklärung, warum rsync
schneller ist alsrm
: "[M] ost-Dateisysteme speichern ihre Verzeichnisstrukturen in einem btree-Format. Die Reihenfolge [in], in der Sie Dateien löschen, ist ... wichtig. Sie müssen vermeiden, den btree beim Ausführen der Verknüpfung neu auszugleichen .... rsync -a --delete
... löscht in der richtigen Reihenfolge ")
Bearbeiten : Ich habe eine andere Festplatte angehängt, die 2,2 Millionen Dateien (rekursiv) in einem Verzeichnis hatte, aber unter XFS. Hier einige Vergleichsergebnisse:
On the XFS disk On the BTRFS disk
Cached reads[1] 10 GB/s 10 GB/s
Buffered reads[1] 80 MB/s 115 MB/s
Walk tree[2] 11 minutes 43 minutes
rm -rf mydir[3] 7 minutes 12 hours
[1] Mit hdparm -T /dev/sdX
und hdparm -t /dev/sdX
.
[2] Zeit, die find mydir -print|wc -l
unmittelbar nach dem Start benötigt wird.
[3] Auf der XFS-Festplatte war dies kurz nach dem Gehen mit dem Baum find
. Auf der BTRFS-Festplatte handelt es sich um die alte Messung (und ich glaube nicht, dass der Baum zwischengespeichert wurde).
Es scheint ein Problem mit zu sein btrfs
.
btrfs
? Dies ist natürlich möglich, aber denken Sie, dass es relevant sein könnte? Im Moment kann ich mich nicht erinnern, warum ich mich entschlossen habe, es zu versuchen btrfs
.
btrfs
weil ich die transparente Komprimierung wollte. Jetzt: rsnapshot
verwendet harte Links. Es gibt keine Option, keine festen Links zu verwenden. Die Hardlinks überschneiden sich also mit btrfs
der Copy-on-Write-Funktionalität, aber ich kann nicht viel dagegen tun.