Die Vir­tua­li­sie­rung von Hardware, Software, Speicher oder Netz­werk­kom­po­nen­ten sorgt für eine Abs­trak­ti­on der phy­si­schen IT-Res­sour­cen, sodass im Endeffekt eine bessere Aus­las­tung erreicht werden kann.

Cloud-Migration mit IONOS
Die Hy­per­vi­sor-Al­ter­na­ti­ve
  • Bestes Preis-Leistungs-Ver­hält­nis – keine Vir­tua­li­sie­rungs­kos­ten
  • Mi­gra­ti­ons­hil­fe durch IONOS Cloud-Experten inklusive
  • Ohne Vendor Lock-in & Open-Source-basiert

Was ist Vir­tua­li­sie­rung?

Bei Vir­tua­li­sie­rung handelt es sich um eine Abs­trak­ti­on phy­si­scher IT-Res­sour­cen mit dem Ziel, diese flexibel und be­darfs­recht zu verteilen. Dies kann für eine bessere Aus­las­tung der Res­sour­cen sorgen. Abs­tra­hie­ren lassen sich Hardware- und Software-Kom­po­nen­ten. Eine im Rahmen der Vir­tua­li­sie­rung erstellte IT-Kom­po­nen­te wird als virtuelle oder logische Kom­po­nen­te be­zeich­net und kann genauso verwendet werden wie ihr phy­si­sches Pendant.

Einer der zentralen Vorteile der Vir­tua­li­sie­rung ist die Abs­trak­ti­ons­schicht zwischen der phy­si­schen Ressource und dem vir­tu­el­len Abbild. Diese ist Grundlage diverser Cloud-Services, die im Un­ter­neh­mens­all­tag zunehmend an Bedeutung gewinnen. Ab­zu­gren­zen ist Vir­tua­li­sie­rung von den (z. T. sehr ähnlichen) Konzepten Si­mu­la­ti­on und Emulation.

Vir­tua­li­sie­rung: Weder Si­mu­la­ti­on noch Emulation

Wer sich mit Vir­tua­li­sie­rung be­schäf­tigt, stößt un­wei­ger­lich auf die Begriffe Si­mu­la­ti­on und Emulation, die oft synonym verwendet werden, sich technisch jedoch sowohl von­ein­an­der als auch vom Konzept der Vir­tua­li­sie­rung un­ter­schei­den.

  • Si­mu­la­ti­on: Als Si­mu­la­ti­on be­zeich­net man die voll­stän­di­ge Nach­bil­dung eines Systems mittels Software. „Voll­stän­dig“ heißt in diesem Fall, dass nicht nur die Funk­tio­nen im Zu­sam­men­spiel mit anderen Systemen imitiert, sondern alle Sys­tem­kom­po­nen­ten sowie deren innere Logik nach­ge­stellt werden. Si­mu­la­to­ren kommen zur Anwendung, um Programme, die ei­gent­lich für ein be­stimm­tes System ent­wi­ckelt wurden, zu Ana­ly­se­zwe­cken auf einem anderen System kom­pi­lie­ren zu können.
  • Emulation: Während Si­mu­la­ti­on darauf abzielt, Systeme nach­zu­bil­den, stellt Emulation die Funk­tio­nen von Hardware- oder Software-Kom­po­nen­ten bereit, nicht jedoch deren innere Logik. Ziel der Emulation ist es, mit dem nach­ge­bil­de­ten System dieselben Er­geb­nis­se zu erzielen wie mit dem realen Pendant. Im Gegensatz zum Simulator kann ein Emulator das nach­ge­bil­de­te System daher komplett ersetzen.

Si­mu­la­to­ren und Emu­la­to­ren kommen in der Praxis in drei Szenarien zum Einsatz:

  • Eine Hardware-Umgebung wird nach­ge­bil­det, damit ein Be­triebs­sys­tem aus­ge­führt werden kann, das ei­gent­lich für eine andere Pro­zes­sor­platt­form ent­wi­ckelt wurde.
  • Ein Be­triebs­sys­tem wird nach­ge­bil­det, damit An­wen­dun­gen aus­ge­führt werden können, die ei­gent­lich für andere Systeme ge­schrie­ben wurden.
  • Eine Hardware-Umgebung für eine veraltete Software muss nach­ge­bil­det werden, da die Original-Kom­po­nen­ten nicht mehr zur Verfügung stehen.

Von Emu­la­to­ren und Si­mu­la­to­ren ab­zu­gren­zen sind Software-Lösungen, die lediglich eine Kom­pa­ti­bi­li­täts­schicht be­reit­stel­len, um Un­ver­ein­bar­kei­ten zwischen ver­schie­de­nen Hardware- und Software-Kom­po­nen­ten zu über­brü­cken. Bei diesem Konzept wird nicht das gesamte System, sondern lediglich ein Teil eines Systems nach­ge­bil­det – bei­spiels­wei­se eine Schnitt­stel­le. Bekannte Beispiele sind Wine (ein re­kur­si­ves Akronym für Wine Is Not an Emulator*) und Cygwin.

Wie funk­tio­niert Vir­tua­li­sie­rung?

