mirror of
https://github.com/vvzvlad/vestasync.git
synced 2024-12-27 04:31:01 +03:00
update readme
This commit is contained in:
parent
4f6d7f9551
commit
6b664ef4fa
29
README.md
29
README.md
@ -1,11 +1,30 @@
|
|||||||
# Vestasync
|
# Vestasync
|
||||||
|
|
||||||
Vestasync - это ПО для бекапа и восстановления контроллеров Wirenboard. Оно решает две задачи:
|
VestaSync - это ПО для бекапа и восстановления контроллеров Wirenboard. Оно решает две задачи:
|
||||||
|
|
||||||
1. Создание бекапа конфигурации автоматически и деплой ее на удаленный git-сервер (поддерживается Gitea, для поддержки других сервисов необходимо дописать соответствующую функцию создания репозитория) по расписанию (раз в день) и по изменению файлов.
|
1. Создание бекапа конфигурации автоматически и деплой ее на удаленный git-сервер (поддерживается Gitea, для поддержки других сервисов необходимо дописать соответствующую функцию создания репозитория) по расписанию (раз в день) и по изменению файлов.
|
||||||
2. Восстановление бекапа одной командой: после подключения нового контроллера достаточно ввести его IP и имя хоста предыдущего контроллера, чтобы Vestasync автоматически восстановила бекап вплоть до MAC-адресов сетевых интерфейсов, чтобы не было нужды менять настройки на DHCP-сервере. После перезагрузки контроллер вернется в сеть с IP старого контроллера.
|
2. Восстановление бекапа одной командой: после подключения нового контроллера достаточно ввести его IP и имя хоста предыдущего контроллера, чтобы Vestasync автоматически восстановила бекап вплоть до MAC-адресов сетевых интерфейсов, чтобы не было нужды менять настройки на DHCP-сервере. После перезагрузки контроллер вернется в сеть с IP старого контроллера.
|
||||||
|
|
||||||
## Установка
|
VestaSync — это набор скриптов, которые выполняют следующие функции:
|
||||||
|
|
||||||
|
1. При установке на контроллер:
|
||||||
|
|
||||||
|
- Создают в /mnt/data/etc/ git-репозитарий
|
||||||
|
- Сохраняют текущие MAC-адреса в /mnt/data/etc/vestasync/macs/[interface]
|
||||||
|
- Сохраняют hostname в /mnt/data/etc/vestasync/hostname
|
||||||
|
|
||||||
|
2. При изменении конфигурационных файлов
|
||||||
|
|
||||||
|
- Создают коммит коммиты на каждое изменение файлов
|
||||||
|
- Загружающит эти коммиты на сервер
|
||||||
|
|
||||||
|
3. При восстановлении из бекапа
|
||||||
|
|
||||||
|
- Копируют репозитарий
|
||||||
|
- Восстанавливают конфиги, hostname и mac-адрес
|
||||||
|
|
||||||
|
|
||||||
|
## Установка VestaSync на локальную машину
|
||||||
|
|
||||||
**Эти команды выполняются не на контроллере**, а на локальной машине или на сервере, с которых есть доступ к контроллеру. Система изначально писалась для инсталляций с множеством контроллеров, поэтому она сама заходит на пустой контроллер и настраивает его (так работает, например, ansible). Для настройки десяти контроллеров надо просто запустить 10 команд с разными ```device_ip```.
|
**Эти команды выполняются не на контроллере**, а на локальной машине или на сервере, с которых есть доступ к контроллеру. Система изначально писалась для инсталляций с множеством контроллеров, поэтому она сама заходит на пустой контроллер и настраивает его (так работает, например, ansible). Для настройки десяти контроллеров надо просто запустить 10 команд с разными ```device_ip```.
|
||||||
|
|
||||||
@ -22,10 +41,10 @@ pip install -r requirements.txt
|
|||||||
|
|
||||||
У Vestasync есть всего две команды: `install`, и `restore`.
|
У Vestasync есть всего две команды: `install`, и `restore`.
|
||||||
|
|
||||||
### install
|
### install — установка на контроллер
|
||||||
|
|
||||||
Команда `install` выполняет подготовительные действия — устанавливает ПО, создает гит-репозитарий, устанавливает службы (подробнее в разделе "Службы").
|
Команда `install` выполняет подготовительные действия — устанавливает ПО, создает гит-репозитарий, устанавливает службы (подробнее в разделе "Службы").
|
||||||
Эту команду надо выполнять, указывая в ```device_ip``` исходный контроллер (который будет стоять в проде инсталляции) перед началом эксплуатации (если выполнять ее еще до настройки, то бонусом получим сохранение конфигов в гите во время ПНР). Эта команда выполняется на контроллере один раз.
|
Эту команду надо выполнять, указывая в ```device_ip``` исходный контроллер (который будет стоять в проде инсталляции) перед началом эксплуатации (если выполнять ее еще до настройки, то бонусом получим сохранение конфигов и wb-rules в гите во время разработки и ПНР). Эта команда выполняется на контроллере один раз.
|
||||||
|
|
||||||
Пример запуска (запускается на локальной машине, адрес контроллера указывается в ```device_ip```):
|
Пример запуска (запускается на локальной машине, адрес контроллера указывается в ```device_ip```):
|
||||||
|
|
||||||
@ -45,7 +64,7 @@ pip install -r requirements.txt
|
|||||||
```--gitea_token```: токен для авторизации на Gitea-сервере (получается в интерфейсе)
|
```--gitea_token```: токен для авторизации на Gitea-сервере (получается в интерфейсе)
|
||||||
|
|
||||||
|
|
||||||
### restore
|
### restore — восстановление из бекапа
|
||||||
|
|
||||||
Команда `restore` выполняет восстановление существующего бекапа на контроллере.
|
Команда `restore` выполняет восстановление существующего бекапа на контроллере.
|
||||||
Эту команду надо выполнять на подменном контроллере из ЗИП-а в случае замены основного контроллера подменным. Эта команда выполянется один раз, после чего контроллер становится копией старого контроллера и продолжает сохранять свои изменения в конфигах в тот же репозитарий.
|
Эту команду надо выполнять на подменном контроллере из ЗИП-а в случае замены основного контроллера подменным. Эта команда выполянется один раз, после чего контроллер становится копией старого контроллера и продолжает сохранять свои изменения в конфигах в тот же репозитарий.
|
||||||
|
Loading…
Reference in New Issue
Block a user