Продолжая тему бэкапов
Тут недавно попробовал boxbackup, понравилось. Решение, конечно, достаточно нишевое, и рассчитано, прежде всего, на файлопомойки.
Общие сведения
Забудьте про такое понятия как: "расписание бэкапа", он идёт постоянно; "уровень бэкапа" - он всегда инкрементальный; "действия до/после бэкапа" - то что упало на диск - забэкапит, но самому пнуть тот же mysql - не дождётесь.
Скорость бэкапа - в полтора-два раза ниже чем у той же бакулы. Замерялось на файлопомойке в ~550гигов и ~700k файлов.
Также, отличен сам подход к бэкапу: есть одна и только одна актуальная копия файлов + некоторое количество удалённых файлов, которые начинают чистится только после заполнения всего места, выделенного под бэкап. Это очень сильно проще, чем настройка связки пул/расписание/задание и тюнинг retention time в той же бакуле для бэкапа той же самой файлопомойки. Я даже готов держать 2 системы бэкапов, только чтобы не проходить этот квест заново.
Из дополнительных плюшек:
- изкоробочное шифрование канала передачи и самих файлов до отправки в хранилище.
- одно tcp соединение для бэкапа (кто пробовал просунуть бакулу через nat - тот поймёт)
- нет внешней базы данных
- возможность организации "программного" raid'а из 1..3х дисков без mdadm. Просто указывается 3 места в фс, и туда зеркалируются данные.
Хранилище
Структура хранилища, кстати, достаточно интересная. Каждому файлу выдаётся порядковый номер. Тот переводится в hex-нотацию и на её основе вычисляется место в хранилище по паре символов. Лучше покажу на примере:
# 11 -> 0B -> ~/$ID/0B.rfw
# 1533 -> 5FD -> ~/$ID/05/ofd.rfw
# 89419 -> 15D4B -> ~/$ID/01/5d/o4b.rfw
и т.д. $ID - это уникальный номер учётной записи. В каждой поддиректории будет не больше 256х файлов и 256х директорий.
Из этого следует, что если бэкапить 100500 мелких файликов - они займут в хранилище те же 100500 инодов + сколько-то на дополнительные директории.
Вот как выглядит статистика одной из учёток:
$ bbstoreaccounts info 18
Account ID: 0x00000018
Last object ID: 0xb52b5
Used: 152538719 blocks, 581.89 GB, 68% |********** |
Old files: 66 blocks, 264.00 kB, 0% | |
Deleted files: 6 blocks, 24.00 kB, 0% | |
Directories: 14786 blocks, 57.76 MB, 0% | |
Soft limit: 209715200 blocks, 800.00 GB, 94% |*************** |
Hard limit: 222822400 blocks, 850.00 GB, 100% |****************|
Client store marker: 742069