Borg — неудобности

Понедельник, 6 марта, 6:9
Минусов у Borg-а, конечно, есть. В основном всё написано в faq-е, и чувствуется, что вопросы популярные и у всех одинаковые — у меня возникли эти же вопросы примерно в этом же порядке. Это всё явно недостаток дизайна, конечно.

1) бекап нескольких серверов в один репозиторий. Мне бы его очень хотелось, потому что сотни битриксов хорошо задедуплицируются. Однако: каждый раз перебилд кеша + репозиторий лочится при записи — писать можно только в один поток. В оригинале:

"it will be most efficient if a single repository is only modified from one place. Also keep in mind that Borg will keep an exclusive lock on the repository while creating or deleting archives, which may make simultaneous backups fail."

2) взять сколько-то снапшотов из одного репозитория и закинуть в другой — штатных способов нет. Можно рсинком продублировать, замаунтить первый и добавить во второй, но только так. Учитывая пункт 1 (а именно из-за него вообще возникает сделать split репозиториев, или группу по префиксу выкинуть куда-то еще) — фича получается и ненужной.

По совокупности обоих пунктов, и учитывая, что юзеры могут переезжать между серверами — придется каждого юзера бекапить в отдельный репозиторий. Это плохо для дедупликации, конечно.

Менее очевидное:

Переменная BORG_FILES_CACHE_TTL по умолчанию = 20. Если какого-то файла нет в наборе более 20 раз — инфа о нем удаляется из кеша и при появлении файл будет залит заново в новый чанк. Так же — файлы привязаны к путям, датам и т.д. и, похоже, к инодам. Изменение пути файла приведет к его повторной загрузке. Это серьезный минус для дедупликации, но, вероятно, иначе нельзя сделать без потребления большого количества памяти как в ZFS.

Есть плохо понятный лимит количества метадаты, в который раньше все хорошо упирались, но сейчас вроде лимиты подняли так, что в реальной жизни проблемы возникать не должно.

В сравнении с альтернативами:

в bup сходу не завелись нужные фичи (поставил по доке, bup-index нету, exclude не сделать, про fuse в интернетах странное пишут и т.д.),

в zbackup странные авторы (fuse нет, авторы лучше меня знают какое мне надо сжатие, поэтому только самое медленное LZMA, нет возможность менять размер блоков/чанков, чтобы достать один файл надо распаковать всё — в моем случае, видимо, все 200 гигабайт и 15 миллионов файлов, есть больше памяти — в идеале от 512М против 64М у Borg и 10M у tar/pigz).

attic фактически умер два года назад и переродился в borg.

rsnapshot 99% времени (на миллионах файлов) создает симлинки — это всё.

duplicity сначала пишет много в /tmp и по факту я от него вообще ни разу ничего не дождался на моих объемах.

rdiff-backup — пробовали, всё было плохо, примерно как и с duplicity, очень плохо с большим количеством мелких файлов.

tartarus и backup2l, которы упоминаются в мануала хетзнера — совсем неинтересны в сравнении с Borg.