Die Virtualisierung von Serversystemen ist selbst in sehr kleinen Umgebungen mit nur einem physischen Server, seit langem etablierter Standard und nur ein beinharter Turnschuh-Admin wird wohl noch ohne arbeiten wollen. Seit Jahren gibt es von Microsoft Hyper-V als kostenlose Dreingabe und bis vor kurzem konnte man noch für kleines Geld in die Virtualisierungslösung vSphere des quasi Branchenstandards von VMware einsteigen. Neben den kommerziellen Lösungen gibt es noch relevante OpenSource-Lösungen am Markt. Eine der bekannteren VMware-Alternativen dürfte wohl Proxmox VE sein — insbesondere nach der Übernahme von VMware durch Broadcom und die veränderte Preispolitik.
Kurz: Der Einstieg in die Server-Virtualisierung mit einer sogenannten Hypervisor-Virtualisierung ist und bleibt niederschwellig. Die grundsätzlichen technischen Anforderungen sind überschaubar und lassen sich grundsätzlich auf jedem System mit aktueller Intel oder AMD-CPU realisieren — ausgenommen besonders kostengünstige CPUs im Low-End oder Embedded-Segment.
Was ist bitte Virtualisierung?
Virtualisierung-Lösungen gibt es in der IT in verschiedenen Formen. Grundsätzlich ist jedoch immer die Idee, dass wir auf einem physischen Server — der Host — logisch abgetrennte Bereiche schaffen, in denen ein Gast mehr oder weniger unabhängig und gekapselt vom restlichen System arbeitet.
Virtualisierung! Fancy! Aber was bringt das für konkrete Vorteile?
Der Gast ist de facto in einer Blase gekapselt und aus seiner Sicht ist die Blase die echte Welt bzw. echte Hardware. Als Admin haben wir dadurch die Möglichkeit, diese Blase — die virtuelle Maschine oder VM — bei Bedarf zu manipulieren, ohne mit realer Hardware hantieren zu müssen. Benötigt zum Beispiel die Datenbank in einer virtuellen Maschine mehr Arbeitsspeicher oder mehr Festplattenspeicher, teilt der Admin dem Gast einfach freie Hardwareressourcen des Virtualisierungs-Hosts zu. So können auf einem physischen Host / Server mehrere Gäste / VMs parallel laufen, die zur Verfügung stehenden Hardwareressourcen besser ausgenutzt und physische Hardware konsolidiert werden. Zu beachten ist dabei, dass ein Hypervisor den Zugriff der Gäste auf die Hardware des Hosts nur verwaltet und es dadurch nur in geringem Umfang zu Leistungseinbußen durch das Virtualisierungssystem selber kommt.
Neben der dynamischen Zuweisung von Ressourcen bietet die Virtualisierung noch weitere entscheidende Vorteile: Sollte es auf einem physischen Server irgendwann zu eng werden, können eine oder mehrere VMs einfach von einem Virtualisierungs-Host auf einen neuen oder zusätzlichen Host verschoben werden. Verschieben meint hier tatsächlich Copy & Paste wie bei einem Word-Dokument: Eine Gast-VM kann auf einen neuen Virtualisierungs-Host kopiert werden, um dann fast unmittelbar wieder in Betrieb genommen zu werden. Sehr praktisch insbesondere dann, sollte es mal zu einem kapitalen Hardwareausfall kommen: Die wiederhergestellten VMs können ohne größeren Aufwand auf einem neuen Server direkt wieder in Betrieb genommen werden.
Snapshots — Die zweite Chance
Die aber vielleicht wichtigste und von jedem Admin sicherlich ausgiebig genutzte Funktion einer Virtualisierungslösung: Der Snapshot einer virtuellen Maschine!
Wer kennt das nicht? Ein großes Softwareupdate einer wichtigen Anwendung steht an und ohne die Software geht morgen gar nichts mehr. Das sorgt für verschwitzte Hände beim Admin und mindestens ein flaues Gefühl bei allen Beteiligten. Geht jetzt was schief, dauert das Rückspielen des Backups potentiell mehrere Stunden und die Kosten durch einen Betriebsausfall explodieren.
Snapshots sind die hier die schnelle Rückversicherung. Sie bieten die Möglichkeit, den aktuellen Zustand der virtuellen Maschine als einen exakten Sicherungspunkt anzulegen, wie ein Save-Game in einem Computerspiel. Geht bei einem kritischen Update etwas schief, kann der Admin einfach den Snapshot laden und einen Fehler schnell wieder ungeschehen machen. Denn im Gegensatz zu einem Backup sind die Änderungen in wenigen Augenblicken zurückgerollt — als wäre nie etwas passiert.
Klone — Tests am lebenden Objekt
Die Virtualisierung bietet jedoch auch die Möglichkeit, VMs zu klonen und kniffelige Aufgaben oder komplexe Upgrades gefahrlos vorher an einer 1:1 Kopie ausgiebig zu testen. Besser zweimal getestet, als einmal repariert!
Kurz: Eine Virtualisierungslösung ermöglicht es, zur Verfügung stehende Hardware besser zu nutzen und einzelne Aufgaben in einzelne logische Server zu trennen, anstatt tausend Dienste in einem System zu bündeln. Zusätzlich wird ganz allgemein der Aufwand für Wartung und Instandhaltung minimiert, da der Admin ein zusätzliches Netz mit doppeltem Boden erhält. Kniffelige Aufgaben können vorher geprobt werden, im Notfall kann das Backup leichter wiederhergestellt werden, und das völlig unabhängig von der Hardware.
Wozu Virtualisierung auf dem IPC einer Anlage?
Abhängig von der Funktion der Software auf dem konkreten IPC, würden wir in den meisten Fällen einen IPC als mission critical für die Gesamtfunktion einer Anlage beschreiben. Neben einem klassischen Hardwareausfall sind auch hier die Wartungsfenster mit Softwareupdates besondere Augenblicke. Trotz gewissenhafter Tests kann bei einem Softwareupdate immer etwas schieflaufen, da sich Produktiv- und das Testsystem im Labor immer etwas unterscheiden.
Läuft auf dem IPC jedoch zum Beispiel Proxmox VE als Virtualisierungslösung, haben wir die Möglichkeit, einen Snapshot vor dem Wartungsfenster anzulegen, und können im Ernstfall schnell wieder zurück auf Start. Vor allem gibt uns das Virtualisierungssystem die Möglichkeit, einen identischen Klon des Produktivsystems zu erstellen, diesen 1:1 in der Laborumgebung in Betrieb zu nehmen und komplexe Updates am echten System zu testen. Zusätzlich besteht die Möglichkeit, verschiedene Versionen des Produktivsystems auf dem IPC vorzuhalten und komplexere Testszenarien abzubilden.
Im Ernstfall eines kapitalen Hardwareausfalls des IPCs haben wir außerdem die Möglichkeit, auf schnell verfügbarer Hardware mit der Virtualisierungslösung in kürzester Zeit die Anlage wieder in Betrieb zu nehmen. So kann der Zeitraum bis zur Lieferung des IPCs mit normaler PC-Hardware temporär überbrückt werden — Voraussetzung ist natürlich, dass wir keine besonderen Hardware-I/Os benötigen. Außerdem ist es natürlich möglich, die virtuelle Maschine temporär und permanent vom IPC in die ggf. vorhandene Serverinfrastruktur des Anlagenbetreibers zu verschieben. Je nach Anforderung lassen sich so auf einem IPC bei Bedarf auch mehrere Systeme parallel betreiben.
Unsere Empfehlung
Auch wenn die Nutzung einer zusätzlichen Komponente die Komplexität des Systems erhöht und eine weitere Fehlerquelle hinzufügt, überwiegen die Vorteile der Virtualisierung nach unserer Meinung eindeutig. Die Betriebssicherheit des Gesamtsystems wird durch zusätzliche Test- und Sicherungsmöglichkeiten entschieden verbessert und wir erhalten zusätzliche Flexibilität für die Anpassung und Migration der Software auf neue Hardware in der Zukunft. Die Virtualisierungssoftware benötigt für den eigenen Betrieb natürlich auch etwas an Ressourcen, jedoch lässt sich dieser Overhead auf modernen Systemen vernachlässigen. Je nach Anwendungsfall lässt sich eine Virtualisierung auf einem System ab einem Intel Core i5, mit mindestens 16 GB RAM und 500 GB SSD-Speicher sinnvoll realisieren.
Im Vorfeld ist jedoch zu prüfen, welche physischen Schnittstellen der IPC benötigt. Themen wie EtherCAT oder Modbus könnten ggf. eine Hypervisor-Virtualisierung dann doch ausschließen. In diesem Fall wäre dann eine Containervirtualisierung mit zum Beispiel Docker eine Option. Für weitere Informationen zum Thema Docker & Containervirtualisierung folgen Sie bitte diesem Link.