LPIC101/102.6 Linux als Virtualisierung-Gast: Unterschied zwischen den Versionen

Aus Foxwiki
Michelmekedjue (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Michelmekedjue (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 118: Zeile 118:
zurückgegrif-
zurückgegrif-
fen, das als Vorlage für den Container dient.<br>
fen, das als Vorlage für den Container dient.<br>
==Cloud / Infrastructure as a Service (IaaS)==
==Cloud / Infrastructure as a Service (IaaS)=
 
Es gibt viele Produkte, die als Clouddienste angeboten werden. Jeder kennt heutzu- tage Dropbox, OneDrive und andere Anbieter, wo auch für Privatanwender Speicher- platz zur Verfügung gestellt wird. Beliebt sind auch Onlinekalender, Adressbücher und ganze Officepakete.
Es gibt viele Produkte, die als Clouddiens
Abgesehen davon, dass Ihre Daten sich auf fremden Servern befinden, bieten Public Clouds natürlich auch erhebliche Vorteile:
te angeboten werden. Jeder kennt heutzu-
* Zugriff auf Ressourcen von überall aus
tage  
* Netzwerkbandbreiten müssen nicht selbst vorgehalten werden.
Dropbox
* kein Hardwarekauf für Server
,  
* Backuplösungen sind in der Regel integriert.
OneDrive
* schnelle Skalierbarkeit
und andere Anbieter, wo auch
* physikalische Sicherheit durch externe Dienstleister
für Privatanwe
* geringe Kosten
nder Speicher-
platz zur Verfügung gestellt wird. Beliebt sind auch Onlinekalender, Adressbücher
und ganze Officepakete. Sie sollten sich ab
er immer im Klaren darüber sein, wem Sie
Ihre Daten anvertrauen. Spätes
tens an dieser Stelle wird es interessant, sich zwischen
Puplic Cloud und Private Cloud zu entschei
den. Bei einer Private Cloud bleiben Ihre
Daten nämlich auf Ihren Serv
ern und nicht auf Servern anderer Leute. Wenn Sie eine
Private Cloud selbst betreiben möchte
n, sollten Sie sich die Produkte
ownCloud
oder
Nextcloud
einmal ansehen. Aber darum soll es jetzt nicht gehen.<br>
==cloud-init==
==cloud-init==
cloud-init ist ein Paket, das Probleme löst, die beim Klonen virtueller Maschinen entstehen. Einige wesentliche Aufgaben, die mittels cloud-init durchgeführt werden können, sind:
cloud-init ist ein Paket, das Probleme löst, die beim Klonen virtueller Maschinen entstehen. Einige wesentliche Aufgaben, die mittels cloud-init durchgeführt werden können, sind:

Version vom 15. November 2019, 19:25 Uhr

Virtualisierung

  • Der Hauptgrund für die Virtualisierung von Computern ist die wesentlich effizien-tere Nutzung von Hardware ressourcen und die damit verbundene

Kostenersparnis.

  • Die meisten physikalischen Server verwenden nur einen Bruchteil der verfügbarenHardware, weil bei der Anschaffung von Servern gerne großzügi dimensioniertwird, damit es nicht frühzeitig zu Leistungsengpässen kommt.
  • Wenn sich mehrere virtuelle Server einen physikalischen Server teilen, können Sie die Ressourcen dyna-misch zuweisen, also z. B. überschüssigen Arbeitsspeicher eines Servers reduzieren und diesen einem anderen Server zuweisen.
  • Der Umzug eines virtuellen Servers auf eine leistungsfähigere Hardware ist natürlich auch erheblich einfacher, als derUmzug einer nativen Serverinstallation.

Für die Virtualisierung wird ein Hypervisor(auch Virtual-Machine-Monitor, VMM genannt) benötigt:

Ein Typ 1 Hypervisor

  • der läuft, ohne dass zuvor ein Betriebssystem auf dem Host instal-liert werden muss, direkt auf der Hardware. Man spricht hier auch von einer

Bare-Metal-Installation.

  • Ohne Gastsystem kann auf einem Typ 1 Hypervisor keine Anwen-dung ausgeführt werden. Beispiele hierfür sind VMware vSphere/ESXi,XEN, KVM, RedHat Enterprise Virtualization und Hyper-V.

Ein Typ 2 Hypervisor

  • benötigt ein Betriebssystem auf dem Hostrechner. Auf demHostbetriebssystem kann zusätzlich andere Software installiert sein. Beispiele hier-für sind VMware Workstation und VirtualBox.
  • Typ 2 Hypervisor
  • gibt es üblicherweise für unterschiedliche Hostsysteme. Dadurch ist es sogar möglich, Gastsysteme platt-formübergreifend zu migrieren (z. B. von VirtualBox auf Windows zu VirtualBox auf Linux oder umgekehrt)

Vollvirtualisierung

Bei einer Voll virtualisierung präsentiert der Hypervisor dem Gastsystem einen virtuellen Computer und das Gastsystem erfährt nicht, dass es sich in einer virtualisierten Umgebung befindet. Der einzige Vorteil dabei ist, dass das Gastsystem keine Unter- stützung für Virtualisierung bieten muss, was aber heutzutage nur noch bei Exoten der Fall sein dürfte Paravirtualisierung Die

Paravirtualisierung

ist sozusagen der Gegenspieler der Vollvirtualisierung. Hier weiß das Gastsystem, dass es in einer virt ualisierten Umgebung läuft. Das hat den Vorteil, dass das Gastsystem den Hypervisor kontaktieren kann Hypercall .Umge- kehrt kann auch der Hypervisor das Gastsy stem ansprechen. Die Fähigkeit eines Gastsystems, eine virtualisierte Umgebung zu erkennen und sinnvoll zu nutzen, ist entwed er bereits Bordmittel des Ke rnels oder sie muss nach- träglich hinzugefügt werden. Neuere Betr iebssysteme haben diese Treiber zumeist an Bord, während bei älteren Systemen zwin gend Gasttreiber installiert werden müs- sen. Die Bezeichnung für diese Gasttreibe r ist bei den verschiedenen Hypervisoren unterschiedlich.Bei VirtualBox heißen sie Gasterweiterungen, bei Hyper-V Integrati- onsdienste und bei VMware VMware Tools

Container / Anwendungscontainer

Wenn sehr viele gleichartige virtuelle Maschinen benötigt werden, kann man auf Containervirtualisierung zurückgreifen. Bei dieser Art der Virtualisierung wird kein Hypervisor eingesetzt und es wird auch kein e virtuelle Hardwa re zur Verfügung gestellt.Deshalb ist es auch nicht mögl ich, Windows-Container auf einem Linux- Host auszuführen oder umgekehrt. Das lieg t daran, dass zwar Teile des Betriebssys- tems pro Gast isoliert zur Verfügung gestellt werden (Dateisystem, Bibliotheken), aber alle verwenden zumi ndest denselben Kernel

chroot

Eine frühe Form der Cont ainervirtualisierung ist chroot .Diese Technologie wird ver- wendet um Programme in einer isolierten Umgebung (Sandbox, Jail) auszuführen. Hierzu werden in einem Verzeichnis alle für das zu isolierende Programm notwendi- gen Verzeichnisse, Dateien, Bibliotheken und auch Gerätedateien angelegt und das Programm in diesem Verzeichnis "eingespe rrt". Dieses Verzeich nis ist aus der Sicht dieses Programms das Hauptverzeichnis ( chroot = ch ange root ). Hierdurch soll ver- hindert werden, dass das Programm außerh alb dieser Umgebung Zugriff auf das Dateisystem erhält. chroot ist allerdings nicht als Sicherheitssoftware konzipiert und entsprechend nicht ausbruch sicher. Die Einrichtung von chroot ist vergleichsweise umständlich

Docker

Docker ist eine moderne Containervirtualisie rung. Im Prinzip läuft eine virtuelle Dockeranwendung auch in einem isolierten Verzeichnis, das bei Docker als Container bezeichnet wird. Die Einrichtung ist im Vergleich zu chroot allerdings erheblich ein facher. Beim Start eines solc hen Containers wird auf ein Dockerimage zurückgegrif- fen, das als Vorlage für den Container dient.

=Cloud / Infrastructure as a Service (IaaS)

Es gibt viele Produkte, die als Clouddienste angeboten werden. Jeder kennt heutzu- tage Dropbox, OneDrive und andere Anbieter, wo auch für Privatanwender Speicher- platz zur Verfügung gestellt wird. Beliebt sind auch Onlinekalender, Adressbücher und ganze Officepakete. Abgesehen davon, dass Ihre Daten sich auf fremden Servern befinden, bieten Public Clouds natürlich auch erhebliche Vorteile:

  • Zugriff auf Ressourcen von überall aus
  • Netzwerkbandbreiten müssen nicht selbst vorgehalten werden.
  • kein Hardwarekauf für Server
  • Backuplösungen sind in der Regel integriert.
  • schnelle Skalierbarkeit
  • physikalische Sicherheit durch externe Dienstleister
  • geringe Kosten

cloud-init

cloud-init ist ein Paket, das Probleme löst, die beim Klonen virtueller Maschinen entstehen. Einige wesentliche Aufgaben, die mittels cloud-init durchgeführt werden können, sind:

  • Hostname konfigurieren
  • Benutzerdaten eintragen
  • Standard-Gebietsschema einstellen
  • privaten SSH-Schlüssel für den Host erstellen
  • öffentlichen SSH-Schlüssel eines Benutzers hinterlegen 􏰁 Vorbereiten der Repositorys für die Paketverwaltung
  • Pakete installieren
  • Benutzerskripte ausführen
  • Die hierfür erforderlichen Angaben können bei unterstützenden Cloudanbietern über die Verwaltungsoberfläche eingetragen werden.