Поддержка NTFS в Linux, работа с большими разреженными файлами, влияние на производительность

478
GabrielB

Фон :

Я попытался восстановить данные с неисправного жесткого диска, используя ddrescue в недавней среде Knoppix. Сначала я сохранил выходные данные в разделе NTFS, но в какой-то момент скорость копирования стала постоянно очень низкой (~ 600 КБ / с), и я прочитал на французском руководстве для этого инструмента, что восстановление в NTFS не рекомендуется, особенно для большой объем, как сообщалось, приведет к значительному замедлению. Затем я переключился на ext4, и производительность, казалось, значительно улучшилась. (См. Этот вопрос .)

Я заметил, что «размер на диске» для файлов выходных изображений, сгенерированных ddrescue, был намного меньше их фактического размера, что означает, что ddrescue каким-то образом только распределяет данные, которые были успешно прочитаны из ввода, что приводит к «частично разреженному» выводу, даже когда ключ -S («разреженные записи») не используется. В этом случае использование ключа -S приводит к тому, что пустые сектора, которые фактически считываются с входа, также нераспределяются на выходе, что делает его «полностью» разреженным. (Смотрите этот другой вопрос .)

Вопрос:

Как объяснить этот разрыв в производительности между NTFS и ext4? Это действительно связано с разреженностью? Известно ли, что драйвер NTFS в Linux имеет проблемы с работой с большими разреженными файлами?

0

1 ответ на вопрос

0
Austin Hemmelgarn

Для начала вы, вероятно, использовали NTFS-3G, которая реализована в пользовательском пространстве, а не в ядре. Это само по себе означает, что при использовании NTFS вы по крайней мере удвоили переключение контекста по сравнению с ext4.

Кроме того, я не могу особо комментировать, в чем может быть проблема, кроме упоминания о том, что, основываясь на моем собственном тестировании, NTFS, по-видимому, не очень эффективно обрабатывает разреженные файлы в LInux, используя NTFS-3G или ядро. родной драйвер (который почти никто не использует, потому что NTFS-3G имеет гораздо лучшую общую поддержку).

Похожие вопросы