oVirt 3.5 Einführung und Evaluierungsergebnisse Pascal Petsch Karlsruhe, 02.04.2015
Agenda 1. Einführung 2. oVirt Architektur 3. Features 4. Evaluierung 5. Demo
2
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 3
Einführung
•
Board Member:
4
Einführung Pets vs Cattle?
Pets • Werden gepflegt • einzigartig und langlebig • scotty.inovex.de etc. • Scale-up (Vertikale skalierung)
Cattle • web001.inovex.de • Homogene Systeme • Austauschbar • Scale-out (Horizontale skalierung) Analogie geprägt durch Bill Baker (Microsoft)
5
Einführung Pets vs Cattle?
Pets (Virtuelle Infrastruktur) • oVirt / RHEV-M • vCenter/vSphere • …
Cattle (“Cloud Computing”) • OpenNebula • OpenStack • cloudstack • vCloud Analogie geprägt durch Bill Baker (Microsoft)
6
Einführung Warum oVirt? ‣ 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.)
7
Einführung Warum oVirt? ‣ Foreman und OpenStack Integration ‣ Schnittstellen für User und Administratoren ‣ Webportal (Admin/User), REST API, Python SDK und CLI ‣ Features! 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
8
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
9
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
10
oVirt Architektur Übersicht ‣ Schnittstellen ‣ OpenStack: Image & Networking ‣ Foreman: Host Management
11
oVirt Architektur Detailansicht
12
oVirt Architektur Logische Architektur
13
oVirt Architektur Logische Architektur
14
Features High Availability - Instanzen ‣ 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!
Quelle: oVirt Slide Decks – Introduction to oVirt (Okt 2014) http://www.ovirt.org/images/a/ad/ Introduction_to_oVirt.odp
15
Features Scheduling ‣ Dynamische Verteilung der Last im Rechenzentrum durch automatiche Live Migration
Quelle: oVirt Slide Decks – Introduction to oVirt (Okt 2014) http://www.ovirt.org/images/a/ad/ Introduction_to_oVirt.odp
16
Features Scheduling – Power Saving ‣ Konsolidierung der Last in “off-peak” Zeiten um Energie einzusparen
Quelle: oVirt Slide Decks – Introduction to oVirt (Okt 2014) http://www.ovirt.org/images/a/ad/ Introduction_to_oVirt.odp
17
Features OpenStack integration ‣ 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
Quelle: http://www.ovirt.org/Features/NeutronVirtualAppliance
18
Features Foreman integration ‣ Foreman (Host Provisioning) ‣ UI Extension für das hinzufügen von Hosts ‣ Hostinformationen müssen dem Administrator nicht bekannt sein
19
oVirt Demo Umgebung Übersicht ‣ Board 1/4 ‣
Intel T5600 2x 1,83GHz
‣ 2GB RAM ‣ Board 2, 3, 5, 6 ‣ Intel i5-2520M 4x 2,5GHz ‣ 8GB RAM ‣ Board 2 inkl. 512GB SSD ‣ 1x Foreman, 2x Hypervisor, 1x ovirt-Engine, 1x Storage (iSCSI +NFS Export)
20
oVirt Demo Umgebung Setup oVirt-Engine # yum install http://plain.resources.ovirt.org/pub/yum-repo/ovirt-release35.rpm # yum –y install ovirt-engine # engine-setup
21
oVirt Demo Umgebung Setup oVirt-Host # 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 ovirtEngine abgeschlossen ist
22
Demo
Evaluierung Live Migration ‣ 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
24
Evaluierung Live Migration ‣ 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
25
Evaluierung Live Migration ‣ Tools für Lasterzeugung und Messung ‣ jMeter (Messung von Antwortzeiten) ‣ stress-ng (Umfangreiches Stress-Test Tool) ‣ Bspw: stress-ng --cpu 2 -- vm 2 --vm-bytes 1G –io 2 --metrics-brief ‣ iperf / netcat (Messung der Netzwerkbandbreite)
Sender
Empfänger
iperf3 –c EmpfängerIP
iperf3 –s
dd if=/dev/zero bs=1M count=1K | nc –vvn EmpfängerIP 12345
nc -vvlnp 12345 > /dev/null
26
Evaluierung Live Migration 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 Fazit ‣ 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 28
Vielen Dank für Ihre Aufmerksamkeit!
Kontakt Pascal Petsch Linux Systems Engineer inovex GmbH Office Pforzheim Karlsruher Straße 71
29