NTFS-Unterstützung unter Linux, die mit großen Dateien mit geringer Dichte arbeitet, wirkt sich auf die Leistung aus

501
GabrielB

Hintergrund :

Ich habe versucht, Daten von einer defekten Festplatte mit ddrescue in einer aktuellen Knoppix-Umgebung wiederherzustellen. Zuerst habe ich die Ausgabe auf einer NTFS-Partition gespeichert, aber irgendwann wurde die Kopierrate durchweg sehr langsam (~ 600KB / s), und ich las in einigen französischen Anleitungen für dieses Tool, dass die Wiederherstellung nach NTFS nicht empfohlen wurde, insbesondere für eine großes Volumen, da berichtet wurde, dass dies zu einer erheblichen Verlangsamung Ich wechselte dann zu ext4 und die Leistung schien sich deutlich zu verbessern. (Siehe diese Frage .)

Mir fiel auf, dass die von ddrescue generierte „Größe der Festplatte“ für die Ausgabedateien viel geringer war als ihre tatsächliche Größe, was bedeutet, dass ddrescue irgendwie nur die Daten zuordnet, die erfolgreich aus der Eingabe gelesen wurden, was zu einer „teilweise spärlichen“ Ausgabe führt, auch wenn der Schalter -S ("sparse write") nicht verwendet wird. In diesem Fall führt die Verwendung des -S-Schalters dazu, dass die leeren Sektoren, die tatsächlich von der Eingabe gelesen werden, auch in der Ausgabe nicht zugeordnet werden, wodurch sie „voll“ knapp werden. (Siehe diese andere Frage .)

Frage:

Wie lässt sich dieser Leistungsunterschied zwischen NTFS und ext4 erklären? Ist das in der Tat mit der Spärlichkeit verbunden? Hat der Linux-NTFS-Treiber Probleme, mit großen spärlichen Dateien umzugehen?

0

1 Antwort auf die Frage

0
Austin Hemmelgarn

Zunächst haben Sie wahrscheinlich NTFS-3G verwendet, das im Benutzerraum und nicht im Kernel implementiert ist. Das bedeutet allein, dass Sie bei der Verwendung von NTFS mindestens doppelt so viele Kontextwechsel vorgenommen haben wie bei der Verwendung von ext4.

Darüber hinaus kann ich nicht wirklich viel zu dem Thema sagen. Abgesehen davon, dass NTFS aufgrund meines eigenen Tests scheinbar keine spärlichen Dateien auf LInux verarbeitet, entweder mit NTFS-3G oder mit dem Kernel nativer Treiber (den fast niemand verwendet, da NTFS-3G insgesamt viel bessere Unterstützung bietet).