oVirt Intro & Architecture - · PDF fileInternal users (picketlink?)

96
1 Virtualization Management the oVirt way oVirt Intro & Architecture Barak Azulay Manager @ RHEV Engineering Red Hat June 2012

Transcript of oVirt Intro & Architecture - · PDF fileInternal users (picketlink?)

Page 1: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

1 Virtualization Management the oVirt way

oVirt Intro & Architecture

Barak AzulayManager @ RHEV EngineeringRed HatJune 2012

Page 2: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

2 Virtualization Management the oVirt way

Large scale, centralized management for server and desktop virtualization

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

What is oVirt?

Page 3: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

3 Virtualization Management the oVirt way

How Does It Look?

Page 4: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

4 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

Page 5: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

5 Virtualization Management the oVirt way

Goals of the oVirt project

● Build a community around all levels of the virtualization stack – hypervisor, 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 Linux

● Provide a venue for user and developer communication and coordination

Page 6: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

6 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

Page 7: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

7 Virtualization Management the oVirt way

Governance (oVirt Board)

● Initial board● Red Hat, IBM, NetApp, Cisco, SUSE, Intel● 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

Page 8: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

8 Virtualization Management the oVirt way

Kenrel-based Virtual Machine (KVM)

● Included in Linux kernel since 2006

● Runs Linux, Windows and other operating system guests

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

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

Page 9: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

9 Virtualization Management the oVirt way

● 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

Linux as a Hypervisor?

Page 10: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

10 Virtualization Management the oVirt way

● 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

Linux as a Hypervisor?

} Operating System Kernel

Page 11: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

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?

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

Page 12: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

12 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

Page 13: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

13 Virtualization Management the oVirt way

SPECvirt_sc2010

Vendor neutral virtualizaztion benchmarksComprised of application specific benchmarks running inside “tiles”

Each tile runs 6 virtual machines● Application Server● Database Server● Mail Server● Web Server● Infrastructure Server● Idle Server

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

Red Hat Enterprise VirtualizationPerformance and Scalability

Page 14: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

14 Virtualization Management the oVirt way

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)

Red Hat Enterprise VirtualizationPerformance and Scalability

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

Page 15: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

15 Virtualization Management the oVirt way

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” hypervisors

Multilevel security. Isolate guests

Contain any hypervisor breaches

Security

Page 16: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

16 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

Page 17: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

17 Virtualization Management the oVirt way

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

oVirt Node vs. Full Host

Page 18: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

18 Virtualization Management the oVirt way

How to Start?

● Build from source● Or, just install pre-packaged

● yum install ovirt-engine● ./ovirt-setup

● Add managed hosts● from engine● use ovirt-node registr/approve flow

Page 19: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

19 Virtualization Management the oVirt way

Administration Console

Page 20: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

20 Virtualization Management the oVirt way

Search Auto Complete

Page 21: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

21 Virtualization Management the oVirt way

Search Auto Complete

Page 22: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

22 Virtualization Management the oVirt way

Search Results

Page 23: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

23 Virtualization Management the oVirt way

Add Host As Simple As

Page 24: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

24 Virtualization Management the oVirt way

Power Management

Page 25: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

25 Virtualization Management the oVirt way

Configure Networks

Page 26: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

26 Virtualization Management the oVirt way

Or Bonds

Page 27: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

27 Virtualization Management the oVirt way

Without Scripts or Config Files

Page 28: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

28 Virtualization Management the oVirt way

Configure Storage Once for Entire Cluster

Page 29: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

29 Virtualization Management the oVirt way

Extend with More LUNs as Needed

Page 30: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

30 Virtualization Management the oVirt way

Add Servers or Desktops

Page 31: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

31 Virtualization Management the oVirt way

Even Windows via Sysprep

Page 32: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

32 Virtualization Management the oVirt way

SPICE or VNC

Page 33: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

33 Virtualization Management the oVirt way

Migratable or Not

Page 34: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

34 Virtualization Management the oVirt way

Highly Available?

Page 35: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

35 Virtualization Management the oVirt way

Control Allocated Resources (Disk, Memory)

Page 36: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

36 Virtualization Management the oVirt way

Boot Devices

Page 37: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

37 Virtualization Management the oVirt way

Advanced Options via Custom Properties

Page 38: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

38 Virtualization Management the oVirt way

Assign Permissions to Objects by Roles

Page 39: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

39 Virtualization Management the oVirt way

Define Your Own Roles

Page 40: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

40 Virtualization Management the oVirt way

User Portal

Page 41: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

