deemjd

 
<<< Назад

Варианты резервного копирования Majordomo на Raspberry Pi

Рассмотрим варианты бэкапа и их настройку, а также восстановление.

Сразу после настройки умного дома встает вопрос бэкапа.
В зависимости от желаемого результата, можно бэкапить как саму систему majordomo с настройками, так и в целом флешку малинки - на случай умирания флешки, или других серьезных отказов.

Рассмотрим, какие инструменты у нас есть в Majordomo и как это можно использовать.

1.Встроенный бэкап
Статья в базе знаний
Позволяет сохранять параметры и настройки самого MD, а именно файлы дизайна, кода, базу данных, модули.
Управление им происходит на странице "Проверка обновлений", бэкапы сохраняются в папку /var/www/html/cms/saverestore.

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

Автоочистки старых копий нет, при необходимости - нужно настраивать через сценарии, cron, и т.д..

Обращаю внимание,что если вручную поудалять файлы резевных копий из папки saverestore, то в интерфейсе MD остаются вот такие хвосты. Как избавиться от них - пока не понял.

2. Модуль резервного копирования в маркете дополнений
Статья в базе знаний по модулю
Обсуждение на форуме

Позволяет гибко настроить файлы для резервного копирования (из папки MD), умеет облачные хранилища (WebDav (Яндекс Диск, Box.com и др.), Cloud Mail.ru, Dropbox , FTP), поддерживает удаление старых копий.

Лично у меня отлично заработало в связке Яндекс.диском, но при попытке настроить бэкапы по SMB или FTP архивы невозможно было распаковать, хотя по размеру вроде бы были нормальные. Возможно проблема с настройками моей малины, но в целом это сигнал - проверяйте резервные копии!

3. Резервное копирование образа системы
Больше всего меня беспокоил надежный и удобный вариант резервного копирования всей Raspberry, потому что кроме самого MD, как правило, по ходу совершенстования умного дома, всегда вносятся какие либо изменения непосредственно в операционную систему - настраивается сеть, конфигурируется Homebridge, обновляются и добавляются пакеты, обновляется прошивка малины и т.д.

3.1. Ручное создание образа
Самый простой способ сделать резервную копию - это достать флешку, вставить в картридер и с помощью утилит типа Win32DiskImager или Etcher, сохранить образ флешки себе на компьютер. В случае каких либо серьезных проблем или смерти флешки, вы просто покупаете новую, с помощью этих же утилит записываете образ обратно, и все работает как и раньше.

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

3.2. Автоматическое или полуавтоматическое создание образа - Скрипт raspiBackup
Лучший вариант для тех кто не хочет\не умеет писать скрипты.

Подготовка к настройке:
Решаем в какую папку будем сохранять резервные копии - для меня предпочтительным вариантом является smb шара моего роутера. Можно также бэкапиться на подключенный к малинке жесткий диск.
Создаем папку backup в корне малинки
sudo mkdir /backup

Устанавливаем пакеты самбы
sudo apt-get update sudo apt-get install samba samba-common-bin smbclient cifs-utils
Если бэкапим на самбу - монтируем сетевую шару роутера
sudo mount -t cifs //192.168.2.1/AiDisk_b1/share/Backup/ /backup --verbose -o vers=2.0

В моём случае указан параметр vers=2.0 потому что роутер не поддерживает версию самбы выше 2.0. Если у вас шара на windws 8-10 можно попробовать версии 3.0, 3.1, или вообще не задавать этот флаг.

Если на usb жесткий диск то
sudo mount /dev/hda2 **/mnt/sda1 **-rw (здесь указывается путь к разделу диска, узнать можно через команду lsblk)

Качаем и запускаем установщик raspiBackup
curl -s -L -O https://www.linux-tips-and-tricks.de/raspiBackupInstallUI_beta.sh && sudo bash ./raspiBackupInstallUI_beta.sh

Установщик имеет графический интерфейс, разобраться в нем легко.

запускаем Install components, затем переходим к configure major options
C2 Настраиваем путь к бэкапу - в нашем случае это /backup/
C3 Количество резервных копий - желаемое
C4 Backup type - dd and restore from Windows - значит делаем полный снимок флешки с возможностью восстановления из под окошек.
C6 Services to stop and start. Здесь есть возможность отметить сервисы, которые необходимо остановить перед бэкапом, для создания консистентной копии. С помощью пробела указываем желаемые, жмем ОК, далее выстраиваем порядок остановки от самого важного к менее важному. После окончания бэкапа они запустятся в обратной последовательности
C9 - можно настроить расписание бэкапа
C10 - настройка сжатия. Сильно увеличивает время резервного копирования на малинке, для себя решил отключить.

Выходим из конфигуратора и сохраняем настройки.

Также для отображения прогресс-бара рекомендую установить пакет pv
sudo apt install pv

И при ручном запуске бэкапа добавлять флаг -g для отображения шкалы прогресса.
Для ручного запуска выполняем

sudo raspiBackup.sh -m detailed -g

Полная копия 16Gb флешки занимает у меня 20 минут, на скорости 12Mb\sec

Восстановить такой бэкап можно из-под windows с помощью тех же etcher или win32diskimager

Пока что сам протестировал бэкап и востановление полного образа через windows, буду рад дополнить информацией о том как грамотно восстановить бэкапы самого MD - тупо перезаписывать файлы, или нужно какие либо еще манипуляции.

Обсуждение (4) (14)

Москва, Россия

На форуме: deemjd