Я всегда был любителем блочного уровня, но мне интересно услышать реальный опыт клонирования на уровне файлов. Каковы некоторые преимущества и недостатки, а также какие инструменты работают лучше всего.
Мой худший опыт клонирования на уровне файлов - это раздел NT4 размером 20 ГБ с примерно 1,6 млн крошечных файлов. Скорость передачи была бы ~ 8Meg / sec с клонированием на уровне блоков (по сети 100Meg) и должна была занять где-то от часа до полутора часов, в итоге она составила <150K / sec из-за всей файловой системы \ накладные расходы на разрешения и заняли почти два дня.
Наиболее очевидным преимуществом клонирования на уровне файлов является то, что вы не тратите время на клонирование неиспользуемых блоков. Например, для клона раздела 40 Гбайт с 10 Гбайт данных потребуется 40 Гбайт чтения и 40 Гбайт записи на уровне блоков, но близко к 10 Гбайт чтению и 10 Гбайт записи на уровне файла.
Одним из незначительных преимуществ клонирования на уровне файлов является то, что оно эффективно де-фрагментирует вашу файловую систему одновременно, тогда как клонирование на уровне блоков также клонирует фрагментацию.
Клонирование на уровне блоков проще, и вам не нужно беспокоиться о каких-либо разрешениях или других проблемах, вы знаете со 100% уверенностью, что клон будет идентичен оригиналу, но клонирование на уровне файлов может пойти не так. если вы испортили свои настройки.
Как говорили люди, используйте уровень блока, когда попадание в метаданные файла слишком велико. Используйте файл на основе, когда файлов немного.
Я привык к системе репликации блоков, которая реплицирует только те блоки, которые были изменены и назначены файлам. Это может работать очень хорошо.
Репликация на основе файлов - это дешево и легко выполняется в открытой системе, однако сценарии rsync / unison требуют большего обслуживания, чем репликация на NAS или SAN.
Если есть миллионы файлов, тогда уровень блоков - единственный выход, у нас есть ряд файловых систем, которые имеют 40 миллионов файлов в 600 ГБ, и репликация на основе файлов там не будет работать.