22. srpna 2013 | Reliance SCADA
Ve verzi 4.6.0 byla do systému Reliance 4 doplněna redundance datových serverů (Reliance Control Server, Reliance Server). Je také označována jako redundance typu server–server.
Smyslem této funkce je vytvoření horké zálohy pro nejdůležitější počítače v projektu. Na nich je zpravidla spuštěn datový server, který zajišťuje komunikaci se stanicemi (PLC apod.), ukládá historická data a alarmy/události do databází, poskytuje data klientům, případně plní další důležité funkce. Pro každý důležitý počítač v projektu (dále označován jako primární server) je možné přidat sekundární server. Na obou počítačích musí být spuštěn datový server se stejnou verzí projektu. Každý ze serverů má svoji kopii databází, do kterých ukládá historická data a alarmy/události.
Pouze server, který má aktivní roli (je aktivní), zajišťuje následující funkce: komunikace se stanicemi, získávání historických dat, generování alarmů/událostí, odesílání informací o alarmech/událostech e-mailem a/nebo SMS zprávou.
Za normálních okolností (tj. pokud oba servery běží a je mezi nimi navázáno spojení) má aktivní roli primární server. Sekundární server má roli zálohy – nekomunikuje přímo se stanicemi, veškerá data (aktuální i historická) a alarmy/události získává od primárního serveru (vůči primárnímu serveru se chová jako klient). V důsledku toho jsou časové značky dat a alarmů/událostí na obou serverech shodné.
V případě výpadku primárního serveru automaticky převezme aktivní roli sekundární server. Začne tedy komunikovat přímo se stanicemi, generovat alarmy/události a získávat historická data. Jakmile se obnoví spojení s primárním serverem, přejde sekundární server opět do role zálohy a mezi servery začne probíhat synchronizace. Po dokončení synchronizace aktuálních dat a alarmů/událostí převezme aktivní roli opět primární server. Potom proběhne synchronizace historických dat (datových tabulek).
Synchronizací se rozumí výměna dat mezi servery takovým způsobem, aby došlo k doplnění chybějících dat do databází a oba servery měly k dispozici nejnovější data. Totéž se týká alarmů/událostí. Konkrétně při obnovení činnosti primárního serveru po předchozím výpadku dojde k doplnění chybějících dat a alarmů/událostí v databázích primárního serveru. Synchronizace se provádí automaticky pokaždé po navázání spojení mezi servery (mohlo dojít např. k výpadku spojení mezi servery nebo k restartu projektu v primárním nebo sekundárním serveru z důvodu údržby, nemuselo se tedy jednat o havarijní stav).
Synchronizace historických dat probíhá postupně pro jednotlivé datové tabulky. Získávání dat (nejčastěji vzorkováním aktuálních dat) pro datovou tabulku se povolí až v okamžiku, kdy se dokončí synchronizace této datové tabulky. Získávání dat pro datovou tabulku tedy není blokováno čekáním na dokončení synchronizace všech datových tabulek.
Redundanci datových serverů je možné zapnout a nakonfigurovat ve Správci struktury projektu na záložce Redundance u počítače, který má sloužit jako sekundární server.
Obr. 1. Správce struktury projektu – redundance typu server–server
V systému Reliance je také k dispozici redundance typu klient–server (již od verze 2). Klientem je runtime modul Reliance, serverem je datový server. Smyslem této funkce je zálohování komunikačních cest (tzv. síťových propojení) mezi klientem a serverem (případně servery). O redundanci typu klient–server se jedná tehdy, je-li pro klientský počítač definováno více než jedno síťové propojení v rámci skupiny síťových propojení. Pořadí propojení v rámci skupiny určuje jejich prioritu. Pro komunikaci se přednostně používá propojení s nejvyšší prioritou. Pokud dojde k přerušení komunikace (porucha sítě, výpadek počítače typu server apod.), runtime modul na klientském počítači se automaticky pokusí aktivovat redundantní propojení s nižší prioritou (přitom ve zvoleném intervalu opakovaně testuje dostupnost původního propojení). Jakmile je hlavní propojení opět dostupné, runtime modul na klientském počítači ukončí komunikaci v rámci propojení s nižší prioritou a komunikace pokračuje prostřednictvím hlavního propojení (tzn. pro datovou komunikaci je vždy použito nejvýše jedno propojení ze skupiny).
Pokud jsou v aplikaci použity klientské počítače (runtime moduly), které získávají data od redundantních datových serverů, je nutné použít také redundanci typu klient–server. Každý klientský počítač musí mít definováno síťové propojení s oběma datovými servery, ale data získává v určitém okamžiku pouze od jednoho z nich. Vzhledem k tomu, že prioritu propojení lze definovat pro každý klientský počítač samostatně, mohou některé klientské počítače získávat data přednostně od primárního serveru, jiné od sekundárního serveru. Tímto lze dosáhnout rozkládání zátěže (load balancing) na oba servery.
Redundanci typu klient–server je možné nakonfigurovat ve Správci struktury projektu pro každý klientský počítač.
Obr. 2. Správce struktury projektu – redundance typu klient–server