База данных в Watcher
В этом разделе приведены инструкции по решению отдельных задач поддержки базы данных, используемой в Watcher.
- Установка и первичная настройка
- Резервная копия
- Миграция на PostgreSQ
- Обновление структуры базы данных вручную
Установка и первичная настройка
- Для установки PostgreSQL необходимо в консоли под пользователем root выполнить команду:
apt install postgresql
- Создайте пользователя и базу данных. Для этого выполните по порядку эти команды в консоли. Сначала создадим пользователя с именем vsaas:
sudo -u postgres createuser -P vsaas
Система предложит ввести пароль, который будет у пользователя vsaas:
Enter password for new role: (придумайте и введите пароль супер-админа)
После того, как вы введете пароль, нужно сделать это ещё раз:
Enter it again: (повторите пароль супер-админа)
- Создайте базу данных vsaas_production с владельцем-созданным пользователем vsaas:
sudo -u postgres createdb -O vsaas -e -E UTF8 -T template0 vsaas_production
Ответ системы в случае успешного создания базы данных:
CREATE DATABASE vsaas_production OWNER vsaas ENCODING 'UTF8' TEMPLATE template0
Далее необходимо отредактировать путь до базы данных, перезагрузить Flussonic и восстановить резервную копию (вернуться к инструкции по миграции.
Резервная копия
Сделать резервную копию базы данных можно с помощью утилиты pg_dump
:
sudo -u postgres pg_dump vsaas_production > vsaas_production-$(date +%s)backup_dump.sql
Note
При выполнении этой команды из-под root может быть выведена ошибка вида could not change directory to "/root": Permission denied
. Резервная копия при этом все равно будет создана. Чтобы избежать ошибки, можно использовать из-под root команду pg_dump -h localhost -d vsaas_production -U vsaas > vsaas_production-$(date +%s)backup_dump.sql
В результате будет создан файл с названием вида vsaas_production-1630050597backup_dump.sql
, где число — это Unix-время на момент создания резервной копии.
Восстановление из резервной копии:
sudo -u postgres psql vsaas_production < vsaas_production-1630050597backup_dump.sql
Caution
Настоятельно рекомендуется настроить регулярное автоматическое резервное копирование БД.
Пример настройки резервного копирования по расписанию
Простейшим способом настроить регулярное резервное копирование является инструмент cron
.
Выполните в командной строке
crontab -e
При первом запуске система предложит выбрать редактор, с помощью которого вы хотите открыть файл конфигурации cron. Рекомендуем использовать nano
, он первый в списке:
Choose 1-4 [1]: 1
В конец файла добавьте, например, такую строку
0 5 * * 1 sudo -u postgres pg_dump vsaas_production > /root/vsaas_production-backup-$(date +\%s).sql
Данное правило будет запускать процесс создания резервной копии базы данных и сохранять его в директории /root в 05:00 каждый понедельник. Чтобы настроить другую периодичность, отредактируйте параметры в начале команды. Подробнее см. здесь
После редактирования нажмите Ctrl+O для сохранения, а затем Ctrl+X для выхода из редактора.
Миграция с SQLite на PostgreSQL
-
Миграция необходима начиная с версии Watcher 19.03
-
Сделайте бэкапы этих файлов:
/etc/flussonic/flussonic.conf
/opt/flussonic/priv/vsaas.db
-
Установите последнюю версию Flussonic Watcher с поддержкой SQLite (19.05). Выполните в командной строке следующие команды:
apt update
apt install flussonic-watcher=19.05 flussonic=19.05 flussonic-erlang=21.3.6
service flussonic restart
Подробнее о процессе обновления
-
apt install postgresql
-
Перезагрузите сервис Flussonic:
service flussonic restart
-
Восстановите базу данных из бэкапа.
-
Зайдите на веб-интерфейс и проверьте, что все работает (все данные на месте).
Обновление структуры БД
Иногда новая версия Flussonic Watcher требует для работы изменений в структуре своей базы данных. В этом случае web-интерфейс покажет сообщение:
Caution
В первую очередь необходимо сделать резервную копию базы данных и обратится в нашу службу поддержки support@flussonic.com
Инструкцию по резервному копированию см. здесь.