Стартовая страница › Форумы › Новые идеи › Резервирование серверов
Помечено: Избыточность
- В этой теме 32 ответа, 4 участника, последнее обновление 1 год, 3 месяца назад сделано
Mikhail.
-
АвторСообщения
-
06.06.2022 в 18:34 #23926
Romiros
УчастникВообще, непонятно как это будет работать. Типа два сервера параллельно опрашивают приборы? А как тогда быть с событиями и аварийными уставками? Квитирование по два раза? Да и трафик удваивается во внешние сети.
06.06.2022 в 21:35 #23927manjey73
УчастникНу этот не столько резервирование, сколько возможность применения одной из scada в качестве шлюза в какую-то чужеродную.
Вариант, когда одна опрашивает и передаёт на другую и в случае останова начинает работать другая тоже приемлимый, только что делать с накопленными данными при восстановлении первой?06.06.2022 в 21:46 #23928a80808
УчастникСинхронизировать. Идеально — через отдельный канал. Вариант отказустойчивого кластера WinServer 2003. Там требовался (очень желательно!) отдельный сетевой интерфейс. Иначе может не успеть синхронизироваться.
07.06.2022 в 16:00 #23948Mikhail
МодераторВот убрать какой-то настройкой опрос до планового после старта?
Его надо просто убрать без дополнительной настройки, по-моему.
Если для чего-то нужен внеплановый опрос при старте линии, напишите, зачем.
Имеется ввиду, если задано время и/или период опроса.А как тогда быть с событиями и аварийными уставками? Квитирование по два раза?
Важный момент про квитирование. Квитировать один раз на оба сервера возможно только если идентификаторы событий совпадают. Если Коммуникатор отправляет данные на 2 сервера, то на каждом сервере будет свой ID одного и того же события. Значит синхронизация должна выполняться не Коммуникатором, а Быстрым шлюзом, который отправляет готовое событие со своим ID.
Дополнил файл.что делать с накопленными данными при восстановлении первой?
Забрать по команде оператора. Автоматический алгоритм, чтобы передать данные с Сервера 2 на Сервер 1 после восстановления пока не очень понятен. Какой-то сложный модуль нужен, который бы учитывал «рваные» промежутки времени, за которые надо передать данные.
-
Этот ответ был изменен 1 год, 3 месяца назад от
Mikhail.
07.06.2022 в 16:13 #23950manjey73
УчастникМихаил, я не знаю о каком внеплановом вы говорите, может мы о разных.
Предположим я ставлю опрос каждые 5 минут (специально выбрал больший период для понимания). А сейчас по часам скажет 16:03 минуты и я перезапускаю линию связи.
Так вот сейчас происходит опрос при запуске и когда часы дотикают до 16:05 произойдет очередной опрос, потом в 16:10 и так далее каждые 5 минут. Разве сейчас не так ?Так вот в случае двух опрашивающих серверов вот этот опрос при старте линии надо отключить, так как он может совпасть с периодическим опросом другого сервера и внести коллизию…
Чем меньше времени в периоде, тем чаще опросы и в случае перезапуска линии это может мешать.
-
Этот ответ был изменен 1 год, 3 месяца назад от
manjey73.
07.06.2022 в 16:44 #23952Mikhail
МодераторЯ про то же самое, вроде. Считаю, что нужно исключить опрос в 16:03. Верно?
07.06.2022 в 16:53 #23953manjey73
УчастникДа, в случае если применяем два Сервера для одновременного опроса иметь возможность в настройках линии исключить опрос при старте, начинать с того времени, которое совпадает с периодом.
07.06.2022 в 17:11 #23954Romiros
УчастникМне кажется, если делать резервирование, то службы второго экземпляра RapidScada должны быть остановлены(server, comm, web). Нужна отдельная служба синхронизации данных. В пятой версии был способ доступа к данным без сервера. Ну и в шестой он тоже есть. Так вот эта служба должна мониторить какой из серверов активен и сливать с него данные в резервный. У нас другая scada-система работает похожим способом.
07.06.2022 в 17:37 #23955Romiros
УчастникВозможно существующая служба scsds-агента с доработкой функционала может служить таким диспетчером остановки запуска служб и синхронизации данных.
07.06.2022 в 18:05 #23956Mikhail
Модераторв настройках линии исключить опрос при старте, начинать с того времени, которое совпадает с периодом
Предлагаю это сделать не в настройках, а по умолчанию.
07.06.2022 в 18:10 #23957Mikhail
МодераторМне кажется, если делать резервирование, то службы второго экземпляра RapidScada должны быть остановлены(server, comm, web)
Наверное, не соглашусь. Службу ScadaServer мы не можем выключить, потому что она является в том числе сервером базы данных и управляет архивами. Без неё в архив не запишешь.
Про отключение ScadaComm думал, но с точки зрения логики работы без разницы, остановить/запустить службу или остановить/запустить линии связи.
ScadaWeb нет смысла останавливать, т.к. если не пользоваться веб-приложением, то оно ничего и не делает.
Т.к. 3-го сервера, который централизованно управляет синхронизацией, у нас нет (это было бы ещё одно звено, которое может сломаться), то дополнительный серверный модуль может определять пробелы в данных и запрашивать их с другого сервера. Алгоритм работы такого модуля — предмет разработки.
07.06.2022 в 19:54 #23958manjey73
УчастникНе, не надо по умолчанию отключать, а если у нас период с очень большим промежутком? Час, а то и сутки?
Это нужно только при одновременной работе двух серверов при малом периоде опроса и только.Хотя если между серверами в линиях связи будет какой-то индикатор завершения опроса, чтобы следующий начал опрашивать, то линия может и в цикле выполнять опрос, даже при нескольких приборах на линии, а если на другом сервере перегружаем линию, то она ждёт от первого разрешающей команды.
-
Этот ответ был изменен 1 год, 3 месяца назад от
manjey73.
07.06.2022 в 21:36 #23962Romiros
УчастникScadaWeb нет смысла останавливать, т.к. если не пользоваться веб-приложением, то оно ничего и не делает.
Согласен, тем более клиентские браузеры не знают какой из серверов в работе. Всё-равно они должны обращаться к какому-то постоянному серверу, а потом уже переадресовываться.
07.06.2022 в 22:01 #23963a80808
УчастникКоллеги, вообще то все это сделано уже у компании РТ-Софт. Когда то вначале 200 мы с ними строили на одной из станций систему телемеханики по 603 приказу…
Там отказоустойчивость была прописана в ТЗ. первый вариант — отказоустойчивый кластер на Windows server 2003. потом я уже отошел от этого (если честно то работал в другой, «конкурирующей» 🙂 структуре.) как раз было сделано два сервера и специальное устройство арбитр) которое регулировало работу серверов (актив/пассив). У нмх же был аппаратный переключатель RS-232 \485 (это пока шел МЭК-101, сейчас МЭК-104, стало неактуально) на активный узел..)08.06.2022 в 14:24 #23968Mikhail
МодераторЭто нужно только при одновременной работе двух серверов при малом периоде опроса и только.
Жаль, что нужно оставить. Не хочется слишком много мелких настроек делать — пользователи путаются.
Хотя если между серверами в линиях связи будет какой-то индикатор завершения опроса
Можно сделать синхронизацию внутри канала связи. Но по умолчанию такая реализация не планируется.
-
Этот ответ был изменен 1 год, 3 месяца назад от
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.