oVirt Intro & Architecture

Barak Azulay Manager @ RHEV Engineering June 2012

1 Management the oVirt way What is oVirt?

Large scale, centralized management for and Based on leading performance, scalability and security infrastructure technologies Provide an open source alternative to vCenter/vSphere Focus on KVM for best integration/performance Focus on ease of use/deployment

2 Virtualization Management the oVirt way How Does It Look?

3 Virtualization Management the oVirt way Competitive Landscape

● InfoWorld “shootout” 2011 – Independent analysis of leading virtualization platforms – 2nd place in management functionality

http://bit.ly/virtshootout

4 Virtualization Management the oVirt way Goals of the oVirt project

● Build a community around all levels of the virtualization stack – , manager, GUI, API, etc. ● To deliver both a cohesive complete stack and discretely reusable components for open virtualization management ● Provide a release of the project on a well defined schedule ● Focus on management of the KVM hypervisor, with exceptional guest support beyond ● Provide a venue for user and developer communication and coordination

5 Virtualization Management the oVirt way Governance

● Merit based, open governance model ● Built using the best concepts taken from Apache and Eclipse Foundations ● Governance split between board and projects ● oVirt Board ● Multiple projects under the oVirt brand

6 Virtualization Management the oVirt way Governance (oVirt Board)

● Initial board ● Red Hat, IBM, NetApp, Cisco, SUSE, ● A few domain leaders from sub-projects ● Mentors ● There is no limit to the number of board seats ● Additional seats are voted based on merit

7 Virtualization Management the oVirt way Kenrel-based (KVM)

● Included in since 2006

● Runs Linux, Windows and other guests

● Advanced features ● ● Memory page sharing ● Thin provisioning ● PCI Pass-through

● KVM architecture provides high “feature-velocity” – leverages the power of Linux

8 Virtualization Management the oVirt way Linux as a Hypervisor?

● What makes up a hypervisor ?

● Hardware management ● Device drivers ● I/O Stack ● Resource Management ● Scheduling ● Access Control ● Power Management ● Memory Manager ● Device Model (emulation) ● Virtual Machine Monitor

9 Virtualization Management the oVirt way Linux as a Hypervisor?

● What makes up a hypervisor ?

● Hardware management ● Device drivers ● I/O Stack ● Resource Management Operating System Kernel ● Scheduling ● Access Control ● Power Management

● } Memory Manager ● Device Model (emulation) ● Virtual Machine Monitor

10 Virtualization Management the oVirt way Linux as a Hypervisor?

How well does Linux perform as a hypervisor? Isn't Linux a general purpose operating system?

Linux is architected to scale from the smallest embedded systems through to the largest multi-socket servers ● From cell phones through to mainframes

KVM benefits from mature, time tested infrastructure ● Powerful, scalable memory manager ● Robust security infrastructure ● High performance network stack ● Versatile storage infrastructure – iSCSI, FC, NAS, multipath, etc ● Rich ecosystem of supported hardware systems 11 Virtualization Management the oVirt way Linux as a Hypervisor?

How well does Linux perform as a hypervisor? Isn't Linux a general purpose operating system?

Over the last 4 years features have been added to Linux to provide a better infrastructure for a hypervisor ● Scheduler enhancements Improved scalability and reduced latency ● Enhancements to memory manager Advanced features such as memory page sharing and compression ● Improvements to Block I/O subsystem ● Better performance, automated alignment, etc 12 Virtualization Management the oVirt way Red Hat Enterprise Virtualization Performance and Scalability

SPECvirt_sc2010 Vendor neutral virtualizaztion benchmarks Comprised of application specific benchmarks running inside “tiles” Each tile runs 6 virtual machines ● Server ● Mail Server ● Web Server ● Infrastructure Server ● Idle Server

Each VM runs a benchmark, eg SpecWeb, SPECjAppServer,SPECmail and must meet specifi

13 Virtualization Management the oVirt way Red Hat Enterprise Virtualization Performance and Scalability

SPECvirt_sc2010

KVM leads the pack in 2, 4, 8 socket systems for SPECvirt Including the largest benchmark results with over 400 Vms