Vir­tua­li­sie­rung ähnelt den Konzepten Si­mu­la­ti­on und Emulation, dient jedoch einem anderen Zweck. Si­mu­la­to­ren und Emu­la­to­ren im­ple­men­tie­ren ein mittels Software rea­li­sier­tes Modell eines Com­pu­ter­sys­tems, das dazu dient, In­kom­pa­ti­bi­li­tä­ten zu über­brü­cken. Im Idealfall ist Vir­tua­li­sie­rung al­ler­dings so kon­zi­piert, dass möglichst wenig simuliert oder emuliert werden muss. Statt­des­sen sollen Vir­tua­li­sie­rungs­tech­no­lo­gien lediglich eine Abs­trak­ti­ons­schicht eta­blie­ren, die es er­mög­licht, IT-Res­sour­cen un­ab­hän­gig von ihrer phy­si­schen Grundlage be­reit­zu­stel­len.

Dazu ein Beispiel: Sollen auf einem Windows-10-Rechner zu Test­zwe­cken eine oder mehrere virtuelle Versionen von Windows 10 aus­ge­führt werden, kann Vir­tua­li­sie­rungs­soft­ware genutzt werden. Möchte man hingegen auf dem gleichen Rechner zwei virtuelle Versionen von Ubuntu starten, benötigt man eine Vir­tua­li­sie­rungs­soft­ware, die in der Lage ist, In­kom­pa­ti­bi­li­tä­ten zwischen dem zu­grun­de­lie­gen­den Windows-System und dem darauf auf­set­zen­den Linux-Systemen durch Emulation zu über­brü­cken.

Zahl­rei­che Software-Lösungen, die im Rahmen der Vir­tua­li­sie­rung zum Einsatz kommen, enthalten Emu­la­to­ren. In der Praxis kommt es daher oft zu Über­schnei­dun­gen beider Konzepte.

Formen der Vir­tua­li­sie­rung

In modernen IT-Land­schaf­ten exis­tie­ren diverse Formen der Vir­tua­li­sie­rung, die sich auf die Abs­trak­ti­on von IT-Res­sour­cen wie Software, Speicher, Daten oder Netz­werk­kom­po­nen­ten beziehen. Man un­ter­schei­det daher zwischen:

  • Hardware-Vir­tua­li­sie­rung
  • Software-Vir­tua­li­sie­rung
  • Spei­cher­vir­tua­li­sie­rung
  • Da­ten­vir­tua­li­sie­rung
  • Netz­werk­vir­tua­li­sie­rung

Hardware-Vir­tua­li­sie­rung

Der Begriff Hardware-Vir­tua­li­sie­rung verweist auf Tech­no­lo­gien, die es er­mög­li­chen, Hardware-Kom­po­nen­ten mittels Software un­ab­hän­gig von ihrer phy­si­schen Grundlage be­reit­zu­stel­len. Das Pa­ra­de­bei­spiel für eine Vir­tua­li­sie­rung von Hardware ist die virtuelle Maschine (kurz VM).

Bei einer VM handelt es sich um einen vir­tu­el­len Rechner, der sich den End­nut­zen­den gegenüber wie ein phy­si­scher Rechner inklusive Hardware und Be­triebs­sys­tem verhält. Die Abs­trak­ti­ons­schicht zwischen der phy­si­schen Grundlage und dem vir­tu­el­len System wird bei der Hardware-Vir­tua­li­sie­rung durch ver­schie­de­ne Typen von Hy­per­vi­so­ren erzeugt.

Hinweis

Bei einem Hy­per­vi­sor (auch Virtual Machine Monitor, VMM) handelt es sich um eine Software, die den Betrieb mehrerer Gast­sys­te­me auf einem Wirts­sys­tem er­mög­licht.

Hy­per­vi­so­ren verwalten die vom Wirts­sys­tem zur Verfügung ge­stell­ten Hardware-Res­sour­cen wie CPU, RAM, Fest­plat­ten­spei­cher und Pe­ri­phe­rie und teilen diese auf beliebig viele Gast­sys­te­me auf. Dies kann technisch durch Voll­vir­tua­li­sie­rung oder Pa­ra­vir­tua­li­sie­rung erfolgen.

  • Voll­vir­tua­li­sie­rung: Bei der Voll­vir­tua­li­sie­rung spielt der Hy­per­vi­sor jeder vir­tu­el­len Maschine eine komplette Hardware-Umgebung vor. Jede VM verfügt somit über ein eigenes, vom Hy­per­vi­sor zu­ge­wie­se­nes Kon­tin­gent an vir­tu­el­len Hardware-Res­sour­cen und kann auf dieser Grundlage An­wen­dun­gen ausführen. Die physische Hardware des Wirts­sys­tems hingegen bleibt dem Gast­be­triebs­sys­tem verborgen. Dieser Ansatz er­mög­licht den Betrieb un­mo­di­fi­zier­ter Gast­sys­te­me. Beliebte Software-Lösungen zur Voll­vir­tua­li­sie­rung sind Oracle VM Vir­tu­al­Box, Parallels Work­sta­tion, VMware Work­sta­tion, Microsoft Hyper-V und Microsoft Virtual Server.
  • Pa­ra­vir­tua­li­sie­rung: Während bei der Voll­vir­tua­li­sie­rung für jede VM eine eigene virtuelle Hardware-Umgebung be­reit­stellt wird, stellt der Hy­per­vi­sor bei der Pa­ra­vir­tua­li­sie­rung lediglich eine Pro­gram­mier­schnitt­stel­le (API) zur Verfügung, über die die Gast­be­triebs­sys­te­me direkt auf die physische Hardware des Wirts­sys­tems zugreifen können. Pa­ra­vir­tua­li­sie­rung bietet damit gegenüber Voll­vir­tua­li­sie­rung einen Per­for­mance-Vorteil. Vor­aus­set­zung dafür ist jedoch, dass der Kernel des Gast­be­triebs­sys­tems für die API portiert wurde. Es lassen sich somit nur mo­di­fi­zier­te Gast­sys­te­me pa­ra­vir­tua­li­sie­ren.

