Передо мной была поставлена задача сделать резервное копирование вне сети через WAN. Оба хранилища - это хранилища NAS на базе FreeBSD, на которых работает ZFS.
Один или два раза в неделю 15–60 гигабайт данных с фотографий сбрасываются в офис NAS. Моя работа состоит в том, чтобы выяснить, как получить эти данные как можно более надежно, используя соединение VERY SLOW DSL (загрузка ~ 700 Кбит / с). Приемная коробка имеет гораздо лучшую форму: скорость 30 Мбит / с, скорость 5 Мбит / с.
Я знаю, что перенос с жесткого диска за пределы сайта переносит данные гораздо быстрее, но в данном случае это не вариант.
Мои варианты кажутся либо:
- ZFS инкрементная отправка через ssh
- Rsync
rsync - проверенное временем решение, обладающее важнейшей способностью возобновить отправку, если что-то прерывается. Недостатком является итерация по многим файлам и отсутствие знания дедупликации.
Отправка снимка ZFS может передавать немного меньше данных (он знает намного больше о файловой системе, может выполнять дедупликацию, может более эффективно упаковывать изменения метаданных, чем rsync) и имеет преимущество, заключающееся в правильном дублировании состояния файловой системы, а не просто копировании файлы по отдельности (что является более интенсивным диском).
Меня беспокоит производительность репликации ZFS [1] (хотя этой статье уже год). Я также обеспокоен возможностью перезапуска передачи, если что-то пойдет не так - возможности моментальных снимков, кажется, не включают это. Вся система должна быть полностью автономной.
[1] http://wikitech-static.wikimedia.org/articles/z/f/s/Zfs_replication.html
Используя любую из этих опций, я смогу де-расставить приоритеты трафика, направив его через указанный порт, а затем используя QOS на маршрутизаторах. Мне нужно избегать серьезного негативного влияния на пользователей обоих сайтов во время каждой передачи, так как это займет несколько дней.
Так что ... это мое мнение по этому вопросу. Я пропустил какие-либо хорошие варианты? Кто-нибудь еще настраивал что-то подобное?