Score : 7067 @ 432 VMs (72 tiles) Processor: Intel Xeon E7-4870 (80 cores, 8 chips, 10 cores/chip, 2 threads/core) Memory: 2 TB (128 x 16 GB, Quad Rank x4 PC3-8500 CL7 ECC DDR3 1066MHz LP RDIMM)

http://www.spec.org/virt_sc2010/

14 Virtualization Management the oVirt way Security

oVirt inherits the security features of Linux SELinux security policy infrastructure Provides protection and isolation for virtual machines and host Compromised virtual machine cannot access other VMs or host sVirt Project Sub-project of NSA's SELinux community. Provides “hardened” Multilevel security. Isolate guests Contain any hypervisor breaches

15 Virtualization Management the oVirt way oVirt Node

● Standalone hypervisor ● Small footprint < 100MB ● Customized 'spin' of Fedora + KVM ● 'Just enough' Fedora to run virtual machines ● Runs on all RHEL hardware with Intel VT/AMD-V CPUs ● Easy to install, configure and upgrade ● PXE boot, USB boot, CD or Hard drive

16 Virtualization Management the oVirt way oVirt Node vs. Full Host

oVirt Node • Less than 100 MB • Pre-configured, no Linux skills needed.

Full Host • Flexible • Add monitoring agents, scripts etc. Leverage existing Fedora infrastructure. • Hybrid mode capable

17 Virtualization Management the oVirt way How to Start?

● Build from source ● Or, just install pre-packaged ● install -engine ● ./ovirt-setup ● Add managed hosts ● from engine ● use ovirt-node registr/approve flow

18 Virtualization Management the oVirt way Administration Console

19 Virtualization Management the oVirt way Search Auto Complete

20 Virtualization Management the oVirt way Search Auto Complete

21 Virtualization Management the oVirt way Search Results

22 Virtualization Management the oVirt way Add Host As Simple As

23 Virtualization Management the oVirt way Power Management

24 Virtualization Management the oVirt way Configure Networks

25 Virtualization Management the oVirt way Or Bonds

26 Virtualization Management the oVirt way Without Scripts or Config Files

27 Virtualization Management the oVirt way Configure Storage Once for Entire Cluster

28 Virtualization Management the oVirt way Extend with More LUNs as Needed

29 Virtualization Management the oVirt way Add Servers or Desktops

30 Virtualization Management the oVirt way Even Windows via Sysprep

31 Virtualization Management the oVirt way SPICE or VNC

32 Virtualization Management the oVirt way Migratable or Not

33 Virtualization Management the oVirt way Highly Available?

34 Virtualization Management the oVirt way Control Allocated Resources (Disk, Memory)

35 Virtualization Management the oVirt way Boot Devices

36 Virtualization Management the oVirt way Advanced Options via Custom Properties

37 Virtualization Management the oVirt way Assign Permissions to Objects by Roles

38 Virtualization Management the oVirt way Define Your Own Roles

39 Virtualization Management the oVirt way User Portal

40 Virtualization Management the oVirt way Self Provisioning Portal

41 Virtualization Management the oVirt way User Resource View

42 Virtualization Management the oVirt way Management Features

Feature Description

High Availability Restart guest VMs from failed hosts automatically on other hosts

Live Migration Move running VM between hosts with zero downtime

System Scheduler Continuously load balance VMs based on resource usage/policies

Power Saver Concentrate virtual machines on fewer servers during off-peak hours

No downtime for virtual machines during planned maintenance windows. Maintenance Manager Hypervisor patching Image Management Template based provisioning, thin provisioning and snapshots

Monitoring & Reporting For all objects in system – VM guests, hosts, networking, storage etc.

OVF Import/Export Import and export VMs and templates using OVF files

V2V Convert VMs from VMware and RHEL/ to oVirt

43 Virtualization Management the oVirt way High Availability

• Build a highly available enterprise infrastructure • Continually monitor host systems and virtual machines • Automatically restart virtual machines in case of host failure ● Restart virtual machine on another node in the cluster • Use live migration to “fail-back” a VM to it's original host when the server is restored