41 Virtualization Management the oVirt way

Self Provisioning Portal

Page 42: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

42 Virtualization Management the oVirt way

User Resource View

Page 43: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

43 Virtualization Management the oVirt way

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

V2V  Convert VMs from VMware and RHEL/Xen to oVirt

 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

Maintenance Manager No downtime for virtual machines during planned maintenance windows. Hypervisor patching

Image Management Template based provisioning, thin provisioning and snapshots

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

Management Features

Page 44: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

44 Virtualization Management the oVirt way

• 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

High Availability

Page 45: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

45 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 databases

• Perform hardware maintenance without application downtime

• Dynamically balance workloads between host systems

Page 46: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

46 Virtualization Management the oVirt way

System Scheduler

• Dynamically balance workloads in the data center.

• 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

Page 47: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

47 Virtualization Management the oVirt way

Power Saver

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

Page 48: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

48 Virtualization Management the oVirt way

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

V2V  Convert VMs from VMware and RHEL/Xen to RHEV

 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

Maintenance Manager No downtime for virtual machines during planned maintenance windows. Hypervisor patching

Image Management Template based provisioning, thin provisioning and snapshots

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

Management Features

Page 49: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

49 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

Page 50: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

50 Virtualization Management the oVirt way

libvirtVDSM

Host | Node

libvirtVDSM

Host | Node

Linux/Windowsclient

Linux/Windowsclient

Shared StorageFC/iSCSI/NFS

Shared StorageFC/iSCSI/NFS

Linux VMLinux VM Win VMWin VM

oVirtEngineJava

oVirtEngineJava

SDK/CLI python

SDK/CLI python

REST

REST

ADAD

IPAIPA

Local StorageLocal Storage

Guest agentGuest agent Guest agentGuest agent

Admin Portalgwt

Admin Portalgwt

User Portalgwt

User Portalgwt

PostgresPostgres

oVirt High Level Architecture

SPICE

Page 51: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

51 Virtualization Management the oVirt way

Engine Core (Backend)

HostRegister/Install

HostRegister/Install

HostMonitoring

HostMonitoring

HostMaintenance

HostMaintenance

HostFencingHost

Fencing

Authentication, AuthorizationAudit

Authentication, AuthorizationAudit

InventoryInventory

NetworkConfiguration & Monitoring

NetworkConfiguration & Monitoring

StorageConfiguration & Monitoring

StorageConfiguration & Monitoring

VM & Template Life Cyclecreate, schedule, snapshotVM & Template Life Cyclecreate, schedule, snapshot

LoadBalancing

LoadBalancing

HAHA

Page 52: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

52 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?

Page 53: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

53 Virtualization Management the oVirt way

Database

● Postgres, JDBC based● Next

● Hibernate● Scheme upgrade management

Page 54: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

54 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)

Page 55: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

55 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

Page 56: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

56 Virtualization Management the oVirt way

REST API

Page 57: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

57 Virtualization Management the oVirt way

Hosts Collection

Page 58: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

58 Virtualization Management the oVirt way

Host networks collection

Page 59: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

59 Virtualization Management the oVirt way

Create a Virtual Machine from a Template

POST http://10.35.1.1/rhevm-api/vms<vm> <name>my_new_vm</name> <cluster id="99408929-82cf-4dc7-a532-9d998063fa95" /> <template id="00000000-0000-0000-0000-000000000000" /></vm>

curl -v -u "[email protected]" -H "Content-type: application/xml" -d '<vm><name>my_new_vm</name><cluster id="99408929-82cf-4dc7- a532-9d998063fa95" /><template id="00000000-0000-0000-0000- 000000000000"/></vm>' 'http://10.35.1.1/rhevm-api/vms'

Page 60: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

60 Virtualization Management the oVirt way

Changing a property

PUT http://10.35.1.1/rhevm-api/vms/2496a177-e7c8-4f82-bf3d-2d0f73444990<vm> <name>test_vm_new_name</name></vm>

echo "<vm><name>test_vm_new_name1</name></vm>" > /tmp/upload.xmlcurl -v -u "[email protected]" -H "Content-type: application/xml" -T /tmp/upload.xml 'http://10.35.1.1/rhevm-api/vms/2496a177-e7c8-4f82-bf3d-2d0f73444990'

Page 61: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

61 Virtualization Management the oVirt way

Adding a Virtual Disk

