O společnostiProduktyObchodPodpora
Moravské přístroje
Hlavní stránka
O společnosti
Stažení software
Stažení dokumentů
Produkty
Control Web
Strojové vidění VisionLab
Kamery DataCam a osvětlovače DataLight
Průmyslový počítačový systém DataLab
Vědecké kamery
Speciální technika
Ceník
Aktivace produktů
Služby
Školení
Zakázková řešení
Podpora
Volba kamery a objektivu pro Strojové vidění
Control Web - Ukázkové aplikace

Hlavní stránkaProduktyProgramový systém Control WebPředchozí verze systému Control WebControl Web 2000Články

Nasazení systému Control Web v aplikacích s vysokými nároky na spolehlivost
Zařízení pracující libovolně dlouhou dobu bez jakýchkoliv poruch jsou naneštěstí pouze doménou sci-fi - kosmické lodě létají mezi hvězdami tisíce let a jejich řídicí systémy pracují zcela spolehlivě. Kdo by ale skutečně svěřil svůj život automatu, který jej má vzbudit za tisíc let, až loď dorazí k cizí hvězdě? Kdo by věřil, že za tisíc let nenastane jediný problém? V reálném světě naprostá spolehlivost neexistuje - existují jen zařízení více či méně spolehlivá. I ten nejlepší automobil musí někdy do servisu, i ta nejspolehlivější počítačová paměť někdy selže.

Spolehlivost každého výrobku se samozřejmě odráží v jeho ceně. Například spolehlivé a robustní automobily jsou vždy dražší než masověji vyráběné vozy. Totéž platí prakticky ve všech dalších oblastech - počítače, jejichž výrobci se snaží dosáhnout maximálního výkonu za co nejmenší cenu, zdaleka nedosahují spolehlivosti řídicích systémů letadel či kosmických lodí. Stačí zastavení ventilátoru aktivního chlazení procesoru v moderním stolním počítači a systém přestane fungovat během několika desítek sekund či minut. Výpadek stolního počítače a s ním spojená možná ztráta dat, i když velmi nepříjemná, ale zpravidla neohrozí běh celé firmy. V případě firemních serverů udržujících podnikové databáze či řídících klíčové technologie je ale situace jiná. Proto se například v serverech používá jiný systém chlazení procesorů, u něhož výpadek jediného ventilátoru neohrozí celý počítač a navíc jsou v takových systémech zabudovány prostředky pro diagnostiku a hlášení těchto poruch. Samozřejmě cena serveru je oproti stolnímu počítači patřičně vyšší.

Technické vybavení ale pouze přispívá ke spolehlivosti počítačových systémů. Velmi podstatnou roli hraje spolehlivost software. Programové vybavení je zpravidla tou vrstvou, která činí systém unikátní, která plní specifické požadavky uživatele a která také jednotlivé systémy navzájem odlišuje. Software je tedy zákonitě mnohem variabilnější a flexibilnější než hardware. Bankovní transakce, digitální triky v novém filmu, simulace fyzikálního děje či počítačová hra - nelze vyjmenovat byť jen nepatrný zlomek úloh vykonávaných na v podstatě shodných počítačích. Zatímco finanční analytik, filmový výtvarník, vědec či počítačový hráč mohou používat shodný počítač se stejným procesorem, určitě budou používat jiné programové vybavení. Přitom komplexnost programového vybavení je často nesmírná a snad jen komplexnost samotného procesoru je srovnatelná s rozsáhlými programovými systémy. Velká variabilita a rychlejší inovační cyklus software ale neumožňuje firmám vyvíjejícím programové vybavení investovat stejné množství prostředků do testování svých produktů, jako to dělají firmy vyvíjející procesory. Řada chyb obsažených například v různých verzích procesorů Intel Pentium jsou dokladem, že ani největší firmy s obrovskými zdroji nejsou zárukou naprosté spolehlivosti. A tak díky chybám programového vybavení havarují civilní letadla se spoustou cestujících, umírají pacienti na následky překročení dávek při ozařování, kosmické sondy se rozbíjejí o povrch Marsu a explodují nosné rakety s komunikačními satelity.

Ačkoliv naprosto spolehlivý hardware ani software nelze udělat, přesto vysoké požadavky na spolehlivost existují a nemohou je uspokojit ani nejpropracovanější návrhy daných systémů. Jediné řešení je použití zálohování - redundantních prvků, které jsou schopny práce (byt se sníženým výkonem) i po vysazení nějaké komponenty. Redundance může být na úrovni chladicích ventilátorů, napájecích zdrojů, disků a tak porucha těchto komponent není kritická. Je ale nutné zdůraznit, že redundance poruchu nevylučuje, jen výrazně snižuje její pravděpodobnost.