44 Virtualization Management the oVirt way Live Migration

• Dynamically move virtual machines between hosts ● No service interruption ● Applications continue to run • Migrate even I/O intensive workloads such as • Perform hardware maintenance without application downtime • Dynamically balance workloads between host systems

45 Virtualization Management the oVirt way System Scheduler

• Dynamically balance workloads in the . • Automatically live migrate virtual machines based on resources • Define custom policies for distribution of virtual machines

Maintain consistent resource usage across the enterprise data center

46 Virtualization Management the oVirt way Power Saver

Define policies to optimize workload on a fewer number of servers during “off- peak” hours

47 Virtualization Management the oVirt way Management Features

Feature Description

High Availability Restart guest VMs from failed hosts automatically on other hosts

Live Migration Move running VM between hosts with zero downtime

System Scheduler Continuously load balance VMs based on resource usage/policies

Power Saver Concentrate virtual machines on fewer servers during off-peak hours

No downtime for virtual machines during planned maintenance windows. Maintenance Manager Hypervisor patching Image Management Template based provisioning, thin provisioning and snapshots

Monitoring & Reporting For all objects in system – VM guests, hosts, networking, storage etc.

OVF Import/Export Import and export VMs and templates using OVF files

V2V Convert VMs from VMware and RHEL/Xen to RHEV

48 Virtualization Management the oVirt way Virtual Desktop Infrastructure (VDI)

Centralized management, security and policy enforcement Virtual desktops with user experience of a physical PC Multiple monitors HD quality video Bi-directional audio/video for VoIP or video-conferencing Smartcard support USB support Industry leading density of virtual desktops/server

49 Virtualization Management the oVirt way oVirt High Level Architecture

PostgresPostgres AdminAdmin Portal Portal gwtgwt

ADAD oVirtoVirt RR SDK/CLISDK/CLI EngineEngine EE pythonpython JavaJava SS IPAIPA TT UserUser Portal Portal gwtgwt

GuestGuest agent agent GuestGuest agent agent SPICE SharedShared Storage Storage LinuxLinux VM VM WinWin VM VM Linux/WindowsLinux/Windows FC/iSCSI/NFSFC/iSCSI/NFS clientclient libvirtlibvirt VDSMVDSM HostHost | |Node Node

LocalLocal Storage Storage 50 Virtualization Management the oVirt way Engine Core (Backend)

VMVM & & Template Template Life Life Cycle Cycle LoadLoad HAHA create,create, schedule, schedule, snapshot snapshot BalancingBalancing

StorageStorage ConfigurationConfiguration & & Monitoring Monitoring

NetworkNetwork ConfigurationConfiguration & & Monitoring Monitoring

HostHost HostHost HostHost HostHost Register/InstallRegister/Install MonitoringMonitoring MaintenanceMaintenance FencingFencing

Authentication,Authentication, Authorization Authorization InventoryInventory AuditAudit

51 Virtualization Management the oVirt way Authentication

● Builtin user admin@internal ● AD, IPA, 389ds (RHDS) integration ● Kerberos authentication ● LDAP - user info, group membership ● Multiple domains, trusts, etc. ● Cached for searches, not for login ● Next ● Open LDAP ● Internal users (picketlink?) ● Linux users?

52 Virtualization Management the oVirt way Database

● Postgres, JDBC based ● Next ● Hibernate ● Scheme upgrade management

53 Virtualization Management the oVirt way REST API

● RESTful API for integration with oVirt Engine ● REST interface exposed for all API functions ● Developed in upstream RHEV-M API project (before oVirt)

54 Virtualization Management the oVirt way RESTful Web Service

● Stands for Representational State Transfer ● Modeling entity actions around HTTP verbs ● GET ● PUT ● POST ● DELETE ● Still uses 'actions' for some state changes ● Self describes – entity navigation and actions

55 Virtualization Management the oVirt way REST API

56 Virtualization Management the oVirt way Hosts Collection

57 Virtualization Management the oVirt way Host networks collection

58 Virtualization Management the oVirt way Create a Virtual Machine from a Template

POST http://10.35.1.1/rhevm-api/vms my_new_vm