Für End­nut­zen­de ist die virtuelle Maschine von einem phy­si­schen Rechner nicht zu un­ter­schei­den. Hardware-Vir­tua­li­sie­rung ist daher das Konzept der Wahl, wenn es darum geht, eine Vielzahl vir­tu­el­ler Server für ver­schie­de­ne Anwender auf Basis einer leis­tungs­star­ken Re­chen­platt­form be­reit­zu­stel­len – die Grundlage des populären Shared-Hosting-Modells.

Hinweis

Beim Shared Hosting betreibt und wartet ein Hosting-Provider die physische Maschine in einem dafür op­ti­mier­ten Re­chen­zen­trum und stellt seinen Kunden vir­tua­li­sier­te Hardware-Res­sour­cen als ab­ge­schlos­se­ne Gast­sys­te­me zur Verfügung.

Ein weiteres An­wen­dungs­feld der Hardware-Vir­tua­li­sie­rung ist die Server-Kon­so­li­die­rung im Un­ter­neh­mens­um­feld. Diese bringt im We­sent­li­chen drei Vorteile:

  • Ver­bes­ser­te Pro­zes­sor­aus­las­tung der Server
  • Effektive Auf­tei­lung von Spei­cher­me­di­en
  • Ge­rin­ge­rer Strom­ver­brauch für Betrieb und Kühlung

Hardware-Vir­tua­li­sie­rung gilt als ver­gleichs­wei­se sicheres Vir­tua­li­sie­rungs­kon­zept. Jedes Gast­sys­tem wird isoliert in einer vir­tu­el­len Hardware-Umgebung aus­ge­führt. Sollte eines der Gast­sys­te­me von Hackern in­fil­triert oder durch Malware in seinen Funk­tio­nen be­ein­träch­tigt werden, hat dies in der Regel keinen Einfluss auf andere Gast­sys­te­me auf demselben Wirts­sys­tem.

Vor- und Nachteile der Hardware-Vir­tua­li­sie­rung:

Vorteile Nachteile
Im Rahmen der Ser­ver­kon­so­li­die­rung lassen sich Hardware-Res­sour­cen dynamisch zuteilen und ef­fi­zi­en­ter ausnutzen Die Nach­bil­dung einer Hardware-Umgebung inklusive Be­triebs­sys­tem führt zu einem Overhead.
Kon­so­li­dier­te Hardware lässt sich en­er­gie­ef­fi­zi­en­ter betreiben als separate Rechner. Die Per­for­mance einer vir­tu­el­len Maschine kann durch andere VMs auf demselben Wirts­sys­tem be­ein­träch­tigt werden.
VMs bieten einen ver­gleichs­wei­se hohen Iso­la­ti­ons­grad und damit Si­cher­heit bei der Workload-Iso­lie­rung.

Software-Vir­tua­li­sie­rung

Werden statt Hardware-Kom­po­nen­ten Software-Kom­po­nen­ten vir­tua­li­siert, spricht man von Software-Vir­tua­li­sie­rung. Geläufige Ansätze dieses Vir­tua­li­sie­rungs­kon­zepts sind:

  • An­wen­dungs­vir­tua­li­sie­rung
  • Desktop-Vir­tua­li­sie­rung
  • Vir­tua­li­sie­rung auf Be­triebs­sys­te­men

An­wen­dungs­vir­tua­li­sie­rung

Unter An­wen­dungs­vir­tua­li­sie­rung (englisch ap­pli­ca­ti­on vir­tua­liza­ti­on) versteht man die Abs­trak­ti­on einzelner An­wen­dun­gen vom dar­un­ter­lie­gen­den Be­triebs­sys­tem. An­wen­dungs­vir­tua­li­sie­rungs­sys­te­me er­mög­li­chen es, Programme in iso­lier­ten Lauf­zeit­um­ge­bun­gen aus­zu­füh­ren und über ver­schie­de­ne Systeme hinweg zu verteilen, ohne dass Än­de­run­gen an lokalen Betriebs- oder Da­tei­sys­te­men sowie der je­wei­li­gen Registry er­for­der­lich sind.

