Добавить в корзинуПозвонить
Найти в Дзене

Бэкап Linux без подписок: Btrfs и btrbk вместо ночной паники

Резервные копии обычно кажутся скучной темой ровно до того момента, пока не пропадут фотографии, документы, база сайта или весь домашний сервер. Тогда скука мгновенно превращается в холодный пот: диск не читается, обновление сломало систему, папку удалили не туда, а нормального плана восстановления нет.
На Хабре как раз вышел полезный лонгрид про связку Btrfs + btrbk. Это не облачный сервис, не
Оглавление

Бэкап Linux
Бэкап Linux

Резервные копии обычно кажутся скучной темой ровно до того момента, пока не пропадут фотографии, документы, база сайта или весь домашний сервер. Тогда скука мгновенно превращается в холодный пот: диск не читается, обновление сломало систему, папку удалили не туда, а нормального плана восстановления нет.

На Хабре как раз вышел полезный лонгрид про связку Btrfs + btrbk. Это не облачный сервис, не коммерческий агент и не программа с подпиской. Это файловая система Linux и небольшая утилита, которая автоматизирует снимки, перенос копий и очистку старых версий.

Главная мысль простая: если ваши данные уже живут на Linux, бэкап можно сделать быстрым, почти незаметным и бесплатным. Но есть важное «но»: снимок на том же диске — ещё не полноценный бэкап.

Почему обычные копии часто раздражают

Многие начинают с rsync, архиваторов или похожих инструментов. Они хорошие, проверенные и часто выручают. Но у них есть общий минус: они смотрят на файлы.

Чтобы понять, что изменилось, программе приходится обходить дерево каталогов. На маленькой папке это не проблема. На сервере с миллионами файлов такой обход может занять десятки минут ещё до того, как начнётся реальное копирование.

Есть и другая неприятность. Переименовали большой каталог — для обычного пофайлового подхода это часто выглядит как «появились новые файлы». Изменился один байт в большой базе данных — в копию может снова уйти огромный файл. В итоге «инкрементальный» бэкап на живых данных иногда ведёт себя почти как полный.

Btrfs решает задачу иначе. Она работает не только с файлами, а с блоками и метаданными. Поэтому переименование большой папки может превратиться не в сотни гигабайт трафика, а в несколько килобайт изменений.

Что даёт Btrfs

Btrfs умеет делать снимки подтомов. Снимок — это точка во времени: состояние системы, домашней папки или нужного раздела на конкретный момент.

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

Для обычного пользователя это значит две вещи. Во-первых, можно быстро вернуться к состоянию «до обновления». Во-вторых, можно достать один случайно удалённый файл из старого снимка, не разворачивая весь архив.

Но снимок нельзя путать с бэкапом. Если он лежит на том же диске, а диск умер, снимок погибнет вместе с ним. Поэтому правильная схема — хранить копию ещё и на другом носителе: внешнем диске, NAS, домашнем сервере или удалённой машине.

Зачем нужен btrbk

Команды Btrfs мощные, но вручную жить с ними неудобно. Сегодня создал снимок, завтра забыл, через месяц диск забит старыми копиями. btrbk как раз убирает эту рутину.

Он делает три главные вещи: создаёт снимки по расписанию, передаёт их на локальный или удалённый Btrfs-диск и удаляет старые версии по заданным правилам. Например, можно хранить 7 дневных, 4 недельных, 3 месячных и 1 годовую копию. Человек один раз описывает политику, дальше этим занимается утилита.

Передача строится на механизме btrfs send/receive. Первый прогон отправляет базовый снимок целиком. Потом уходят только изменения между вчерашним и сегодняшним состоянием. Поэтому ежедневный бэкап большого /home может занимать минуты, если за день реально изменилось немного данных.

Для домашнего ПК это удобно с внешним диском. Для сервера — с отдельным накопителем и удалённой копией по SSH. Для маленькой домашней лаборатории это уже почти взрослая система резервного копирования, но без лицензий и личных кабинетов.

Что особенно полезно для сервера

В статье хорошо показана идея «pull-бэкапа»: не рабочий сервер отправляет копии наружу, а защищённый бэкап-сервер сам приходит и забирает снимки.

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

При аккуратной настройке SSH-ключ можно ограничить так, чтобы он умел только читать нужные снимки. Это уже не игрушка «для дома», а нормальная сисадминская привычка: бэкап должен пережить не только поломку диска, но и ошибку человека или компрометацию машины.

Где есть подводные камни

Главное ограничение очевидное: для красивой схемы со снимками и send/receive нужна Btrfs. Если у вас ext4 или XFS, связка не заработает магически поверх старой файловой системы. Придётся переносить данные или использовать другие инструменты.

Второй момент — базы данных и активно пишущие сервисы. Снимок файловой системы быстрый и атомарный, но приложение может держать часть состояния в памяти. Для важных баз лучше использовать режим резервного копирования, короткую паузу или ночное окно, когда нагрузка минимальна.

Третий момент — восстановление. У btrbk нет волшебной кнопки «вернуть всё как было». Это осознанный подход: утилита создаёт и разносит снимки, а восстановление делается руками через Btrfs. Для новичка звучит страшновато, но зато меньше шансов случайно стереть живые данные одной неудачной кнопкой.

И ещё: если нужен откат системы после плохого обновления, стоит посмотреть на grub-btrfs. Он добавляет снимки в меню загрузчика GRUB. Сломалось обновление — выбираете старый снимок и загружаетесь с него. Для Linux-энтузиаста это очень приятная страховка.

Кому стоит попробовать

Связка Btrfs + btrbk особенно интересна тем, кто держит домашний сервер, NAS, VPS, Linux-ПК с важными файлами или несколько машин в домашней сети. Если данные ценны, а платить за очередной сервис не хочется, это честный путь: open-source, локальный контроль и понятная механика.

Я бы не продавал это как «нажал и забыл». Бэкап, который никто не проверял восстановлением, — это не бэкап, а надежда. Но если один раз спокойно настроить схему, сделать пробное восстановление и понять, где лежат копии, уровень спокойствия резко меняется.

Хороший бэкап не должен быть героическим подвигом. Он должен незаметно работать каждый день и пригодиться в тот самый плохой момент.

Источник: Btrfs и btrbk: лёгкий и быстрый инкрементальный бэкап сервера и домашнего ПК

Похожие статьи

Если вам интересны бесплатные инструменты для бэкапа, Linux и домашнего сервера, посмотрите также: