26.3.2024

Redundantné SCADA / MES systémy a D2000

Na systémy typu SCADA a MES sú často kladené vysoké nároky v zmysle dostupnosti, funkčnosti a prevádzkyschopnosti (ideálne 24/7/365). Keďže každé zariadenie má určitú životnosť a poruchovosť, je potrebné tieto faktory ošetriť. Využitie redundancie je spôsob, ako zvýšiť celkovú dostupnosť systému aj pri výpadku jedného alebo viac komponentov.

Aplikačný server D2000 implementuje viacero typov redundancie:

  1. Redundancia aplikačného servera
  2. Redundancia sietí
  3. Redundancia archivácie
  4. Redundancia komunikačných procesov
  5. Redundancia iných systémových procesov

Skúsme sa pozrieť na jednotlivé typy redundancie a uviesť ich použitie a prínos pre zákazníka.

 

1. Redundancia aplikačného servera

 

Jedná sa o prevádzkovanie dvoch a viac aplikačných serverov spojených do tzv redundantnej skupiny. Každý aplikačný server je spustený na inom fyzickom počítači. Jeden z nich je aktívny - “HOT”, všetky ostatné sú pasívne – “SBS” (standby servery). Tieto prijímajú od HOT servera zmeny v konfigurácii a hodnotách objektov tak, aby v každom okamihu obsahovali aktuálne dáta a boli pripravené prevziať rolu HOT servera.

K aktivácii SBS servera dochádza automaticky v dôsledku pádu HOT servera alebo po ručnom prepnutí redundancie administrátorom. Klienti môžu byť konfigurovaní na automatické pripojenie k novému HOT serveru.

redundancia aplikačného servera

Obr 1: redundancia aplikačného servera

 

Okrem havarijných situácií je aplikačná redundancia použiteľná napr. na bezvýpadkovú prevádzku pri pravidelných aktualizáciach Windows, D2000 a ďalšieho softvéru, ktorý je súčasťou aplikácie, prípadne pri aktualizácii firmware serverov a pod.  Metódou postupnej aktualizácie (aktualizácia servera A a reštart – nastavenie ako HOT – prevádzka napr. týždeň – aktualizácia servera B) je možné verifikovať, či aktualizácia nespôsobila problémy a ak áno, prepnutím na zatiaľ neaktualizovaný server (B) systém okamžite sfunkčniť (a následne riešiť odinštalovanie aktualizácií, prípadne obnovu servera A zo zálohy).

Obr 2: zobrazenie serverov v administračnom nástroji D2000 System Console

Obr 2: zobrazenie serverov v administračnom nástroji D2000 System Console. V hornej časti vidieť 3 neredundantné D2000 servery, pod nimi redundantnú skupinu DAC s dvoma aplikačnými servermi a REMS s troma. V hranatých zátvorkách za názvom servera je zobrazené meno aplikácie.

 

Viacero zákazníkov pomocou redundancie 2+1 (2 servery na hlavnej lokalite, 1 na záložnej) implementovalo HA (high availability) + DR (disaster recovery) riešenia. Dočasne bola redundancia 1+1 alebo 2+1 alebo 2+2 použitá aj pri projektoch online migrácie aplikácie - na nové servery v rámci tej istej siete alebo do iného sieťového segmentu. 

 

2. Redundancia sietí

 Redundancia sietí znamená zabezpečiť dvojitú LAN na komunikáciu medzi klientmi a aplikačným serverom D2000. V tejto konfigurácii je každý klient pripojený k D2000 serveru dvoma nezávislými TCP spojeniami. V prípade zlyhania primárneho spojenia sú nepotvrdené dáta znovu poslané sekundárnym spojením, takže nedôjde k strate dát ani k rozpadu “logického” spojenia, iba k niekoľkosekundovému “zamrznutiu” dát.  Je možné nastaviť na strane klienta jednu sieť ako preferovanú, takže pokiaľ bude spojenie cez ňu funkčné, bude sa používať prioritne (príklad použitia - klient na lokalite s 100 MBit LAN zálohovanou niekoľko MBit VDSL linkou).

 

sieťová schéma jedno a dvojserverovej aplikácie s redundanciou sietí

Obr 3: sieťová schéma jedno a dvojserverovej aplikácie s redundanciou sietí

 

Redundancia sietí je dostupná v rámci základnej licencie D2000. Podobne ako pri redundancii serverov je možné ju využiť na bezvýpadkovú údržbu sieťových komponentov (patchovanie alebo výmenu switchov/routrov, náhradu kabeláže, napájania siete a pod).

 

zobrazenie detailov servera v administračnom nástroji D2000 System Console

Obr 4: zobrazenie detailov servera v administračnom nástroji D2000 System Console.
Vidieť stĺpce “IP address 1” a “IP address 2” zobrazujúce adresy servera v nezávislých sieťach.

 

Čiastočnou alternatívou použiteľnou pre LAN je “zdvojenie” sietí na fyzickej úrovni, pričom na logickej úrovni sa stále jedná o jednu sieť s jednou IP adresou – technológie známe ako ako teaming alebo bonding. Ich výhodou je, že ich môže použiť aj aplikácia, ktorá nemá implementovanú redundanciu sietí. Výhodou redundancie sietí je zas lepšia diagnostika (až na užívateľskej úrovni) a možnosť úplného oddelenia sieťových komponentov (teaming/bonding vyžaduje switche v jednom sieťovom segmente). Ďalšou výhodou používanou aj v praxi je možnosť nasadenia aj vo WAN sieťach (dve nezávislé spojenia medzi vzdialenými lokalitami s použitím rôznych technológií, napr. optika a bezdrôtový prenos).

 

 

diagnostika funkčnosti redundancie sietí v užívateľskom rozhraní HI (HMI)

Obr. 5: diagnostika funkčnosti redundancie sietí v užívateľskom rozhraní HI (HMI). Dva zelené krúžky
v stavovom riadku indikujú funkčnosť sieťových spojení medzi HI a aplikačným serverom D2000.

 

 3.Redundancia archivácie

 

Redundancia archivácie je použitá vo väčšine SCADA/MES aplikácii, keďže dáta sú vnímané ako cenné aktíva. Realizuje sa “zdvojením” resp. znásobením archívov a archívnych databáz (hovoríme o archívnej inštancii 1,2 atď., pričom inštancia môže byť aktívna alebo pasívna). Každý archív ukladá archívne dáta do vlastnej databázy, ale iba aktívna inštancia slúži na čítanie pre potreby aplikácie a klientov. D2000 podporuje aj load-balancing, pri ktorom môže byť aktívnych niekoľko inštancií, takže celková záťaž čítania sa medzi ne rozloží.

V praxi sa často (najmä pre MES systémy) používa asymetrická konfigurácia archívov – jeden z nich okrem archivačnej databázy ( v ktorej sa nachádzajú dáta všetkých archívnych objektov podľa nakonfigurovanej hĺbky archivácie) napĺňa aj tzv. trezory – databázy s neobmedzenou hĺbkou archivácie, ktoré sa používajú na dlhodobú archiváciu. V tomto prípade je archív s trezormi väčšinou nastavený ako preferovaný (poskytuje užívateľom dlhodobé dáta na analýzy).

 

redundancia archivácie

Obr 6: redundancia archivácie

 

Je možné (a niekedy aj využívané zákazníkmi) použiť redundantné archívy, ktoré ukladajú dáta do rôznych archívnych databáz (MsSql, Sybase SQL Anywhere, Oracle či PostgreSQL) – takáto konfigurácia je odolnejšia voči chybe SQL servera, ktorá by mohla postihnúť dve identické databázy.

Podobne ako pri redundancii aplikačných serverov je možné redundanciu archívov využiť na zabránenie strate dát pri aktualizáciach Windows, D2000 či databázy. Archívy obsahujú mechanizmus na “zaplátanie” diery, ktorá vznikla pri ich výpadku alebo riadenej odstávke. Chýbajúce dáta sú dosynchronizované z druhej inštancie.

 

4.Redundancia komunikačných procesov

 

Podobne ako pri redundancii archivácie, komunikačné procesy možno “zdvojiť” resp. znásobiť. Rozdiely voči funkčnosti archívov sú:

  • aktívna inštancia vykonáva komunikáciu so zariadeniami (čítania, zápisy)
  • funkčnosť pasívnej inštancie závisí od konkrétneho protokolu. V niektorých protokoloch redundancia podporená nie je. V iných (Modbus) pasívna inštancia neposiela ani nečíta dáta. V iných (IEC101) funguje v odposluchovom móde (číta a analyzuje odpovede na výzvy aktívnej inštancie). V ďalších (IEC104 klient/server) je funkčnosť konfigurovateľná – od úplnej pasivity cez čítanie hodnôt až po posielanie hodnôt (voliteľne s príznakom, že pochádzajú od pasívnej inštancie).

Ak konkrétny protokol umožňuje aj pasívnej inštancii získavanie dát, umožňuje to “beznárazové” prepínanie aktívnej a pasívnej inštancie – nedochádza k oneskoreniam spojeným s inicializáciou komunikačného kanála. Príkladom môže byť OPC protokol, ktorý vyžaduje zadefinovanie OPC skupín a následnú aktiváciu všetkých OPC položiek, ktoré majú byť čítané (toto môže trvať pri tisíckach položiek aj niekoľko minút, v závislosti od výkonnosti a zaťaženia hardvéru a latencie siete).

 

 

redundancia komunikačných procesov

Obr 7: redundancia komunikačných procesov

 

Niektoré komunikačné protokoly implementujú redundančné „chuťovky“ pre konkrétne aplikácie. Napríklad protokol Microtel 700 používaný v telemetrii v plynárenskom priemysle okrem primárnej komunikačnej trasy (sériovej, resp. sériovej prevedenej na UDP pakety napr. pomocou Moxa NPort servera) podporuje jednu alebo dve záložné ethernet trasy s komunikáciou UDP paketmi, ktoré sa aktivujú po strate spojenia po primárnej trase alebo ručne na žiadosť operátora.

 

redundantné komunikačné procesy v administračnom nástroji D2000 System Console

Obr 8: redundantné eventy ABB.EVH a komunikačné procesy CHUV.KOM (inštancie 1 a 2) zobrazené v administračnom nástroji D2000 System Console. Možno si všimnúť, že procesy sú pripojené na aplikačný server SKEI2 (zrejme HOT), server SKEI1 je teda SBS.

 

Protokoly TG809 a IEC101, používané v komunikácii so Slovenským elektroenergetickým dispečingom, zase umožňujú paralelnú komunikáciu s hlavným dispečingom v Žiline aj záložným dispečingom v Bratislave, pričom každý dispečing komunikuje po dvoch nezávislých komunikačných linkách. V prípade konfigurácie sériovej linky komunikácia prebieha s použitím štyroch sériových portov zodpovedajúcim štyrom komunikačným linkám:

 

konfigurácia sériovej linky so systémovou a linkovou redundanciou

Obr 9: konfigurácia sériovej linky so systémovou a linkovou redundanciou

 

Pokiaľ je na komunikáciu použitý Moxa NPort server, aj tento môže byť zdvojený (pričom každý sa môže nachádzať na inom sieťovom segmente a byť na inej vetve napájania) a v tomto prípade je možné na komunikáciu po 4 linkách nakonfigurovať celkove 8 sériových serverov:

 

konfigurácia UDP linky so systémovou a linkovou redundanciou a s podporu záložného sériového servera

Obr 10: konfigurácia UDP linky so systémovou a linkovou redundanciou a s podporu záložného sériového servera

 

Takáto konfigurácia vie byť odolná voči výpadku sieťového segmentu alebo jednej vetvy napájania bez straty komunikácie po primárnej alebo sekundárnej linke.

 

5. Redundancia iných systémových procesov

 

Podobne ako komunikačné alebo archívne procesy, aj ďalšie systémové procesy D2000 môžu byť zredundantnené (event – viď Obr 8, dbmanager), ale tu je už prínos nižší. Jedinou výnimkou je proces EDA server, ktorý zabezpečuje prístup k tzv. EDA databáze slúžiacej na archiváciu časových radov. Podobne ako archív, aj EDA server podporuje load balancing – v tomto prípade sa ale jedná o viacero EDA serverov zapisujúcich do jedinej EDA databázy (v prípade archívov má každý vlastnú archívnu databázu). Load balancing umožňuje efektívne využitie zdrojov viacerých serverov (CPU, RAM) a vytvorenie globálnej cache dát dostupnej všetkým klientom bez ohľadu na to, ku ktorému EDA serveru sú pripojení.

 

Záver

 

Popisované typy redundancie v aplikačnom serveri D2000 nie sú novinky, ale rokmi overené technológie používané u mnohých SCADA a MES systémov. Príkladom je redundancia aplikačného servera 2+1, redundancia archívov 2+1, sietí a vybraných komunikácií na riadiacom systéme dispečingu tranzitného plynovodu nasadenom v roku 2003, ktorý je funkčný doteraz – pochopiteľne s viacerými výmenami verzie D2000 a hardvéru.

 

Okrem spomenutých typov redundancie je nutné sa pri návrhu riadiacich systémov zamyslieť jednotlivo nad každým fyzickým komponentom alebo prostriedkom a komplexne analyzovať vplyv ich výpadku – či sa jedná o sieťové komponenty (poprípade prepojenie na okolie a partnerov), napájanie (servery disponujú spravidla viacerými napájacími zdrojmi, ktoré môžu byť pripojené napr. k nezávislým UPS), klimatizáciu a podobne. A ešte ďalšou kapitolou je návrh disaster-recovery riešení, ktoré počítajú s výpadkom celej lokality (serverovne, budovy) a vybudovaním záložnej...

 

autor zachytený pri testovaní redundantných systémov

Obr 11: autor zachytený pri testovaní redundantných systémov, rok 2004. 
Treba pamätať aj na redundanciu administrátorov a dispečerov :)

 

18.6.2017, Ing. Peter Humaj

Iné blogy