3. 3
Einführung
• Managementsoftware für virtuelle Umgebungen
• Libvirt als Schnittstelle zwischen Hypervisor (KVM) und
Managementsystem
• Bildet die Grundlage für Red Hats Enterprise Virtualization Manager
(RHEV-M) und weitere kommerzielle Lösungen (Nimbus Concept, UDS
Enterprise, Wind River)
• Aktueller Stable Release: 3.5.1 (1.2015)
• Lizenz: Open Source (Apache 2.0)
• Sprache: Java
• Hypervisor: KVM
• Host OS : Linux
• Guest OS : Linux(primär), Windows
7. 7
‣ Offene Standards
‣ Verwendung von Libvirt, KVM, SE-Linux und weiteren Open Source Tools
à Vermeidet Vendor lock in
à fördert Interoperabilität, Standardisierung
‣ Open Source
‣ Keine Lizenzkosten
‣ Kommerzielle Alternativen
‣ Basis für kommerzielle Enterprise Lösungen
‣ Robustheit und Stabilität > Features
‣ Kurzer Releasezyklus (2x p.a.)
Einführung
Warum oVirt?
8. 8
‣ Foreman und OpenStack Integration
‣ Schnittstellen für User und Administratoren
‣ Webportal (Admin/User), REST API, Python SDK und CLI
‣ Features!
Einführung
Warum oVirt?
High Avalability SDN via Neutron
Live Migration (Host / Storage) Hot Plug Disks und NICs
System Scheduler Snapshots
Power Saver VLANs, Bonds
Over-commit (CPU, MEM, I/O) Quotas
Hook Mechanismus OVF Import/Export
9. 9
oVirt Architektur
Übersicht
‣ oVirt besteht aus zwei Komponenten:
‣ Management: oVirt-Engine (JBOSS)
‣ Hypervisor:
‣ Linux Server + VDSM
‣ oVirt Node (Minimal Fedora mit KVM)
‣ ~ 170MB
‣ Fedora basiert
‣ Einfache installation via PXE,
USB, CD
10. 10
oVirt Architektur
Übersicht
‣ Shared Storage ermöglicht Cluster Features (HA, Live Migration)
‣ Umfangreicher Storage Support
‣ ISO-Store enthält die bootbaren ISO und OVF Images
15. Quelle: oVirt Slide Decks – Introduction to oVirt (Okt 2014) http://www.ovirt.org/images/a/ad/
Introduction_to_oVirt.odp 15
‣ Ressourcen einer HA-Instanz werden auf anderen Hosts reserviert
‣ Im Falle eines Host Ausfall kann die Instanz auf einem anderen Host neu
gestartet werden
‣ Kein Active/Active Cluster!
Features
High Availability - Instanzen
16. Quelle: oVirt Slide Decks – Introduction to oVirt (Okt 2014) http://www.ovirt.org/images/a/ad/
Introduction_to_oVirt.odp
16
‣ Dynamische Verteilung der Last im Rechenzentrum durch automatiche Live
Migration
Features
Scheduling
17. Quelle: oVirt Slide Decks – Introduction to oVirt (Okt 2014) http://www.ovirt.org/images/a/ad/
Introduction_to_oVirt.odp
17
‣ Konsolidierung der Last in “off-peak” Zeiten um Energie einzusparen
Features
Scheduling – Power Saving
18. Quelle: http://www.ovirt.org/Features/NeutronVirtualAppliance 18
‣ Glance (Image Service)
‣ Unterstützt diverse Disk (raw, vhd, vmdk, vdi, iso, qcow2, aki, ari, ami) und
Container Formate (bare, ovf, aki, ari, ami, ova)
‣ Neutron (Networking Service)
‣ Ermöglicht die Nutzung virtueller Netzwerke auf Basis von Open vSwitch
oder LinuxBridge
Features
OpenStack integration
19. 19
‣ Foreman (Host Provisioning)
‣ UI Extension für das hinzufügen von Hosts
‣ Hostinformationen müssen dem Administrator nicht bekannt sein
Features
Foreman integration
22. 22
# yum install -y bridge-utils
# yum install http://ovirt.org/releases/ovirt-release-fedora.noarch.rpm
# yum install -y vdsm vdsm-cli
§ Danach Host in UI hinzufügen und warten bis die Konfiguration durch die ovirt-
Engine abgeschlossen ist
oVirt Demo Umgebung
Setup oVirt-Host
24. 24
‣ Test 1
‣ Verbindungsabbruch bei Live Migration?
‣ Test mit netcat bspw:
$ nc -l 4444 (Ziel) $ nc ZielIP 4444 (Quelle)
‣ Kein Verbindungsabbruch
‣ Test 2
‣ Live Migration unter Last auf Apache Webserver
‣ 1 vCPU, 1024MB RAM
‣ Test mit siege bspw. 50 Verbindungen mit 10 Sekunden Abstand:
$ siege -d10 -c50 ZielIP
‣ Problemlose Live Migration
Evaluierung
Live Migration
25. 25
‣ Test 3
‣ Liferay CE Bundle mit Tomcat
‣ Testdaten (Joe Bloggs)
‣ Caching deaktiviert
‣ MariaDB Server
‣ CentOS7 Generic Cloud Image
‣ 2 vCPU, 4096 MB RAM
‣ Warum?
‣ „Realistische“ Arbeitslast
‣ relativ hohe Hardwareanforderungen v.a. an Speicher
Evaluierung
Live Migration
27. keine aussagekräftige Fehlermeldung in der UI:
/var/log/vdsm.log (Source)
File "/usr/lib64/python2.7/site-packages/libvirt.py", line 1264, in migrateToURI2
if ret == -1: raise libvirtError ('virDomainMigrateToURI2() failed', dom=self)
libvirtError: operation aborted: migration job: canceled by client
/var/log/vdsm.log (Dest)
File "/usr/share/vdsm/virt/vm.py", line 4160, in _attachLibvirtDomainAfterMigration
raise MigrationError(e.get_error_message())
MigrationError: Domain not found: no domain with matching uuid
'f33929da-fc24-42bc-b1e5-9f40d3da0d7f’
Eigentliches Problem:
• Netzwerkbandbreite < Δ RAM
• Instanz läuft problemlos weiter
27
Evaluierung
Live Migration
28. 28
‣ Sehr simples Setup (weitgehend automatische Host Konfiguration, Engine
Installer, Hosted Engine)
‣ Keinerlei Probleme mit oVirt selbst während der Evaluierungsphase
‣ Intuitive UI
‣ Suche
‣ Host und Storage Migration
‣ User Portal
‣ Cloud-Init Support
‣ SPICE & RDP für VDI
‣ Offene Standards
‣ Nähe zu OpenStack
‣ Negativ:
‣ Skalierung der oVirt Engine nur Vertikal
‣ Keine integrierte Backuplösung
Evaluierung
Fazit