Назад | Перейти на главную страницу

Rsync работает медленно на btrfs?

У меня есть большой жесткий диск и второй жесткий диск, который я использую в качестве резервного диска (с адаптером USB 3), используя rsync:

rsync -ahHPxX --delete --delete-delay

Rsync "делает паузу" во время синхронизации, при этом я слышу, как оба жестких диска ищут. Думаю, когда я использовал XFS на обоих дисках, это было намного быстрее. Я не уверен, потому что не могу сравнивать напрямую.

По какой-то причине rsync на btrfs работает медленно? Может быть, это копирование всех метаданных или запись времени доступа, которые не были записаны, когда я использовал XFS?

Я выполняю синхронизацию из моментального снимка, доступного только для чтения, на первом диске непосредственно на втором диске (без использования для него второго подобома).

По моему опыту, BTRFS ужасно фрагментируется, и это может иметь разрушительные последствия для производительности вращающихся носителей (HDD). Это усиливается rsync поскольку он копирует измененные файлы, создавая временный файл, который может быть записан очень маленькими частями (из-за того, как работает дельта-алгоритм).

XFS, с другой стороны, является чрезвычайно быстрой и оптимизированной файловой системой; последние (после 2015 г.) версии также предоставляют контрольную сумму метаданных (см. mkfs.xfs -m crc=1), хотя и без контрольных сумм данных и снимков на уровне файловой системы.

Коротко: никогда ожидайте высокой производительности от BTRFS, иначе вы будете разочарованы. У него много интересных функций, но он намного медленнее, чем XFS (или даже EXT4).