Я хотел бы написать простой сценарий резервного копирования, который сохраняет некоторые данные на диск FAT. Следует ли переформатировать диск и использовать лучшую файловую систему или можно использовать rsync с FAT? Если да, то с какими проблемами я могу столкнуться? Будет ли производительность намного хуже?
Ответ 1
Я бы рекомендовал переформатировать диск в linux fs, если это возможно. Как уже упоминалось, FAT имеет относительно низкие ограничения на размер файлов и может не совсем правильно обрабатывать разрешения и права собственности. Более того, FAT не отслеживает время модификации файлов так точно, как, скажем, ext3 (FAT точна только в пределах 2-секундного окна). Это приводит к особенно неприятному поведению с rsync, поскольку иногда он решает, что оригинальный файл новее или старше файла резервной копии настолько, что ему нужно заново скопировать данные или, по крайней мере, перепроверить хэши. В целом, это приводит к очень низкой производительности при резервном копировании. Если вы должны придерживаться FAT, обратите внимание на флаги rsync --size-only и --modify-window в качестве обходных путей.
Ответ 2
Я использую rsync для резервного копирования своих фотографий, которые я храню и обрабатываю на ноутбуке под управлением Linux (Ubuntu 10.4). Я делаю резервные копии на очень простой NAS с жестким диском емкостью 1 ТБ, отформатированным в FAT32. Корпус и прошивка NAS очень простые, поэтому он не позволяет переформатировать диск.
Я использую следующую команду:
$ rsync --progress --modify-window=1 --update --recursive --times \
/home/mloskot/Pictures /mnt/nas/Pictures
Для корректного сравнения времени используется опция --modify-window=1, поскольку FAT32 записывает временные метки файлов с разрешением 2 секунды, что отличается от файловой системы (систем), используемой в Linux. Опция --update позволяет избежать ненужного копирования существующих файлов — она ведет себя как инкрементное резервное копирование. Чтобы выполнить сравнение на основе размера, вы можете указать опцию --size-only.
Ответ 3
Есть ли причина, по которой вы используете диск FAT? Rsync должен работать для сохранения данных, но вы потеряете метаинформацию о файлах... права собственности, разрешения и т. д... и вы рискуете столкнуться с проблемами при rsync больших файлов, поскольку FAT имеет ограничение на размер файлов в 2 гигабайта.
Производительность я не могу комментировать, я никогда не проводил сравнительных тестов с другими системами. Полагаю, это также во многом зависит от спецификаций самого диска и файловой системы.
Если бы вы могли, я бы переформатировал диск в родной формат, который вы планируете использовать с компьютером (OS X? Linux?), хотя бы для того, чтобы сохранить метаданные и не получить проблемы через несколько месяцев, когда я буду синхронизировать что-то, что вышло из строя из-за ограничений файловой системы. Часто совместное использование с другими системами можно сделать через экспорты совместного доступа или, если вы используете NTFS, вы можете сохранить некоторые метаданные, но при этом получить большую часть межсистемной совместимости, поскольку Mac, NT и Linux теперь поддерживают NTFS R/W.
Ответ 4
Вы всегда должны использовать файловую систему лучше, чем FAT, если только это не нужно по причинам совместимости!
Я бы посоветовал отформатировать диск с помощью той же файловой системы, с которой вы выполняете rsyncing, иначе вы потенциально потеряете разрешения и атрибуты, установленные для ваших файлов и каталогов.
FAT (предположительно FAT32) может быть проблематичной из-за максимального размера файлов (4 Гб), максимального размера тома, фрагментации и т. д. Однако если все это не имеет значения и вам нужна простая, быстрая и максимально совместимая файловая система, то FAT подойдет. По скорости, из-за отсутствия журналирования, разрешений и т. д., FAT может превзойти альтернативы — NTFS/Ext3/HFS...
Security