В связи с выходом крупного обновления 5.9.х, приглашаем вас принять участие в вебинаре 09.06.2022 в 15:00. Участвовать

Аварийный переход на другой сервер



  • Здравствуйте. Если наступит такой момент, что сломается компьютер или сервер перестанет отвечать по каким либо причинам, то как сделать переключение на другой компьютер, например для этих моментов как резерв будет использована raspberry pi.



  • @DM19
    Свой проект загружаете на другой сервер, и все.
    На некоторых контроллерах нужно указать IP адрес сервера, например на МегаД. Без этого обратная связь не работает.
    Как бы и все проблемы.
    Упал сервер - запусти IH с проектом на любом другом.



  • @Erik Чтобы автоматически он включался.



  • Пользователь @DM19 написал в Аварийный переход на другой сервер:

    @Erik Чтобы автоматически он включался.

    Зачем автоматически?
    Нужно обязательно, чтобы вы заметили падение первого сервера.
    Иначе смысла нет.
    Второй тоже рано или поздно упадет.

    Самовосстанавливаться сервера еще не умеют. Этим нужно заниматься.
    Старт второго сервера займет 2 минуты после того, как заметите, что упал первый.



  • На самом деле проблема надуманная! Вчера у меня упал софт intraHouse (немного вторгся в его код) и по факту восстановил его за считанные минуты. Просто нужно понимать последовательность действий для восстановления:

    1. Нужен архив с последним проектом, поэтому при изменениях обязательно выгружайте проект на рабочий АРМ.
    2. Нужна подменная железка если есть вероятность ее выхода из строя (обычно одноплатники с флешкой).
    3. Отключаем от сети старый сервер, подключаем новый.
    4. Заходим на роутер и меняем MAC сервера УД чтобы роутер раздал новому тот же IP-адрес (или устанавливаем IP-адрес вручную).
    5. Заходим с помощью SSH на новый сервер.
    6. Делаем apt-get update и apt-get upgrade для обновления системы. Перезагружаем и наблюдаем через dmesg, что с обновленной системой новый сервер нормально стартовал.
    7. Устанавливаем iH командой - "curl -sL https://git.io/fN1JN | sudo -E bash -s ru"
    8. Через веб заходим сразу в PM iH - http://xxx.xxx.xxx.xxx:8088/pm/ под credentials admin/admin.
    9. С помощью раздела "Плагины" загружаем, заранее скачанные с сайта плагины, которые используются в проекте.
    10. На главной странице PM жмем кнопку обновить - чтобы обновилась система УД вместе с плагинами до последней версии.
    11. Если предполагается версия PRO, то устанавливаем БД MySQL. Затем заходим в личный кабинет и копируем ключ, вставляем его в соответствующее поле на главной странице PM, ждем активации. В разделе "Настройки" системы при необходимости меняем настройки подключения к БД.
    12. В PM переходим в раздел "Настройки" - загружаем свой проект и делаем его активным. При необходимости меняем порт интерфейса, локацию.

    Бывают всякие частные случаи:

    1. Упал софт iH из-за некорректного сценария (например, зацикленный сценарий с малым временем цикла) - нужно залезть на сервер, остановить iH (sudo service intrahouse-c stop), исправить или удалить сценарий в разделе /var/lib/intrahouse-c/projects/ИМЯ_ПРОЕКТА/scenes/script, а потом заново запустить сервер (sudo service intrahouse-c start)
    2. Накрылась флэшка - при первой установке ОС + сервера УД и до загрузки рабочего проекта (до активации до PRO) сделать резервный дамп флэшки. Таким образом, при установки новой флэшки в компьютер нужно будет проделать шаги 10-12.

    Может еще что-то бывает (как у меня вчера:) ), но это надо умудриться еще сделать! А вот уведомление о не работающем сервере (если все уехали в отпуск) я бы как-нибудь организовал... пока рабочих идей нет. Erik - подскажи, ты все же гик 10 уровня:)



  • Просто делаю клон sd карты.Ну а последовательность действий описал описал выше Alex_Jet.



  • Большое спасибо всем за отклик 🙂
    У меня уже есть 2 компьютера, один из них основной ( среднего ценового сегмента ) и подешевели, raspberry pi3. Полный клон на карту установлен в раберри. Случаи бывают разные, как Alex_Jet писал, что если дома длительное время отсутствовать и произойдет падение сервера. Ну или супруга окажется в такой ситуации, то сказать "нажми эту кнопку " может быть некий тупняк 🙂
    Вот идея замечательная, о уведомлении о не работающем сервере. Тут уже можно привязать и канал к megad, чтобы сбросить питание основного сервера на секунд 10 ( таким образом попытаться перезагрузить ) ну или просто опять же через megad подать питание на расберри, а основной сервер выключить питание.



  • Ну желательно в ih иметь возможность зеркалирования


Log in to reply