У меня есть большой жесткий диск и второй жесткий диск, который я использую в качестве резервного диска (с адаптером 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).