Společnost Beckhoff vždy využívala a využívá nejmodernější technologie z IT světa, snaží se je přenést do světa automatizace a plně zde využít jejich potenciál.
Technologie, které si v tomto článku představíme, se využívají již řadu let, ale poslední roky jejich obliba a využití výrazně roste především pokud se bavíme o kontejnerových technologiích. Proto se podíváme, jak k těmto technologiím Beckhoff aktuálně přistupuje a jak je využívá společně s novým operačním systémem TwinCAT/BSD, protože právě ten nabízí mnoho nových možností.
Před představením samotných technologií virtualizace, tedy Virtuálního Stroje (VM), a kontejnerů pod systémem TwinCAT/BSD, se na tento systém pojďme podívat blíže. Systém TwinCAT/BSD i jeho název vznikl spojením dvou softwarových částí: run-time softwarového řízení TwinCAT 3 a operačního systému FreeBSD.
Pro přehled: TwinCAT 3 je automatizační modulární software, který je schopen proměnit PC na real-time řízení. Samotný operační systém FreeBSD ještě nebyl v žádném předchozím článku podrobněji rozebrán, proto si ho teď v kostce představíme. FreeBSD je operační systém postavený na Unixovém jádře. Jedná se o open-source systém podle podmínek BSD licence (typ licence), což kromě jiného umožňuje bezproblémovou implementaci TwinCAT 3 run-time. Tento systém je velmi robustní, stabilní a vyniká bezpečností, proto se často využívá na serverových a embedded aplikacích. Díky relativně nízké náročnosti samotného systému nemá tak vysoké nároky na hardware, obzvlášť v porovnání s velkými operačními systémy Windows, a přitom nabízí podobné možnosti a funkcionality. FreeBSD je v podstatě nástupce systému BSD a je nejrozšířenější ze všech BSD systémů, má tedy za sebou velmi silnou komunitu, která posouvá vývoj FreeBSD dopředu. To vše z tohoto systému dělá velmi dobrého kandidáta pro použití v automatizačním odvětví.
Pojďme se podívat na základní rozdíly mezi VM a kontejnerem. Obě tyto technologie slouží k virtualizaci, ale jejich fungování je odlišné.
Virtuální stroj (VM)
Softwarově vytvořené emulované prostředí, které simuluje fyzický počítač, což umožňuje běh operačního systému a aplikací v izolovaném prostředí. Hypervisor může být hardware nebo software, který umožňuje běh více operačních systémů na jednom hardwaru, tedy „virtuální stroj“.
Hypervisor má dva typy: Typ 1 běží přímo na hardwaru a Typ 2 běží nad hostitelským operačním systémem. Díky tomu, že každý virtuální stroj má svoji vlastní instanci operačního systému, jsou tyto systémy od sebe kompletně izolovány. Virtuální stroj umožňuje běh nejrůznějších OS jako je Windows, Linux, BSD a další. Kvůli této architektuře má virtuální stroj velkou režii právě proto, že každá instance OS potřebuje vlastní zdroje hostitelského hardwaru jako je procesorový čas, paměť RAM, úložiště, včetně přístupu síťového rozhraní.
Kontejnery
Izolovaná prostředí pro běh aplikací a jejich závislostí. Toto prostředí kontejnerizuje veškeré potřebné komponenty pro spuštění aplikace, včetně kódu, knihoven, konfigurací a dalších souborů. Kontejnerový systém tak poskytuje pouze základní izolaci od ostatních kontejnerů. Jednotlivé kontejnery sdílí jádro hostitelského operačního systému, mohou tak nastat interakce mezi jednotlivými kontejnery. Samotné využití stejného jádra OS se projevuje velkou efektivitou kontejnerů, co se rychlosti a režie týče. Tedy hardwarové požadavky jsou daleko nižší než u VM. Kontejnery jsou nejčastěji spojovány s názvem Docker, což je asi nejpopulárnější kontejnerový virtualizační nástroj, ale zdaleka ne jediný.
TwinCAT/BSD umožňuje využít obě tyto technologie virtualizace, což nabízí nové možnosti v přístupu použití. V rámci Virtuálního stroje TwinCAT/BSD využívá bhyve typ 2, tedy BSD Hypervisor typu 2, který již byl zmíněn v předchozí části a můžete ho vidět znázorněný vedle na obrázku. Jde o řešení, kdy přímo na hardwaru běží operační systém FreeBSD spolu s TwinCAT 3 run-time a nad ním bhyve tedy hypervisor, který umožňuje hostování nejrůznějších operačních systémů jako jsou Windows, Linux a další varianty BSD. Jako praktické využití této struktury si můžeme uvést základní příklad: na pozadí na úrovni hostitelského operačního systému TwinCAT/BSD běží TwinCAT 3 běhové prostředí v reálném čase a na popředí uživatelské prostředí Virtuálního stroje s vizualizací. V takovémto případě máme tedy zcela oddělené OS, což můžeme využít pro zajištění ještě větší stability a zabezpečení stroje. V tomto případě mohou mít uživatelé přístup jen k prostředí VM na popředí, a tedy i v případě jakéhokoliv nekorektního zacházení či problému, který by zapříčinil poškození systému, zůstane poškozen jen systém virtuálního stroje, a samotný hostitelský systém TwinCAT/BSD na pozadí provádějící řízení stroje zůstává bez jakéhokoliv ovlivnění, zůstává tedy nezasažený a plně funkční. Tímto způsobem se dá ještě zvýšit již tak dobrá ochrana samotného řízení stroje.
V rámci využití kontejnerů TwinCAT/BSD je nativně nabízen virtualizační nástroj Jails. Tento kontejnerový nástroj ale ani zdaleka není tak populární a rozšířený jako již zmíněný Docker, proto je podporováno integrování i právě zmíněného Dockeru.
Na závěr lze říct, že TwinCAT/BSD představuje moderní a efektivní platformu pro automatizační technologie kombinující výhody osvědčeného automatizačního softwaru s robustním a flexibilním operačním systémem. Je to tak velmi zajímavá alternativa, která nabízí různé technologické funkcionality včetně virtualizace. Využitím technologie virtualizace se zase více prolíná svět automatizace s IT světem, což umožňuje využít moderní přístup k aplikacím v uzavřeném prostředí bez ovlivnění ostatních aplikací či systémů. Těmito technologiemi můžeme ve výsledku docílit zvýšení stability a bezpečnosti stroje.
Beckhoff Automation s.r.o.
Sochorova 23, 616 00 Brno
Tel.: +420 511 189-250
E-mail: Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.
www.beckhoff.com/cs-cz/