Návrh redundantních chladicích prvků nebo napájecích zdrojů je poměrně prostý, neboť tyto komponenty neudržují žádnou stavovou informaci systému. V případě diskových pamětí je to již horší, protože na discích jsou uchovávána data a jejich ztráta při poruchy disku je nepřípustná. Nejjednodušší metodou je zrcadlení - data jsou uchovávána současně na dvou discích. Za svou jednoduchost platí zrcadlení snížením dostupné kapacity disků na polovinu. Existují i propracovanější mechanismy rozprostření dat na více disků tak, že poměr skutečné ku využitelné kapacitě disků je výrazně lepší než 2:1 (např. RAID5). Ovšem navrhnout systém, který pomocí redundance dokáže přestát poruchu procesoru nebo modulu paměti, je ale nepoměrně složitější a ekonomicky velmi náročné. Proto bývá mnohem častěji používána redundance na úrovni celých počítačů - dva nebo více počítačů pracují na shodném úkolu s tím, že v případě výpadku jednoho systému jeho práci převezme druhý (aktivní záloha) nebo druhý počítač jen pasivně čeká a monitoruje stav aktivního počítače a začíná pracovat v okamžiku, kdy první počítač selže (pasivní záloha). Skupina takto spolupracujících počítačů je nazývána „cluster" (česky chumel nebo nakupení).

Pojmu cluster počítačů se ovšem používá mnohem obecněji. Vědecko-výzkumné instituce často spojují velké množství počítačů do jediného systému a využívají velkého výpočetního výkonu paralelně pracujících strojů k řešení rozsáhlých simulací apod. V těchto případech se ale nejedná o zálohování, jednotlivé počítače si sice vyměňují data ale zpravidla nesdílejí žádné prostředky a navenek vystupují jako jednotlivé systémy. Běh distribuované aplikace bývá často zajišťován aplikací samotnou, nikoliv operačním systémem.

Jako cluster může například vystupovat taktéž skupina serverů služby WWW, před něž je předřazen tzv. vyvažovač zátěže (load balancer). Z hlediska klientů se celý systém jeví jako jediný server s jedinou IP adresou, ale ve skutečnosti práci na pozadí provádí řada serverů, které dostávají jednotlivé požadavky podle momentální zátěže.

Skutečný cluster ale dokáže mnohem více. Z hlediska klientů vystupuje jako jediný počítač s unikátní IP adresou a s řadou služeb, které poskytuje. Tyto služby zahrnují nejen WWW, ale taktéž přístup k databázím, výměnu zpráv apod. Systém trvale monitoruje stav všech prostředků, které byly administrátorem určeny jako sdílené, a v okamžiku jejich výpadku je spouští na záložním počítači. Důvod jejich výpadku není důležitý - služba může vysadit vlivem poruchy hardware nebo vlastní programovou chybou nebo může být dokonce ukončena chybným zásahem obsluhy. Situace může být i natolik fatální jako odstavení celého systém z důvodu poruchy procesoru, čipové sady či paměti. Ve všech případech její činnost přebírá záložní systém. Tento způsob práce clusteru ale již vyžaduje podporu na úrovni operačního systému.

Nasazení systému Control Web 2000 na cluster

Ačkoliv se historicky jedná o poměrně starý koncept, cena za takové řešení v prostředí sálových počítačů IBM či vlastnických systémů UNIX bývá velmi vysoká. Schopnost budovat zálohované clustery je ale začleněna i do rodiny Advanced Server systémů Microsoft Windows NT a Windows 2000, čímž se celá technologie stává podstatně přístupnější.

Potřeba dosažení velmi vysoké spolehlivosti a odolnosti před náhodnými chybami jednotlivých komponent systému se ale netýká jen rozsáhlých databází či serverů WWW. Existují i náročná nasazení technologických řídicích a vizualizačních systémů, kdy je nepřetržitý běh podmínkou. Proto byl systém Windows 2000 Advanced Server konfigurovaný do clusteru vybrán jako platforma pro aplikaci komplexního řízení energetiky závodu Škoda-Auto v Mladé Boleslavi běžící pod systémem Control Web 2000.

Aplikace dosud pracovala na dvojici počítačů s průmyslovým systémem Control Panel v3. Svým rozsahem ojedinělá aplikace komunikující s desítkami průmyslových automatů prostřednictvím více jak deseti tisíc kanálů a obsluhující tisíce archivních souborů ale potřebuje další rozšiřování, efektivnější navázání na podnikový informační systém, lepší distribuci na více počítačů a zabudování WWW služby. Proto se realizační firma DMS rozhodla pro nasazení systému Control Web 2000 v prostředí clusteru Windows 2000.

Struktura systému

Ačkoliv Windows 2000 Advanced Server dokáže prakticky jakoukoliv službu nebo aplikaci konfigurovat jako sdílený prostředek, toto řešení je často nevyhovující, protože pokud aplikace nedokáže se správcem clusteru komunikovat, její spouštění a zastavování se děje standardními prostředky API Win32. To s sebou přináší nejen značné prodlevy spojené se zaváděním a ukončováním aplikace, ale taktéž nerespektuje vnitřní stav aplikace. Přepnutí běhu aplikace z jednoho serveru na druhý je prováděno jako její zastavení a opětovné spuštění. Z těchto důvodů byl systém Control Web 2000 rozšířen o prostředky komunikace se správcem clusteru Windows 2000. Toto rozšíření nejen dovoluje správně uchovávat vnitřní stavy aplikace, ale také mnohonásobně zrychluje reakční dobu systému v případě výpadku jednoho serveru. Integrací s Windows 2000 Advanced Server potvrdil Control Web 2000 svou pozici mocného nástroje pro tvorbu rozsáhlých podnikových aplikací vizualizace, sběru dat a řízení průmyslových procesů.

 
 | O společnosti | Produkty | Podpora | Stažení software | Stažení dokumentů | 
Moravské přístroje, a.s., Masarykova 1148, Zlín-Malenovice, 76302