91 lines
4.0 KiB
Markdown
91 lines
4.0 KiB
Markdown
# Virtualisierung
|
|
> Technologie, die es ermöglicht mehrere virtuelle Instanzen auf einem einzigen
|
|
> physischen System auszuführen
|
|
>
|
|
> Spielt eine entscheidende Rolle bei der effizienten Nutzung von Ressourcen, der Erhöhung von
|
|
> Flexibilität und Skalierbarkeit sowie der Verbesserung der Verfügbarkeit von Anwendungen und Daten
|
|
|
|
|
|
## Vorteile der Virtualisierung
|
|
- **Ressourceneffizienz**
|
|
- mehrere VMs können auf einem physischen Server laufen
|
|
- **Isolation**
|
|
- VMs sind voneinander isoliert
|
|
- verbessert Stabilität und Sicherheit
|
|
- **Snapshot- und Wiederherstellungsfunktion**
|
|
- **Portabilität**
|
|
- VMs können auf verschiedenen physischen Servern verschoben und ausgeführt werden
|
|
|
|
|
|
## Virtualisierungstypen
|
|
### Hypervisor-basierte Virtualisierung
|
|
- [Hypervisor](https://www.youtube.com/watch?v=LMAEbB2a50M) (~Virtual Machine Monitor)
|
|
- wird direkt auf Hardware ausgeführt
|
|
- ermöglicht Ausführung mehrerer Betriebssysteme als VMs
|
|
#### Typ 1 (Bare-Metal-Hypervisor)
|
|
- direkte auf Hardware installiert
|
|
- benötigt kein Host-Betriebssystem
|
|
- _bspw.: VMware ESXi, Microsoft Hyper-V_
|
|
|
|
#### Typ 2 (Hosted-Hypervisor)
|
|
- Läuft auf Host-Betriebssystem
|
|
- _bspw: VMware Workstation, Oracle VirtualBox_
|
|
|
|
### Container-Virtualisierung
|
|
- Container teilen sich Kernel des Host-Betriebssystems
|
|
- bieten leichtgewichtige Möglichkeit Anwendungen zu isolieren und auszuführen
|
|
|
|
## Partitionierung von VMs
|
|
- Aufteilung einer _physischen oder virtuellen Ressource_ in mehrere logische Einheiten (Partitionen)
|
|
- 
|
|
- können unterschiedliche Betriebssysteminstanzen/Anwendungen beherbergen
|
|
- Vorteile u.a. Ressourcenisolierung, verbesserte Sicherheit, bessere Verwaltbarkeit
|
|
|
|
## Hardware-Emulation
|
|
- Nachbildung oder Simulation von Hardware auf einer anderen Hardware- oder Softwareplattform
|
|
- Replikation von Hardware-Komponenten, Geräten oder ganzen Systemen auf einer virtuellen Ebene
|
|
- 
|
|
- **Entwicklung neuer Hardware**
|
|
- Simulation von Hardware-Designs bevor tatsächliche Hardware erstellt wird
|
|
- **Fehlerbehebung und Debugging**
|
|
- Identifizierung von Fehlern in Hardware-Komponenten oder -Systemen
|
|
- **Testen von Software**
|
|
|
|
### Hardware-Emulator vs. Simulator
|
|
| **Emulator** | **Simulator** |
|
|
|-----------------------------------------------------------------------------|----------------------------------------------------------------------------------------|
|
|
| Reproduziert Verhalten der tatsächlichen Hardware genau | Ahmt Verhalten von Hardware nach |
|
|
| arbeitet auf niedriger Ebene, indem er Hardwarekomponenten genau nachbildet | Arbeitet auf höherer Ebene, Konzentration auf Funktionalität statt exakter Nachbildung |
|
|
|
|
## Anwendungsvirtualisierung
|
|
- Einzelne anwendung in virtueller Umgebung ausführen, die alle benötigten Komponenten bereitstellt
|
|
- 
|
|
- virtuelle Maschine befindet sich zwischen Anwendung und Betriebssystem
|
|
- _bspw.: Java Virtual Machine (JVM)_
|
|
|
|
## Betriebssystem-Virtualisierung
|
|
- [Container](https://www.youtube.com/watch?v=TvnZTi_gaNc) laufen unter ein und demselben BS-Kern
|
|
- mehrere abgeschottete, identische Systemumgebungen
|
|
- 
|
|
- bei Start einer VM wird im Gegensatz kein zusätzliches BS gestartet
|
|
- Erzeugung isolierte Laufzeitumgebung
|
|
|
|
## Vollständige Virtualisierung
|
|
- Hypervisor bietet einer VM eine komplette virtuelle PC-Umgebung inkl. eigenem BIOS
|
|
- 
|
|
- Gast-BS erhält eigene VM mit virtuellen Ressourcen
|
|
- Prozessor(en)
|
|
- Hauptspeicher
|
|
- Laufwerke
|
|
- Netzwerkkarten
|
|
- etc.
|
|
- Kern der Lösung ist Virtueller Maschinen-Monitor (VMM)
|
|
- Aufgabe ist Zuweisung der Hardwareressourcen an VMs
|
|
|
|
## Virtualisierungslösungen
|
|
- [docker](https://www.docker.com)
|
|
- [vmware](https://www.vmware.com)
|
|
- [virtualbox](https://www.virtualbox.org)
|
|
- [getutm (mac)](https://mac.getutm.app)
|
|
|