An­wen­dungs­vir­tua­li­sie­rung bietet sich für den lokalen Einsatz an – bei­spiels­wei­se, um das dar­un­ter­lie­gen­de Be­triebs­sys­tem vor möglichem Schadcode zu schützen. Al­ter­na­tiv können vir­tua­li­sier­te An­wen­dun­gen auf einem Server für ver­schie­de­ne Clients im Netzwerk be­reit­ge­stellt werden. End­nut­zen­de greifen in diesem Fall bei­spiels­wei­se via Ap­pli­ca­ti­on-Streaming auf vir­tua­li­sier­te An­wen­dun­gen zu. Die Kapselung von An­wen­dun­gen inklusive Lauf­zeit­um­ge­bung er­mög­licht es zudem, Programme auf portable Spei­cher­me­di­en wie USB-Sticks zu kopieren und direkt auf diesen aus­zu­füh­ren.

Ziel der An­wen­dungs­vir­tua­li­sie­rung ist es, Programme vom dar­un­ter­lie­gen­den Be­triebs­sys­tem zu ent­kop­peln, sodass sich diese bequem portieren und zentral warten lassen. Im Un­ter­neh­mens­kon­text eignet sich das Konzept bei­spiels­wei­se zur Be­reit­stel­lung von Office-An­wen­dun­gen.

Vor- und Nachteile der An­wen­dungs­vir­tua­li­sie­rung:

Vorteile Nachteile
An­wen­dungs­soft­ware kann zentral be­reit­ge­stellt, verwaltet und gewartet werden. An­wen­dun­gen, die eng mit dem Be­triebs­sys­tem in­te­griert sind oder Zugriff auf spezielle Ge­rä­te­trei­ber benötigen, lassen sich nicht vir­tua­li­sie­ren.
Durch die Iso­lie­rung der Anwendung ist das dar­un­ter­lie­gen­de System vor Schadcode geschützt. An­wen­dungs­vir­tua­li­sie­rung wirft Fragen be­züg­li­cher der Li­zen­zie­rung auf.
Die Software lässt sich rück­stands­los vom System entfernen.

Desktop-Vir­tua­li­sie­rung

Desktop-Vir­tua­li­sie­rung be­zeich­net ein Konzept, bei dem Desktop-Um­ge­bun­gen zentral be­reit­ge­stellt und über ein Netzwerk in Anspruch genommen werden können. Anwendung findet dieser Ansatz in erster Linie im Un­ter­neh­mens­kon­text.

Der Desktop-Vir­tua­li­sie­rung liegt eine Client-Server-Struktur zugrunde. Die Da­ten­über­tra­gung zwischen Server und Client erfolgt über so­ge­nann­te Remote-Display-Pro­to­kol­le. Je nachdem, wo die Re­chen­leis­tung für die Be­reit­stel­lung eines vir­tu­el­len Desktops in Anspruch genommen wird, un­ter­schei­det man zwischen host- und client­ba­sier­ten Ansätzen.

  • Host­ba­sier­te Desktop-Vir­tua­li­sie­rung: Zur host­ba­sier­ten Desktop-Vir­tua­li­sie­rung zählen alle Ansätze, bei denen virtuelle Desktops direkt auf dem Server aus­ge­führt werden. Die gesamte Re­chen­leis­tung für die Be­reit­stel­lung der Desktop-Umgebung sowie für den Betrieb von An­wen­dun­gen wird bei dieser Art der Desktop-Vir­tua­li­sie­rung von der Server-Hardware zur Verfügung gestellt. Anwender greifen auf host­ba­sier­te virtuelle Desktops mit be­lie­bi­gen Cli­ent­ge­rä­ten über das Netzwerk zu. Umsetzen lässt sich eine host­ba­sier­te Desktop-Vir­tua­li­sie­rung durch folgende Ansätze:

  • Host­ba­sier­te virtuelle Maschine: Bei diesem Vir­tua­li­sie­rungs­an­satz verbindet sich jeder Anwender über ein Cli­ent­ge­rät mit einer eigenen vir­tu­el­len Maschine auf dem Server. Man un­ter­schei­det zwischen einer per­sis­ten­ten Desktop-Vir­tua­li­sie­rung, bei der sich ein Anwender bei jeder Sitzung mit derselben VM verbindet, und nicht­per­sis­ten­ten Ansätzen, bei denen virtuelle Maschinen zufällig zugeteilt werden.

  • Terminal-Service: Kommt der Client lediglich als An­zei­ge­ge­rät für zentral gehostete Desktop-Um­ge­bun­gen zum Einsatz, spricht man von Terminal-Services oder Prä­sen­ta­ti­ons­vir­tua­li­sie­rung. Diese werden von einem so­ge­nann­ten Ter­mi­nal­ser­ver zur Verfügung gestellt.

  • Blade-Server: Sollen End­an­wen­der per Remote auf separate physische Maschinen zugreifen, wird dies in der Regel mithilfe eines Blade-Server rea­li­siert. Dabei handelt es sich um einen modular auf­ge­bau­ten Server bzw. ein Ser­ver­ge­häu­se, das mehrere Ein­pla­ti­nen­com­pu­ter – so­ge­nann­te Blades (deutsch: „Blatt“) – be­inhal­tet.

  • Client­ba­sier­te Desktop-Vir­tua­li­sie­rung: Erfolgt die Desktop-Vir­tua­li­sie­rung client­ba­siert, müssen die Res­sour­cen für den Betrieb der Desktop-Umgebung vom je­wei­li­gen Cli­ent­ge­rät be­reit­ge­stellt werden.

  • Client­ba­sier­te virtuelle Maschinen: Bei diesem Ansatz der Vir­tua­li­sie­rung wird die Desktop-Umgebung in einer vir­tu­el­len Maschine auf dem Cli­ent­ge­rät aus­ge­führt. In der Regel kommt dabei ein Hy­per­vi­sor zum Einsatz.

  • OS-Streaming: Beim OS-Streaming wird das Be­triebs­sys­tem der Desktop-Umgebung auf der lokalen Hardware aus­ge­führt. Lediglich der Boot-Vorgang erfolgt per Remote über ein Image auf dem Server.

