Страница 1 из 1

Резервный сервер МД

Добавлено: Вт окт 16, 2018 4:48 am
TransMatrix
Собственно когда у меня после апа вчера опять слетел на Альфе сервер - задолбался с выключением и включением приборов и решил озаботиться резервированием...

Исходные данные:
Сервер - машинка довольно мощная параметры не помню, но несколько ядер и куча памяти и диска. В связи с этим на ней висит сервер kvm (виртуальных машин).
Сервер мд-основной. Kvm машина.
Сервер Москита. Kvm отдельная от мд. Тупо чтобы не падали совсем уж вместе.
Сервер ZoneMindera - kvm.
Сервер Астериск (FreePBX) - kvm.

Сервер МД-резерв - малинка. На отдельном упсе вместе с Сяоми-бриджем. Как показала практика - может работать часами.

В сети все в основном на mqtt сидят. Исключение будет для аварийной системы.

Соответственно логика:
На малине есть режим "Резервирование" - включение будет по пропаданию пинга с основного сервера.
Выключение - когда основа начала пинговать нас по новой.
В методах Switch и TurnOn и Off простых устройств - проверка этого режима. Если мы в режиме резервирования - проходят команды на пу. Если нет - команды отрабатывает 'в уме'. Благодаря Сяоми - данные приходят на все сервера, а благодаря mqtt - управляем с любого.

Режим "Авария"

Re: Резервный сервер МД

Добавлено: Вт окт 16, 2018 10:04 am
newz20
Я другой вариант вижу для твоего решения. 1 проблема твоего решения это физический сервер для kvm, если он ляжет то ты на резерве остаешься без mqtt, а у тебя описан он как основной протокол связи.
Предлагаю поднять сервер mqtt на основном kvm вместе с мажором, и на малине сделать так же. При падении основного сервера одной командой из мажора меняется ip на резервном сервере на ip основного и все работает дальше без сбоев. Астерикс поднять можно и на малине (конечно если не на реальном проводе работает, но можно к малине и модем подцепить gsm для звонков ), а вот зоне может и не потянуть, но там скорее всего и аппаратка не переключится если камеры не ip.
Переход на основной сервер только в ручном режиме ибо фиг его знает почему он завыделывался. Переход без проблем меняешь ip обратно командой на резервном и основной возвращается к работе.
Синхронизация баз и файлов не проблема сейчас.

Re: Резервный сервер МД

Добавлено: Вт окт 16, 2018 7:06 pm
TransMatrix
newz20
Основная цель выноса всего в виртуалки - тупо чтобы оно не влияло друг на друга. Если рухнул мажор - рухнул только он. Если при установке на Убунту у Зонера проблемы - поставим под Дебиан. И т.д.
Реальные интерфейсы под kvm спокойно прокидываются и ЗонеМайндер спокойно видит две юсб камеры сервера. При этом "жирность" сервака реально спасает.

Малиновый дублер - ему не столь и нужно полностью заменять основу. Это именно дублер на время кризисов и отказов. Он не хранит инфу от датчиков, он может не управлять особо освещением: он именно аварийный.
Нет света, полетел основной сервак, затопило проводку - спасатели спешат на помощь.
Ну и фишечки класса "включить если что симулятор присутствия".

Re: Резервный сервер МД

Добавлено: Вт окт 16, 2018 7:29 pm
newz20
Ну тут видишь у каждого свои тараканы и каждый их кормит по-своему. Я описал еще один вариант резервирования.

Re: Резервный сервер МД

Добавлено: Ср авг 17, 2022 12:23 pm
Bagir
Как бы там ни было, но если серьезно опираться на свой умный дом, все дороги придут в эту тему. Рано или поздно, всё наше детище упадет, и резервные копии тоже не панацея. Железо не вечно, и ремонт может занять какое то время. На момент перехода с семерки на десятку, я перемещал сервер на ноутбук, и он прекрасно там работал.
Путей решения множество, и конечно же всё зависит от поставленной задачи. Пока что я вижу такой вариант:
  • Резервный сервер включается по времени или "кнопочкой перед необходимостью". Ещё наверное каким либо сторожем при отказе основного.
    При включении проверяет работу основного сервера

    Если всё в полном порядке, то забирает с основного копию файлов и базы данных
    Потом выключается.

    Если основной в сети (пингуется ip), но по результатам проверки что то не нравится, то резервный сервер шлет нам сообщение что требуется участие.

    Если основной вообще мертв, то резервный запускает Апачи, МД, берет его ip адрес и становится основным.
Кто нибудь реализовал у себя такое? Тут столько разных моментов, и которых неплохо бы поговорить перед тем как это начать делать.

Основные цели, которые я преследую:
Включить резервный сервер самому перед обновлением системы, либо перед написанием сложного кода. Он должен всё забекапить, и выключится сам.
Бекапы по времени, ну мало ли что, да и терять историю данных не хочется.
Резервный почти всегда выключен, что уменьшает риски его смерти например во время грозы.
Резервный проводит диагностику основного
Резервный сам подменит основной при аварии.
Возврат обратно действительно руками. Не с проста же...