Der schnellste Weg, um ein Verzeichnis erneut zu verknüpfen

1163
Lie Ryan

Ich verwende ein Gentoo-Linux, und ich verschiebe derzeit meine /usr/portage(Portage-Datenbank, die Tausende von kleinen Ebuild-Dateien enthält), /var/tmp/portage(das /var/tmp/ccacheCompiler-Verzeichnis von Portage) und (Compiler-Cache-Verzeichnis) in reiserfs. Diese Verzeichnisse sind leistungsabhängig, und es werden Tausende von kleinen Dateien abgerufen und geschrieben, wenn portage Paketabhängigkeiten berechnet und Pakete kompiliert.

Was ist der schnellste Weg, um die Verzeichnisse in das neue Dateisystem umzuleiten? Gibt es einen großen Leistungsverlust durch die Verwendung eines Symlinks, da das System einen Symlink als Text analysiert? Wird Mount Bind besser sein?

2
Ich kann dir nicht helfen, aber ich frage mich, ob Reiserfs noch relevant ist? fideli vor 13 Jahren 1
Guter Punkt fideli. Ich denke, XFS oder EXT4 wäre eine bessere Option. Matt H vor 13 Jahren 0
Ich habe gehört, dass die Verwendung von tar zum Sichern und Wiederherstellen schneller und sicherer ist als die Verwendung von cp -R. Kann das jemand verifizieren? Matt H vor 13 Jahren 0

1 Antwort auf die Frage

0
Paweł Nadolski

Mount --bind sollte schneller sein als symbolischer Link.

Wenn Sie mount -B /mnt/portage /usr/portagelesen /usr/portage, erhalten Sie i-node /mnt/portageund es sollte so schnell wie das normale Verzeichnis funktionieren.

Die Auflösung der symbolischen Link-Geschwindigkeit hängt von der Anzahl der Komponenten im verknüpften Pfad ab. Für die /usr/portageVerknüpfung mit /mnt/portagediesem Link werden drei zusätzliche i-node-Lesevorgänge und zwei Verzeichnissuchen benötigt.

Ich bezweifle, dass Sie einen Unterschied zwischen diesen Methoden feststellen werden, es sei denn, Sie verwenden diese Dateisysteme wirklich sehr häufig.

Mounten Sie --bind nicht einfach, dass der Mount-Punkt an zwei Stellen angezeigt wird, aber die Dateien werden immer noch in das alte Dateisystem geschrieben, nicht in das neue. Matt H vor 13 Jahren 0
Dateien werden in das neue Dateisystem geschrieben, es sei denn, ein Prozess hat sie vor dem Mounten aus dem alten geöffnet. In diesem Fall muss der Prozess neu gestartet werden. Paweł Nadolski vor 13 Jahren 0