Vor- und Nachteile der Desktop-Vir­tua­li­sie­rung

Vorteile Nachteile
Desktop-Vir­tua­li­sie­rung er­mög­licht die zentrale Ad­mi­nis­tra­ti­on von Desktop-Um­ge­bun­gen. Desktop-Vir­tua­li­sie­rung eignet sich in erster Linie für homogene In­fra­struk­tu­ren.
Anwender können über ver­schie­de­ne Endgeräte auf ihren vir­tu­el­len Desktop zugreifen. Manche Ansätze erfordern eine konstante Netzwerk-Ver­bin­dung.
Desktop-Vir­tua­li­sie­rung er­mög­licht zentrale Back-ups. Hohe An­for­de­run­gen an Ser­ver­leis­tung, Spei­cher­ka­pa­zi­tät und Netzwerk-Band­brei­te.
Thin Clients er­mög­li­chen Kos­ten­ein­spa­run­gen bei An­schaf­fung und Betrieb.

Vir­tua­li­sie­rung auf Be­triebs­sys­tem­ebe­ne

Vir­tua­li­sie­rungs­kon­zep­te auf Be­triebs­sys­tem­ebe­ne greifen auf native Kernel-Funk­tio­nen unixoider Be­triebs­sys­te­me zurück, die es er­mög­li­chen, mehrere von­ein­an­der isolierte User-Space-Instanzen parallel aus­zu­füh­ren. Anders als bei der Hardware-Vir­tua­li­sie­rung wird somit kein kom­plet­tes Gast­sys­tem inklusive Kernel nach­ge­bil­det. Statt­des­sen teilen sich auf Be­triebs­sys­tem­ebe­ne vir­tua­li­sier­te An­wen­dun­gen den Kernel des Wirts­sys­tems.

Hinweis

Moderne Be­triebs­sys­te­me un­ter­schei­den aus Si­cher­heits­grün­den zwischen zwei vir­tu­el­len Spei­cher­be­rei­chen: Kernel-Space und User-Space. Während Prozesse, die dem Betrieb des Kernels und anderer Kern­kom­po­nen­ten dienen, im Kernel-Space aus­ge­führt werden, steht der User-Space Nut­zer­an­wen­dun­gen zur Verfügung. Auf unixoiden Be­triebs­sys­te­men ist es möglich, mehrere virtuelle User-Space-Instanzen parallel aus­zu­füh­ren. Dieses Feature ist die Grundlage der Vir­tua­li­sie­rung auf Be­triebs­sys­tem­ebe­ne.

Jede User-Space-Instanz stellt eine in sich ab­ge­schlos­se­ne virtuelle Lauf­zeit­um­ge­bung dar, die je nach ver­wen­de­ter Tech­no­lo­gie Container, Partition, Vir­tua­liza­ti­on Engine (kurz: VE) oder Jail genannt wird. Ein Revival feierte die be­triebs­sys­tem­ba­sier­te Vir­tua­li­sie­rung mit Container-Platt­for­men wie Docker. Mitt­ler­wei­se stehen Anwendern mit rtk, OpenVZ/Virtuozzo und runC aus­ge­reif­te Al­ter­na­ti­ven zum Markt­füh­rer zur Verfügung.

Die Vir­tua­li­sie­rung von User-Space-Instanzen erfolgt mittels nativer Chroot-Me­cha­nis­men, die alle unixoiden Be­triebs­sys­te­me be­reit­stel­len. Bei Chroot (kurz für „change root“) handelt es sich um einen Sys­tem­auf­ruf, der es erlaubt, das Root-Ver­zeich­nis eines laufenden Prozesses zu ändern. Prozesse, die in ein vir­tu­el­les Root-Ver­zeich­nis aus­ge­la­gert werden, können bei korrekter Im­ple­men­tie­rung nur noch auf Dateien innerhalb dieses Ver­zeich­nis­ses zugreifen. Chroot allein kapselt Prozesse jedoch nur un­ge­nü­gend. Der Sys­tem­auf­ruf stellt zwar grund­le­gen­de Vir­tua­li­sie­rungs­funk­tio­nen zur Verfügung, war jedoch nie als Konzept zur Ab­si­che­rung von Prozessen gedacht. Container-Tech­no­lo­gien kom­bi­nie­ren Chroot daher mit anderen nativen Kernel-Funk­tio­nen wie Cgroups und Name­spaces, um Prozessen eine isolierte Lauf­zeit­um­ge­bung mit li­mi­tier­tem Zugriff auf Hardware-Res­sour­cen zur Verfügung zu stellen. Man spricht von con­tai­ne­ri­sier­ten Prozessen.

  • Cgroups: Bei Cgroups handelt es sich um Kon­troll­grup­pen für das Res­sour­cen-Ma­nage­ment, die es er­mög­li­chen, die Zugriffe von Prozessen auf Hardware-Res­sour­cen zu li­mi­tie­ren.
  • Name­spaces: Bei Name­spaces handelt es sich um Na­mens­räu­me für die System- und Prozess-Iden­ti­fi­ka­ti­on sowie für die In­ter­pro­zess-Kom­mu­ni­ka­tio­nen und für Netz­werk­res­sour­cen. Mit Name­spaces lassen sich ein Prozess und dessen Kind­pro­zes­se auf einen ge­wünsch­ten Aus­schnitt des zu­grun­de­lie­gen­den Systems be­schrän­ken.

