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
2501d3e045
commit
332a61ceb2
27
README.md
27
README.md
@ -7,6 +7,8 @@ Vestasync - это ПО для бекапа и восстановления ко
|
|||||||
|
|
||||||
## Установка
|
## Установка
|
||||||
|
|
||||||
|
**Эти команды выполняются не на контроллере**, а на локальной машине или на сервере, с которых есть доступ к контроллеру. Система изначально писалась для инсталляций с множеством контроллеров, поэтому она сама заходит на пустой контроллер и настраивает его (так работает, например, ansible). Для настройки десяти контроллеров надо просто запустить 10 команд с разными ```device_ip```.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/vvzvlad/vestasync
|
git clone https://github.com/vvzvlad/vestasync
|
||||||
cd vestasync
|
cd vestasync
|
||||||
@ -15,15 +17,18 @@ source .venv/bin/activate
|
|||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Команды
|
## Команды
|
||||||
|
|
||||||
Vestasync поддерживает три команды: `install`, `update` и `restore`.
|
У Vestasync есть всего две команды: `install`, и `restore`.
|
||||||
|
|
||||||
### install
|
### install
|
||||||
|
|
||||||
Команда `install` выполняет подготовительные действия — устанавливает ПО, создает гит-репозитарий, устанавливает службы (подробнее в разделе "Службы").
|
Команда `install` выполняет подготовительные действия — устанавливает ПО, создает гит-репозитарий, устанавливает службы (подробнее в разделе "Службы").
|
||||||
|
Эту команду надо выполнять, указывая в ```device_ip``` исходный контроллер (который будет стоять в проде инсталляции) перед началом эксплуатации (если выполнять ее еще до настройки, то бонусом получим сохранение конфигов в гите во время ПНР). Эта команда выполняется на контроллере один раз.
|
||||||
|
|
||||||
Пример запуска:
|
Пример запуска (запускается на локальной машине, адрес контроллера указывается в ```device_ip```):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./vestasync.py
|
./vestasync.py
|
||||||
@ -31,7 +36,7 @@ Vestasync поддерживает три команды: `install`, `update` и
|
|||||||
--device_ip 192.168.1.85
|
--device_ip 192.168.1.85
|
||||||
--gitea_address http://192.168.1.101:3001/
|
--gitea_address http://192.168.1.101:3001/
|
||||||
--device_new_name WB2
|
--device_new_name WB2
|
||||||
--gitea_token de8a2eaee0d2f27746157c2fd563815f932d670c`
|
--gitea_token de8a2eaee0d2f27746157c2fd563815f932d671c`
|
||||||
```
|
```
|
||||||
|
|
||||||
```--cmd install```: означает, что надо установить Vestasync на контроллер и подготовить его к созданию бекапа
|
```--cmd install```: означает, что надо установить Vestasync на контроллер и подготовить его к созданию бекапа
|
||||||
@ -43,15 +48,16 @@ Vestasync поддерживает три команды: `install`, `update` и
|
|||||||
### restore
|
### restore
|
||||||
|
|
||||||
Команда `restore` выполняет восстановление существующего бекапа на контроллере.
|
Команда `restore` выполняет восстановление существующего бекапа на контроллере.
|
||||||
|
Эту команду надо выполнять на подменном контроллере из ЗИП-а в случае замены основного контроллера подменным. Эта команда выполянется один раз, после чего контроллер становится копией старого контроллера и продолжает сохранять свои изменения в конфигах в тот же репозитарий.
|
||||||
|
|
||||||
Пример запуска:
|
Пример запуска (запускается на локальной машине, адрес контроллера указывается в ```device_ip```):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./vestasync.py
|
./vestasync.py
|
||||||
--cmd restore
|
--cmd restore
|
||||||
--device_ip 192.168.98.85
|
--device_ip 192.168.98.85
|
||||||
--gitea_address http://192.168.1.101:3001/
|
--gitea_address http://192.168.1.101:3001/
|
||||||
--gitea_token de8a2eaee0d2f27746157c2fd563815f932d670c`
|
--gitea_token de8a2eaee0d2f27746157c2fd563815f932d671c`
|
||||||
--source_hostname WB2-A3TBJXLS
|
--source_hostname WB2-A3TBJXLS
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -60,21 +66,26 @@ Vestasync поддерживает три команды: `install`, `update` и
|
|||||||
|
|
||||||
|
|
||||||
## Службы
|
## Службы
|
||||||
|
|
||||||
Службы, которые будут запущенны на контроллере при установке:
|
Службы, которые будут запущенны на контроллере при установке:
|
||||||
|
|
||||||
### Восстановление MAC-адресов (apply_macs)
|
### Восстановление MAC-адресов (apply_macs)
|
||||||
|
|
||||||
Служба apply_macs отвечает за применение MAC-адресов к сетевым интерфейсам при загрузке системы.
|
Служба apply_macs отвечает за применение MAC-адресов к сетевым интерфейсам при загрузке системы.
|
||||||
Эта служба считывает MAC-адреса из файлов, расположенных в каталоге /mnt/data/etc/vestasync/macs/, если они есть, и присваивает их соответствующим интерфейсам, таким как eth0, eth1, wlan0 и т. д. Это используется, если на контроллер был восстанновлен созданный бекап, чтобы сохранять MAC-адреса старого контроллера, и соотвественно, адрес, выданный DHCP.
|
Эта служба считывает MAC-адреса из файлов, расположенных в каталоге /mnt/data/etc/vestasync/macs/, если они есть, и присваивает их соответствующим интерфейсам, таким как eth0, eth1, wlan0 и т. д. Это используется, если на контроллер был восстанновлен созданный бекап, чтобы сохранять MAC-адреса старого контроллера, и соотвественно, адрес, выданный DHCP.
|
||||||
Для изменения MAC-адресов на изначальные надо просто удалить все файлы и перезагрузиться:
|
Для изменения MAC-адресов на изначальные надо просто удалить все файлы и перезагрузиться:
|
||||||
|
|
||||||
```
|
```
|
||||||
rm -rf /mnt/data/etc/vestasync/macs/*
|
rm -rf /mnt/data/etc/vestasync/macs/*
|
||||||
reboot
|
reboot
|
||||||
```
|
```
|
||||||
|
|
||||||
Или, если надо сделать это временно, остановить службу: ```systemctl stop apply_macs.service```
|
Или, если надо сделать это временно, остановить службу: ```systemctl stop apply_macs.service```
|
||||||
Обратно запустить: ```systemctl start apply_macs.service```
|
Обратно запустить: ```systemctl start apply_macs.service```
|
||||||
Узнать статус: ```systemctl status apply_macs.service```
|
Узнать статус: ```systemctl status apply_macs.service```
|
||||||
|
|
||||||
### Автоматическое версионирование и деплой конфигов (pushgit)
|
### Автоматическое версионирование и деплой конфигов (pushgit)
|
||||||
|
|
||||||
Служба pushgit работает в паре с таймером pushgit.timer. Они обеспечивают автоматическое сохранение конфигов в репозиторий Git на удаленном сервере ежедневно.
|
Служба pushgit работает в паре с таймером pushgit.timer. Они обеспечивают автоматическое сохранение конфигов в репозиторий Git на удаленном сервере ежедневно.
|
||||||
Это позволяет сохранять изменения в файлах и версионировать их, что упрощает управление конфигурационными файлами и предотвращает потерю данных при их случайном изменении или удалении.
|
Это позволяет сохранять изменения в файлах и версионировать их, что упрощает управление конфигурационными файлами и предотвращает потерю данных при их случайном изменении или удалении.
|
||||||
Чтобы отключить сохранение, надо остановить службу: ```systemctl stop pushgit.timer```
|
Чтобы отключить сохранение, надо остановить службу: ```systemctl stop pushgit.timer```
|
||||||
@ -82,11 +93,13 @@ reboot
|
|||||||
Запустить: ```systemctl start pushgit.timer```
|
Запустить: ```systemctl start pushgit.timer```
|
||||||
Узнать статус: ```systemctl status pushgit.timer```
|
Узнать статус: ```systemctl status pushgit.timer```
|
||||||
|
|
||||||
Для принудительной загрузки конфигов надо выполнить в консоли контроллера ```/usr/local/bin/pushgit.sh```
|
Для принудительной загрузки конфигов надо выполнить в консоли контроллера ```systemctl start pushgit.service```
|
||||||
|
|
||||||
|
|
||||||
## Gitea
|
## Gitea
|
||||||
|
|
||||||
В качестве git-сервера используется gitea. Предполагается, что она работает локально, но можно использовать и публичные инсталляции. Устанавливать ее можно любым удобным способом, например с помощью такого docker-compose:
|
В качестве git-сервера используется gitea. Предполагается, что она работает локально, но можно использовать и публичные инсталляции. Устанавливать ее можно любым удобным способом, например с помощью такого docker-compose:
|
||||||
|
|
||||||
```
|
```
|
||||||
version: "3"
|
version: "3"
|
||||||
|
|
||||||
@ -132,3 +145,5 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /root/gitea/pg-data:/var/lib/postgresql/data
|
- /root/gitea/pg-data:/var/lib/postgresql/data
|
||||||
```
|
```
|
||||||
|
|
||||||
|
После запуска контейнера, надо перейти в веб-панель Gitea, создать там пользователя Vestasync, после чего получить в его настройках токен доступа, установив все галочки. В дальнейшем этот токен указывается в ```gitea_token```
|
||||||
|
Loading…
Reference in New Issue
Block a user