Перенос приложения SCADA между серверами
ООО "МАГМАС-АВТОМАТИК"
Понадобится при необходимости длительного отключения сервера (ремонт/обслуживание).
Перенос возможен, если оба сервера (с которого, и на который переносим) работают в одной локальной сети "верхнего уровня" (SCADA-клиенты) и в одной сети "нижнего уровня" (контроллеры на Ethernet).
При должной подготовке все манипуляции займут 5 минут + время переноса базы данных (в зависимости от размера, 0..15 минут)
Чем быстрее будет выполнена эта инструкция, тем меньше будет разрыв в записях базы данных. Поэтому сначала нужно:
- изучить и понять ВСЕ пункты этой инструкции
- иметь доступ к фиксации/обновлению хранилища D:\Factory через TortoiseSVN или подготовиться к другому способу копирования файлов между серверами (открыть папку для чтения или через http:// в браузере)
- убедиться, что оба сервера (с которого, и на который переносим) работают в одной локальной сети PC (выполнить ping через ip_pc) и в одной локальной сети PLC (выполнить ping через ip_plc)
- для ускорения процесса желательно не перемещаться между компьютерами, а пользоваться удаленным рабочим столом
Для определенности, переносится на заводе ЗАВОД приложение APP1 с сервера SRV1 на сервер SRV2.
Перед началом переноса убедиться, что ВСЕ серверы завода имеют последнее программное обеспечение, для чего на каждом сервере:
- обновить D:\Factory через TortoiseSVN, и, если были изменения, то:
- выполнить сборку общих файлов D:\Factory\Common\BuildScada.bat
- выполнить сборку заводских проектов D:\Factory\ЗАВОД\Build.bat
Если перенос базы данных не нужен, можно начинать выполнение с пункта №4.
- (желательно через удаленный робочий стол с сервера SRV2) запустить сохранение базы данных приложения APP1 в архив (выполнить D:\Factory\ЗАВОД\DB\backupAPP1.bat), дождаться завершения
- файл архива базы данных D:\FactoryLocal\ЗАВОД\DB\GBK\APP1.gbk скопировать из сервера SRV1 на сервер SRV2 по такому же пути (можно через браузер http://SRV1/Local/ЗАВОД/DB/GBK/APP1.gbk - изменить адрес на нужный)
- распаковать полученный архив базы данных APP1.gbk (выполнить D:\Factory\ЗАВОД\DB\restoreAPP1.bat)
- в файле параметров завода D:\Factory\ЗАВОД\Factory.txt в приложении <APP> с именем name=APP1 изменить параметр srv=SRV1 на srv=SRV2.
- открыть в любом браузере или в ScadaStarter localhost (контроль изменений Factory.txt, если будут сообщения об ошибках - исправить)
- если разрешен доступ, зафиксировать изменения файла D:\Factory\ЗАВОД\Factory.txt в хранилище через TortoiseSVN.
- если в штатном режиме был запущен ScadaWatchDog.exe, он обнаружит отсутствие ScadaConfig.exe, исполняющего APP1.hrd и автоматически его запустит. Иначе, можно открыть ScadaWatchDog.exe и в появившейся строке приложения APP1 нажать кнопку «Запустить»
- обновить хранилище D:\Factory\ через TortoiseSVN (или скопировать с сервера SRV2 файл D:\Factory\ЗАВОД\Factory.txt, или изменить этот файл ИДЕНТИЧНО п.4)
- остановить приложение APP1:
- в приложении ScadaWatchDog отключить всех клиентов приложения APP1 кнопкой х (это необходимо чтобы все клиенты стартовали в последствии с сервера SRV2)
- закрыть ScadaConfig, исполняющий APP1.hrd (Alt+X или через ScadaWatchDog)
- если приложение APP1 было единственным на сервере SRV1, закрыть ScadaWatchDog (Alt+X)
- обновить хранилище D:\Factory\ (или скопировать с сервера SRV2 файл D:\Factory\ЗАВОД\Factory.txt, или изменить этот файл ИДЕНТИЧНО п.4)
На сервере SRV1
На сервере SRV2
На сервере SRV1
На всех серверах завода (кроме SRV1 и SRV2)
У SCADA-клиентов в ScadaStarter произойдет автоматическое обновление параметров, и ScadaStarter "узнает" о переносе приложения на другой сервер наибольшее через несколько минут.