Ein Software-Container be­inhal­tet eine Anwendung inklusive aller Ab­hän­gig­kei­ten wie Bi­blio­the­ken, Hilfs­pro­gram­me oder Kon­fi­gu­ra­ti­ons­da­tei­en. Con­tai­ne­ri­siert lassen sich An­wen­dun­gen ohne weitere An­pas­sun­gen und von einem System auf ein anderes über­tra­gen. Seine Stärken spielt der Container-Ansatz daher bei der Be­reit­stel­lung von An­wen­dun­gen im Netzwerk (De­ploy­ment) aus.

Kommen Container im Rahmen von Mi­cro­ser­vice-Ar­chi­tek­tu­ren zum Einsatz, pro­fi­tie­ren An­wen­de­rin­nen und Anwender zudem von einer hohen Ska­lier­bar­keit.

Vor- und Nachteile der Vir­tua­li­sie­rung auf Be­triebs­sys­tem­ebe­ne:

Vorteile Nachteile
Vir­tua­li­sie­rungs­kon­zep­te auf Be­triebs­sys­tem­ebe­ne kommen ohne Hy­per­vi­sor aus und sind daher mit einem minimalen Vir­tua­li­sie­rungs­schwund verbunden. Die Vir­tua­li­sie­rung auf Be­triebs­sys­tem­ebe­ne ist auf Mi­cro­ser­vice-Ar­chi­tek­tu­ren aus­ge­rich­tet. Beim Betrieb von mo­no­li­thisch struk­tu­rier­ten An­wen­dun­gen büßt die Container-Tech­no­lo­gie Vorteile (etwa in Bezug auf die Ska­lier­bar­keit) ein.
Kommen Container bei An­wen­dun­gen zum Einsatz, die auf einer Ver­knüp­fung ver­schie­de­ner Mi­cro­ser­vices basieren, pro­fi­tie­ren Anwender von einer hohen Ska­lier­bar­keit. Container laufen anders als VMs direkt im Kernel des Host-Be­triebs­sys­tems. Dies setzt bestimmte tech­ni­sche Ge­ge­ben­hei­ten voraus. Diese Ab­hän­gig­kei­ten begrenzen die Por­ta­bi­li­tät von Con­tai­nern: Bei­spiels­wei­se lassen sich Linux-Container nicht ohne Emulation auf Windows-Systemen ausführen.
Container lassen sich ohne komplexe In­stal­la­ti­ons­pro­zes­se un­mit­tel­bar be­reit­stel­len. Container bieten im Vergleich zu VMs eine deutlich geringe Iso­lie­rung. Die Container-Vir­tua­li­sie­rung eignet sich daher nicht für die Umsetzung von Si­cher­heits­kon­zep­ten.
Software lässt sich rück­stands­los entfernen.
Vor­ge­fer­tig­te Container stehen für die wich­tigs­ten Platt­for­men in großer Zahl online zur Verfügung.

Spei­cher­vir­tua­li­sie­rung

Bei der Spei­cher­vir­tua­li­sie­rung (Storage-Vir­tua­li­sie­rung) handelt sich um ein Vir­tua­li­sie­rungs­kon­zept, das darauf abzielt, diverse Spei­cher­res­sour­cen eines Un­ter­neh­mens wie Fest­plat­ten­lauf­wer­ke, Flash­spei­cher oder Band­lauf­wer­ke virtuell ab­zu­bil­den und als zu­sam­men­hän­gen­den Spei­cher­pool be­reit­zu­stel­len.

Auch vir­tu­el­ler Speicher lässt sich in Kon­tin­gen­te zerlegen und aus­ge­wähl­ten An­wen­dun­gen zuteilen. An­wen­de­rin­nen und Anwender können auf ge­spei­cher­te Daten trotz Vir­tua­li­sie­rung stets über dieselben Da­tei­pfa­de zugreifen, auch wenn sich der physische Spei­cher­ort ändert. Si­cher­ge­stellt wird dies durch eine von der Vir­tua­li­sie­rungs­soft­ware ver­wal­te­te Zu­ord­nungs­ta­bel­le. Man spricht von einem Mapping der phy­si­schen Spei­cher­me­di­en auf ein logisches Laufwerk (auch Volumes genannt).

Im Un­ter­neh­mens­kon­text wird Spei­cher­vir­tua­li­sie­rung in der Regel block­ba­siert umgesetzt. Bei der Block­spei­che­rung werden Daten in gleich große Blöcke un­ter­teilt. Jeder Da­ten­block erhält eine ein­zig­ar­ti­ge Adresse. Diese wird von der Vir­tua­li­sie­rungs­soft­ware in der zentralen Zu­ord­nungs­ta­bel­le (Mapping-Table) ge­spei­chert. In der Praxis lässt sich die block­ba­sier­te Vir­tua­li­sie­rung host-, geräte- oder netz­werk­ba­siert umsetzen.

