oVirt 3.5 - Einführung und Evaluierungsergebnisse - inovex GmbH

02.04.2015 - Managementsoftware für virtuelle Umgebungen .... Ermöglicht die Nutzung virtueller Netzwerke auf Basis von Open .... Office Pforzheim.
1MB Größe 80 Downloads 126 Ansichten
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