Вечеринка Btrfs 2: резервное копирование со скоростью света (без rsync)
В предыдущем посте мы увидели, как сделать нашу систему устойчивой. “на месте” использование RAID и моментального снимка. А вот если ПК взорвется или сервер украдут, локальные снимки бесполезны. Сегодня мы делаем скачок в качестве: давайте научимся использовать Btrfs отправить и получить.
Забывать rsync и его бесконечное сканирование файлов. Кон Btrfs, резервная копия становится чистым потоком данных, перенос только тех блоков, которые действительно изменились с последнего раза.
1. Логика: потому что отправлять/получать лучше
Ограничением rsync является то, что он должен сравнивать даты и размеры. (о, я контрольная сумма) каждого отдельного файла между источником и местом назначения. Если у вас миллионы файлов, вы тратите минуты, просто выясняя, что передать. Бтрфс, быть файловой системой копирование при записи, уже отслеживает каждый измененный блок. команда send извлекает эти различия и “экономить” в сторону команды receive, кто пишет их по назначению.
Основное требование: Обе опоры (источник и пункт назначения) они должны быть отформатированы в Btrfs.
2. Упражняться: резервное копирование на внешний диск
Предположим, мы хотим создать резервную копию наших /home это USB-накопитель. Сначала давайте создадим снимок, доступный только для чтения. (необходим для отправки):
# Crea lo snapshot di sola lettura
sudo btrfs subvolume snapshot -r /home /home/backup_temp
Теперь отправляем все на внешний диск, смонтированный в /mnt/backup_disk:
# Il primo invio (Full Backup)
sudo btrfs send /home/backup_temp | sudo btrfs receive /mnt/backup_disk/
Со следующего раза, мы можем отправить это инкрементальный, указание предыдущего снимка в качестве базового. Это будет вопрос миллисекунд.
3. Резервное копирование удаленно через SSH: максимальная эффективность
Это моя любимая часть. Мы можем отправить поток данных через SSH-туннель.. Идеально подходит для тех, у кого есть оптоволоконные соединения с небольшой загрузкой, потому что вы отправите только несколько МБ, измененные в течение дня.
# Invia lo snapshot a un server remoto
sudo btrfs send /home/backup_oggi | ssh utente@server "sudo btrfs receive /backup/remoto"
Данные поступают в пункт назначения точно так же, как и уходили., с целостностью, гарантированной собственными контрольными суммами файловой системы.
4. Автоматизация: Не делай этого вручную (один Бтрбк)
Давайте будем честными: никто не забывает отдавать эти команды каждый день. Вот почему он существует Бтрбк. Это Perl-скрипт, очень легкий, который настроен с помощью простого текстового файла в /etc/btrbk.conf.
Вы указываете ему, какой подобъем контролировать., сколько копий хранить (это. 7 ежедневно, 4 еженедельно) и куда их отправить. Он заботится о создании снимков, выполните отправку/получение и удалите старые.
Пример быстрой настройки btrbk:
volume /mnt/data
subvolume home
target send-receive /mnt/backup_esterno
snapshot_preserve_min 2d
snapshot_preserve 7d
5. Аварийное восстановление: Il “ботинок” из резервной копии
Что произойдет, если основной диск выйдет из строя? Если вы использовали отправку/получение на другом внутреннем или внешнем диске, ваши данные уже находятся в формате субтома. Вам не обязательно “извлекать” архив .tar или .zip. Просто смонтируйте резервную копию и, если необходимо, используйте его как новый /home просто редактирование /etc/fstab. Это самое быстрое восстановление в мире.
предосторожность: Помните, что снимки, используемые в качестве основы для инкрементных (параметр
-pнел отправить) они должны существовать с обеих сторон. Если вы удалите снимок “отец” с резервного диска, следующий инкремент завершится неудачно, и вам придется повторить полную отправку.
Заключение
Btrfs Send/Receive превращает резервное копирование из утомительной задачи в невидимый, мгновенный процесс.. Если вы следовали предыдущему руководству и уже подготовили субтома, возьми старую пластинку, отформатируйте его в Btrfs и начните “стрелять” ваши данные. Душевное спокойствие, зная, что ваша резервная копия является проверенным зеркальным отражением ваших данных, бесценно..
У вас есть сомнения относительно того, как настроить Btrbk или как управлять разрешениями SSH.? Напишите это в комментариях!



0 Комментарии