Host­ba­sier­te Vir­tua­li­sie­rung kommt in der Regel in Kom­bi­na­ti­on mit vir­tu­el­len Maschinen zum Einsatz. Bei diesem Konzept prä­sen­tiert ein Host­sys­tem einem oder mehreren Gast­sys­te­men (siehe Hardware-Vir­tua­li­sie­rung) virtuelle Laufwerke auf einer Abs­trak­ti­ons­ebe­ne. Der Zugriff auf die Hardware erfolgt durch die Ge­rä­te­trei­ber des Host­sys­tems.

Die host­ba­sier­te Spei­cher­vir­tua­li­sie­rung kommt ohne zu­sätz­li­che Hardware aus, un­ter­stützt jedes Spei­cher­ge­rät und lässt sich mit geringem Aufwand umsetzen. Zudem bietet der Ansatz im Vergleich zu anderen Konzepten die beste Per­for­mance, da jedes Spei­cher­ge­rät un­mit­tel­bar und somit ohne La­tenz­zeit an­ge­spro­chen wird. Anwender müssen jedoch in Kauf nehmen, dass sich die Spei­cher­vir­tua­li­sie­rung – und damit die Mög­lich­keit zur Op­ti­mie­rung der Spei­cher­aus­las­tung – auf den je­wei­li­gen Host be­schränkt.

Auch Disk-Arrays – Mas­sen­spei­cher­ge­rä­te, mit denen sich Fest­plat­ten im Netzwerk be­reit­stel­len lassen – bieten im Rahmen der ge­rä­te­ba­sier­ten Spei­cher­vir­tua­li­sie­rung die Mög­lich­keit, Spei­cher­res­sour­cen zu vir­tua­li­sie­ren. Dabei kommen so­ge­nann­te RAID-Schemata zum Einsatz. Bei RAID (kurz für: Redundant Array of In­de­pen­dent Disks, die Red­un­dan­te Anordnung un­ab­hän­gi­ger Fest­plat­ten) handelt es sich um ein Konzept der Da­ten­hal­tung, bei dem mehrere physische Laufwerke zu einer vir­tu­el­len Spei­cher­platt­form zu­sam­men­ge­fasst werden.

Tipp

Weitere In­for­ma­tio­nen zu Disk-Arrays und RAID-Schemata bietet unser Artikel zu Network Attached Storage (NAS).

Auch ge­rä­te­ba­sier­te Spei­cher­vir­tua­li­sie­rung bietet eine gute Per­for­mance durch geringe I/O-Latenz. Abgesehen von den Disk-Arrays, die zu­sam­men­ge­schlos­sen werden sollen, sind keine weiteren Hardware-Kom­po­nen­ten er­for­der­lich.

Eine Spei­cher­vir­tua­li­sie­rung auf Netz­werk­ba­sis bietet sich vor allem dann an, wenn Spei­cher­res­sour­cen he­te­ro­ge­ner Systeme zu einem vir­tu­el­len Spei­cher­pool zu­sam­men­ge­fasst werden sollen. Im Un­ter­neh­mens­kon­text wird dieser Ansatz in der Regel im Rahmen eines Storage-Area-Networks (SAN) umgesetzt.

Vor- und Nachteile der Spei­cher­vir­tua­li­sie­rung:

Vorteile Nachteile
Physische Spei­cher­res­sour­cen werden ef­fek­ti­ver aus­ge­las­tet. Spei­cher­vir­tua­li­sie­rung ist immer mit einem Overhead verbunden, der daraus re­sul­tiert, dass Metadaten generiert und ver­ar­bei­tet werden müssen.
Spei­cher­vir­tua­li­sie­rung ist immer mit einem Overhead verbunden, der daraus re­sul­tiert, dass Metadaten generiert und ver­ar­bei­tet werden müssen. Eine Ver­ar­bei­tung von I/O-Anfragen kann bei starker Aus­las­tung zum Fla­schen­hals werden, der das gesamte Spei­cher­sys­tem ausbremst.
Zu einem logischen Laufwerk zu­sam­men­ge­schlos­se­ne physische Spei­cher­res­sour­cen lassen sich zentral verwalten.
Zu einem logischen Laufwerk zu­sam­men­ge­schlos­se­ne physische Spei­cher­res­sour­cen lassen sich zentral verwalten.

Da­ten­vir­tua­li­sie­rung

Da­ten­vir­tua­li­sie­rung fasst ver­schie­de­ne Vir­tua­li­sie­rungs­an­sät­ze im Rahmen von Data-Warehouse-Analysen zusammen, die darauf abzielen, An­wen­dun­gen einen von phy­si­schen Ge­ge­ben­hei­ten abs­tra­hier­ten Zugriff auf Daten zu ver­schaf­fen. Dabei wird eine so­ge­nann­te Master-Kopie, ein vir­tu­el­les Abbild des Ge­samt­da­ten­be­stands, erstellt.