POST http://10.35.1.1/rhevm-api/vms/2496a177-e7c8-4f82-bf3d-2d0f73444990/disks<disk> <storage_domain id="3e1c96f0-8667-4a80-9689-af1337395dea" href="/rhevm-api/storagedomains/3e1c96f0-8667-4a80-9689-af1337395dea" /> <size>1073741824</size> <type>system</type> <interface>virtio</interface> <format>raw</format> <sparse>true</sparse> <bootable>true</bootable> <wipe_after_delete>false</wipe_after_delete> <propagate_errors>false</propagate_errors></disk>

● curl -v -u "[email protected]" -H "Content-type: application/xml" -d '<disk>...</disk>' http://...

Page 62: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

62 Virtualization Management the oVirt way

Python SDK

- Creating the proxy

- Listing all collections

- Listing collection's methods.

- Querying collection with oVirt search engine.- Querying collection by custom constraint.

- Querying collection for specific resource.

- Accessing resource methods and properties.

Page 63: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

63 Virtualization Management the oVirt way

Python SDK (cont.)

- Accessing resource properties and sub-collections.

- Accessing sub-collection methods.

- Retrieving sub-collection resource.

- Accessing sub-collection resource properties and methods.

- Querying sub-collection by custom constraint.

Page 64: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

64 Virtualization Management the oVirt way

oVirt CLI

Page 65: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

65 Virtualization Management the oVirt way

What Else?

● Data warehouse● Reports (based on jasperforge.org)● Tools

● Notifications● Config● Iso uploader● Log collector

Page 66: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

66 Virtualization Management the oVirt way

oVirt Data Warehouse

● ETL based on talendforge.org● Periodic polling from operational DB● Types of data

● Config with version tracking● Statistics – aggregated hourly/daily

● API is view based

Page 67: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

67 Virtualization Management the oVirt way

Data Warehouse based on Talend ETL

Page 68: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

68 Virtualization Management the oVirt way

oVirt Reports

● Jasper allows to import/export reports definitions● Rich reporting engine

● Report scheduling● Filters● Export to various formats● Report creation studio

● In development● Integrated in web admin

Page 69: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

69 Virtualization Management the oVirt way

oVirt Reports

Page 70: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

70 Virtualization Management the oVirt way

oVirt Reports

Page 71: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

71 Virtualization Management the oVirt way

Notification Service

● oVirt allows registration to certain audit events● The notification service sends emails per audit

message to relevant users● Also monitors engine itself

Page 72: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

72 Virtualization Management the oVirt way

Configuration tool

● The configuration utility allows changing oVirt advanced configuration options

● Sample commands● engine-config --list● engine-config --get <key_name>● engine-config -all● engine-config --set <key_name>=<value>

● Special config for authentication domains:manage-domains

Page 73: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

73 Virtualization Management the oVirt way

ISO Uploader

● Iso uploader is a utility to upload iso files to the iso domain, to allow bootstrapping guests from them

● Admin can just copy the files to the iso domain● Supports both scp and nfs based copies● Integrates with the REST API to allow using storage

domain name instead of specific NFS path

Page 74: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

74 Virtualization Management the oVirt way

Log Collector

● The log collector utility helps collecting logs and configuration data for troubleshooting

● Written as a linux script launching sos plugins● Collects the data from engine and nodes

Page 75: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

75 Virtualization Management the oVirt way

oVirt Guest Agent

● The guest agent provides additional information to oVirt Engine, such as guest memory usage, guest ip address, installed applications and sso.

● Python code, available for both linux and windows guests

● Communication is done over virtio-serial● SSO for windows is based on a gina module for XP

and a credential provider for windows 7● SSO for RHEL 6 is based on a PAM module with

support for both KDE and Gnome

Page 76: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

76 Virtualization Management the oVirt way

Guest

SSOSSO

Virtio-net

Virtio-net

Virtio-block

Virtio-block

Spice driver

Spice driver

USBUSB guestAgent

guestAgent

balloonballoon

Page 77: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

77 Virtualization Management the oVirt way

RHEV-M Guest Agent - SSO for RHEL

Page 78: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

78 Virtualization Management the oVirt way

oVirt Host Agent - VDSM

● Covers all functionality required by oVirt Engine● Configures host, networking and shared storage● Uses libvirt for VM life cycle operations

Page 79: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

79 Virtualization Management the oVirt way

virto-serial

Guest AgentGuest Agent

QEMU/KVMQEMU/KVM

HostConfig & Monitor

HostConfig & Monitor

Storage Config & Monitor

Storage Config & Monitor

Network Config & Monitor

Network Config & Monitor

VMConfig & Monitor

VMConfig & Monitor

