Перенос приложения SCADA между серверами
ООО "МАГМАС-АВТОМАТИК"

Понадобится при необходимости длительного отключения сервера (ремонт/обслуживание).

Перенос возможен, если оба сервера (с которого, и на который переносим) работают в одной локальной сети "верхнего уровня" (SCADA-клиенты) и в одной сети "нижнего уровня" (контроллеры на Ethernet).

При должной подготовке все манипуляции займут 5 минут + время переноса базы данных (в зависимости от размера, 0..15 минут)

Чем быстрее будет выполнена эта инструкция, тем меньше будет разрыв в записях базы данных. Поэтому сначала нужно:

Для определенности, переносится на заводе ЗАВОД приложение APP1 с сервера SRV1 на сервер SRV2.

Перед началом переноса убедиться, что ВСЕ серверы завода имеют последнее программное обеспечение, для чего на каждом сервере:

Если перенос базы данных не нужен, можно начинать выполнение с пункта №4.

    На сервере SRV1

  1. (желательно через удаленный робочий стол с сервера SRV2) запустить сохранение базы данных приложения APP1 в архив (выполнить D:\Factory\ЗАВОД\DB\backupAPP1.bat), дождаться завершения
  2. На сервере SRV2

  3. файл архива базы данных D:\FactoryLocal\ЗАВОД\DB\GBK\APP1.gbk скопировать из сервера SRV1 на сервер SRV2 по такому же пути (можно через браузер http://SRV1/Local/ЗАВОД/DB/GBK/APP1.gbk - изменить адрес на нужный)
  4. распаковать полученный архив базы данных APP1.gbk (выполнить D:\Factory\ЗАВОД\DB\restoreAPP1.bat)
  5. в файле параметров завода D:\Factory\ЗАВОД\Factory.txt в приложении <APP> с именем name=APP1 изменить параметр srv=SRV1 на srv=SRV2.
  6. открыть в любом браузере или в ScadaStarter localhost (контроль изменений Factory.txt, если будут сообщения об ошибках - исправить)
  7. если разрешен доступ, зафиксировать изменения файла D:\Factory\ЗАВОД\Factory.txt в хранилище через TortoiseSVN.
  8. если в штатном режиме был запущен ScadaWatchDog.exe, он обнаружит отсутствие ScadaConfig.exe, исполняющего APP1.hrd и автоматически его запустит. Иначе, можно открыть ScadaWatchDog.exe и в появившейся строке приложения APP1 нажать кнопку «Запустить»
  9. На сервере SRV1

  10. обновить хранилище D:\Factory\ через TortoiseSVN (или скопировать с сервера SRV2 файл D:\Factory\ЗАВОД\Factory.txt, или изменить этот файл ИДЕНТИЧНО п.4)
  11. остановить приложение APP1:
    • в приложении ScadaWatchDog отключить всех клиентов приложения APP1 кнопкой х (это необходимо чтобы все клиенты стартовали в последствии с сервера SRV2)
    • закрыть ScadaConfig, исполняющий APP1.hrd (Alt+X или через ScadaWatchDog)
    • если приложение APP1 было единственным на сервере SRV1, закрыть ScadaWatchDog (Alt+X)
  12. На всех серверах завода (кроме SRV1 и SRV2)

  13. обновить хранилище D:\Factory\ (или скопировать с сервера SRV2 файл D:\Factory\ЗАВОД\Factory.txt, или изменить этот файл ИДЕНТИЧНО п.4)

 

У SCADA-клиентов в ScadaStarter произойдет автоматическое обновление параметров, и ScadaStarter "узнает" о переносе приложения на другой сервер наибольшее через несколько минут.