Bei der Da­ten­vir­tua­li­sie­rung handelt sich somit um ein Konzept der In­for­ma­ti­ons­in­te­gra­ti­on. Im Rahmen der In­for­ma­ti­ons­in­te­gra­ti­on kommt ETL (Extract,Transform,Load) zum Einsatz, um Daten aus un­ter­schied­lich struk­tu­rier­ten Quellen zu ex­tra­hie­ren und in ein­heit­li­cher Form in einer Ziel­da­ten­bank zu­sam­men­zu­füh­ren. Auch Da­ten­vir­tua­li­sie­rung er­mög­licht es, Daten aus ver­schie­de­nen Quellen aus­zu­le­sen und zu ma­ni­pu­lie­ren, diese bleiben (anders als bei ETL) physisch jedoch an Ort und Stelle. Software-Lösungen zur Da­ten­vir­tua­li­sie­rung in­te­grie­ren Daten somit lediglich auf einer vir­tu­el­len Ebene und stellen einen Echtzeit-Zugriff auf die physische Da­ten­quel­le zur Verfügung.

Vor- und Nachteile der Da­ten­vir­tua­li­sie­rung:

Vorteile Nachteile
Der Spei­cher­be­darf für physische Da­ten­ko­pien wird reduziert. Im Gegensatz zum Data-Warehouse-Ansatz ist Da­ten­vir­tua­li­sie­rung nicht dazu geeignet, his­to­ri­sche Mo­ment­auf­nah­men eines Da­ten­be­stands auf­zu­zeich­nen und vor­zu­hal­ten.
Die zeit­auf­wen­di­ge Da­ten­ex­trak­ti­on (bei­spiels­wei­se via ETL) entfällt.
Neue Da­ten­quel­len lassen sich über Self-Service-BI-Tools auch ohne tech­ni­sches Vorwissen anbinden.
Vir­tua­li­sier­te Daten können mit einer Vielzahl von Da­ten­ma­nage­ment-Tools ver­ar­bei­tet werden.

Netz­werk­vir­tua­li­sie­rung

Netz­werk­vir­tua­li­sie­rung umfasst ver­schie­de­ne Ansätze, bei denen Netz­werk­res­sour­cen auf Hardware- und Software-Ebene von ihrer phy­si­schen Grundlage abs­tra­hiert werden. In der Regel kommt diese Art der Vir­tua­li­sie­rung im Rahmen von Si­cher­heits­kon­zep­ten zum Einsatz. Dabei stehen grund­sätz­lich zwei Ziele im Vor­der­grund:

  • Physische Netzwerk-Res­sour­cen sollen mittels Vir­tua­li­sie­rung zu einer logischen Einheit zu­sam­men­ge­fasst werden.
  • Physische Netzwerk-Res­sour­cen sollen mittels Vir­tua­li­sie­rung in ver­schie­de­ne virtuelle Einheiten auf­ge­teilt werden.

Ein an­schau­li­ches Beispiel für Netz­werk­vir­tua­li­sie­rung ist das Virtual Private Network (VPN). Bei einem VPN handelt es sich um ein vir­tu­el­les Netzwerk auf Basis eines phy­si­schen Netzwerks. In der Praxis kommen VPNs zum Einsatz, um sichere Ver­bin­dun­gen über unsichere Leitungen zu rea­li­sie­ren – bei­spiels­wei­se, wenn ein Au­ßen­mit­ar­bei­ter über das Internet auf das private Netzwerk seiner Firma zugreifen möchte.

Ein anderes Beispiel für Netz­werk­vir­tua­li­sie­rung sind so­ge­nann­te Virtual Local Area Network (VLANs). Bei VLANs handelt es sich um virtuelle Teilnetze auf Basis eines phy­si­schen Rech­ner­net­zes.

Ein Konzept, das es erlaubt, virtuelle Netz­werk­res­sour­cen zentral zu steuern, ohne manuell auf physische Netz­werk­kom­po­nen­ten zugreifen zu müssen, ist Software-Defined Net­wor­king (SDN). SDN beruht auf der Ent­kopp­lung der vir­tu­el­len Kon­trol­l­ebe­ne (Control Plane) von der phy­si­schen Netz­wer­kebe­ne, die für die Wei­ter­lei­tung der Da­ten­pa­ke­te ver­ant­wort­lich ist (Data Plane).

Vor- und Nachteile der Netz­werk­vir­tua­li­sie­rung:

Vorteile Nachteile
Kos­ten­ein­spa­run­gen durch Mehr­fach­nut­zung der phy­si­schen Netz­werk­in­fra­struk­tur. Der Betrieb mehrerer vir­tu­el­ler Teilnetze auf einem phy­si­schen Netzwerk setzt leis­tungs­star­ke Hardware-Kom­po­nen­ten voraus.
Netz­werk­res­sour­cen lassen sich auf vir­tu­el­ler Ebene zentral verwalten, einfach skalieren und dynamisch zuteilen. U. U. kann eine red­un­dan­te physische Netz­werk­in­fra­struk­tur er­for­der­lich sein, um Aus­fall­si­cher­heit si­cher­zu­stel­len.
U. U. kann eine red­un­dan­te physische Netz­werk­in­fra­struk­tur er­for­der­lich sein, um Aus­fall­si­cher­heit si­cher­zu­stel­len.
Zum Hauptmenü