AutoRegisterAuto

Register

KSMKSM

oVirt Host Agent - VDSM

libvirtlibvirt

hookshooks

Page 80: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

80 Virtualization Management the oVirt way

oVirt Storage

VDSM manages a Storage Pool, comprised of Storage Domains Storage Pool - a VM repository that contains meta data about

storage domains, storage tasks, VMs, locks, etc. Storage Domain - a disk image repository Disk Image - a collection of volumes (chain of snapshots) Volume - stored as files in NFS, and as Logical Volumes for

FC/iScsi Thin provisioning for SAN supported (storage mailbox based)

Page 81: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

81 Virtualization Management the oVirt way

Storage Pool Manager The SPM runs on an arbitrary host (chosen by oVirt Engine)

oVirt Engine requires SPM to be running in order to add storage

If SPM host dies/disappears, RHEV-M causes SPM to start on a different host

Page 82: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

82 Virtualization Management the oVirt way

oVirt Storage “Clustering”

A Storage Pool is implemented as a managed cluster Manager is oVirt Engine, running on a node external to

the hosts using the storage pool Heartbeats and fencing are used in case of node failures Storage based leased locks used as another layer of

protection Clustering wise - VMs are mostly single reader/writer -

locks mostly needed to handle failures Can easily create a cluster of >100 nodes

Page 83: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

83 Virtualization Management the oVirt way

Hooks

● “Hook” mechanism for customization● Allows administrator to define scripts to modify VM operation

● eg. Add extra options such as CPU pinning, watchdog device, direct LUN access, etc

● Allows oVirt to be extended for new KVM features before full integration is done

● An easy way to test a new kvm/libvirt/linux feature

Page 84: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

84 Virtualization Management the oVirt way

Hooks

Page 85: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

85 Virtualization Management the oVirt way

Hooks

Page 86: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

86 Virtualization Management the oVirt way

Hooks

● Hook scripts are called at specific VM lifecycle events● VDSM (management agent) Start● Before VM start● After VM start● Before VM migration in/out● After VM migration in/out● Before and After VM Pause● Before and After VM Continue ● Before and After VM Hibernate● Before and After VM resume from hibernate● On VM stop● On VDSM Stop

● Hooks can modify a virtual machines XML definition before VM start● Hooks can run system commands – eg. Apply firewall rule to VM

Page 87: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

87 Virtualization Management the oVirt way

Hooks

Page 88: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

88 Virtualization Management the oVirt way

HooksHooks installed in /usr/libexec/vdsm/hooks

Page 89: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

89 Virtualization Management the oVirt way

Hooks

Page 90: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

90 Virtualization Management the oVirt way

Hooks

Page 91: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

91 Virtualization Management the oVirt way

Sample Hooks

● CPU pinning

● SR/IOV

● Smart card

● Direct LUN

● Hugepages

● Promiscuous mode network interface

● Cisco VN-Link

● Fileinject

● Floppy

● Hostusb

● Isolatedprivatevlan

● Numa

● Qos

● Scratchpad

● smbios

Page 92: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

92 Virtualization Management the oVirt way

On the Horizon - Infra

● Engine – JBoss AS 7 (done)● Engine - modular lighter engine● Engine – custom hooks● Engine – vdsm communication protocol and transport● API – non admin api (in development)● Reports – integrated in web admin (in development)● Code cleanups, refactoring, unitests, etc

On the Horizon - Infra

Page 93: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

93 Virtualization Management the oVirt way

In the works ([email protected])

● Live snapshots● Live storage migration● Quotas● Hot plug● Multiple storage domains● Shared disks● iScsi disk● Shared file system

support● Storage array integration

● Gluster support● Qbg/Qbh● virt-resize, pv-resize● libguestfs integration● Stable device addresses● Network types● Backup API● SLA● SDM● Many many more...

Page 94: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

94 Virtualization Management the oVirt way

How To Contribute or Download

● Website and Repository:● http://www.ovirt.org● http://www.ovirt.org/wiki● http://www.ovirt.org/project/subprojects/

● Mailing lists:● http://lists.ovirt.org/mailman/listinfo

● IRC:● #ovirt on OFTC

Page 95: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

95 Virtualization Management the oVirt way

What's Next

● First version released● http://www.ovirt.org/wiki/Releases/First_Release

● Second version planned for May● http://www.ovirt.org/wiki/Second_Release

Page 96: oVirt Intro & Architecture -   · PDF fileInternal users (picketlink?)

96 Virtualization Management the oVirt way

THANK YOU !

http://[email protected]