virtualization architecture & kvm

57
devconf.cz 2014 Virtualization Architecture & KVM Pradeep Kumar Surisetty < [email protected]> Principal Software Engineer

Upload: pradeep-kumar

Post on 21-Feb-2017

697 views

Category:

Engineering


3 download

TRANSCRIPT

Page 1: Virtualization Architecture & KVM

devconf.cz 2014

Virtualization Architecture & KVM

Pradeep Kumar Surisetty < [email protected]>

Principal Software Engineer

Page 2: Virtualization Architecture & KVM

Why we believe KVM is the best virtualization platform

PerformanceKVM holds the Top 6/11 virtual machine consolidation scores on SPECvirt (1)

SecurityEAL4+ Certification (3)

plus SE Linux enabling Mandatory Access Control between virtual machines

Lower Costcustomers report up to

70% savings by using KVM (2)

Cloud & Virtualization ManagementRed Hat Open Stack for Cloud Virtualization and Red Hat Enterprise Virtualization for data-center Virtualization

(1) Source: SpecVirt_sc2010 results: http://www.spec.org/virt_sc2010/results/specvirt_sc2010_perf.html (2) Source: Case study on Canary Islands Government migration from VMware to RHEV:

http://www.redhat.com/resourcelibrary/case-studies/canary-islands-government-migrates-telecommunications-platform-from-vmware-to-red-hat

(3) Source: http://www.redhat.com/solutions/industry/government/certifications.html(4) Source: http://www.redhat.com/resourcelibrary/articles/enterprise-linux-virtualization-support

Cross PlatformSupport and certification for leading x86_64 operating systems

including RHEL and

Microsoft Windows (4)

Page 3: Virtualization Architecture & KVM

VMware ESX 4.1 HP DL380 G7 (12 Cores, 78 VMs)

RHEL 6 (KVM) IBM HS22V (12 Cores, 84 VMs)

VMware ESXi 5.0 HP DL385 G7 (16 Cores, 102 VMs)

RHEV 3.1 HP DL380p gen8 (16 Cores,150 VMs)

VMware ESXi 4.1 HP BL620c G7 (20 Cores, 120 VMs)

RHEL 6 (KVM) IBM HX5 w/ MAX5 (20 Cores, 132 VMs)

VMware ESXi 4.1 HP DL380 G7 (12 Cores, 168 Vms)

VMware ESXi 4.1 IBM x3850 X5 (40 Cores, 234 VMs)

RHEL 6 (KVM) HP DL580 G7 (40 Cores, 288 VMs)

RHEL 6 (KVM) IBM x3850 X5 (64 Cores,336 VMs)

RHEL 6 (KVM) HP DL980 G7 (80 Cores, 552 VMs)

0

1,000

2,000

3,000

4,000

5,000

6,000

7,000

8,000

9,000

10,000

1,221 1,367 1,570

2,4421,878

2,144

2,742

3,824

4,682

5,467

8,956

Best SPECvirt_sc2010 Scores by CPU Cores

(As of May 30, 2013)

System

SP

EC

virt

_sc

20

10

sco

re

Comparison based on best performing Red Hat and VMware solutions by cpu core count published at www.spec.org as of May 17, 2013. SPEC® and the benchmark name SPECvir_sct® are registered trademarks of the Standard Performance Evaluation Corporation. For more information about SPECvirt_sc2010, see www.spec.org/virt_sc2010/.

2-socket 162-socket 12

2-socket 20

4-socket 40

8-socket 64/80

Page 4: Virtualization Architecture & KVM
Page 5: Virtualization Architecture & KVM
Page 6: Virtualization Architecture & KVM

Introducing KVM virtualizationKVM hypervisor runs virtual machines on Linux hosts

➢ Mature on x86, recent progress on ARM and ppc

Most popular and best supported hypervisor on OpenStack

➢ https://wiki.openstack.org/wiki/HypervisorSupportMatrix

Built in to Red Hat Enterprise Linux➢ Qumranet startup created KVM, joined Red Hat in 2008

Page 7: Virtualization Architecture & KVM
Page 8: Virtualization Architecture & KVM

Virtualization goals

How to Virtualize CPU? How to Virutalize Memory? How to Virtualize IO?

Page 9: Virtualization Architecture & KVM
Page 10: Virtualization Architecture & KVM
Page 11: Virtualization Architecture & KVM
Page 12: Virtualization Architecture & KVM
Page 13: Virtualization Architecture & KVM
Page 14: Virtualization Architecture & KVM
Page 15: Virtualization Architecture & KVM
Page 16: Virtualization Architecture & KVM
Page 17: Virtualization Architecture & KVM
Page 18: Virtualization Architecture & KVM
Page 19: Virtualization Architecture & KVM
Page 20: Virtualization Architecture & KVM
Page 21: Virtualization Architecture & KVM
Page 22: Virtualization Architecture & KVM
Page 23: Virtualization Architecture & KVM
Page 24: Virtualization Architecture & KVM

KVM I/O Architecture

KernelKernel

rxtx

QEMUQEMU

Virtual MachineVirtual Machine

Tap

Bridge

KernelKernel

QEMUQEMU

Virtual MachineVirtual Machine

Bridge

Tap

tx rx

vhost

KernelKernel

tx rx

Virtual MachineVirtual Machine

QEMUQEMU

Physical NIC

Emulated Devices

● Native drivers

● Compatibility over performance

Virtio Devices

● Paravirtualized

● Performance over compatibility

Device Assignment

● Native drivers

● Compatibility and Performance

Page 25: Virtualization Architecture & KVM

Full virtualization Para-virtualization

Storage transport choices in KVM

devconf.cz 2016

Page 26: Virtualization Architecture & KVM

Storage transport choices in KVM

● Full virtualization : IDE, SATA, SCSI● Good guest compatibility● Lots of trap-and-emulate, bad performance

● Para virtualization: virtio-blk, virtio-scsi ● Efficient guest ↔ host communication through virtio ring buffer

(virtqueue)● Good performance● Provide more virtualization friendly interface, higher

performance.● In AIO case, io_submit() is under the global mutex

devconf.cz 2016

Page 27: Virtualization Architecture & KVM

Storage transport choices in KVM

● Device assignment (Passthrough)● Pass hardware to guest, high-end usage, high performance● Limited Number of PCI Devices● Hard for Live Migration

devconf.cz 2016

Page 28: Virtualization Architecture & KVM
Page 29: Virtualization Architecture & KVM

Virt-Manager

Page 30: Virtualization Architecture & KVM

Special Thanksto

Andrew TheurerStefan Hajnoczj

Page 31: Virtualization Architecture & KVM

Thanks

Irc: #psuriset

Blog: psuriset.com

Page 32: Virtualization Architecture & KVM
Page 33: Virtualization Architecture & KVM
Page 34: Virtualization Architecture & KVM
Page 35: Virtualization Architecture & KVM
Page 36: Virtualization Architecture & KVM
Page 37: Virtualization Architecture & KVM
Page 38: Virtualization Architecture & KVM
Page 39: Virtualization Architecture & KVM
Page 40: Virtualization Architecture & KVM

● Handles all management and interaction with QEMU

● (VMs) are defined in Libvirt via XML; referred to a “domain”

● Translates XML to command line options for calling QEMU

● Become comfortable with ‘virsh’

● Libvirt XML reference: http://tinyurl.com/libvirt-xml

Libvirt API

Page 41: Virtualization Architecture & KVM
Page 42: Virtualization Architecture & KVM
Page 43: Virtualization Architecture & KVM
Page 44: Virtualization Architecture & KVM
Page 45: Virtualization Architecture & KVM
Page 46: Virtualization Architecture & KVM
Page 47: Virtualization Architecture & KVM
Page 48: Virtualization Architecture & KVM
Page 49: Virtualization Architecture & KVM

KVM I/O Architecture

KernelKernel

rxtx

QEMUQEMU

Virtual MachineVirtual Machine

Tap

Bridge

KernelKernel

QEMUQEMU

Virtual MachineVirtual Machine

Bridge

Tap

tx rx

vhost

KernelKernel

tx rx

Virtual MachineVirtual Machine

QEMUQEMU

Physical NIC

Emulated Devices

● Native drivers

● Compatibility over performance

Virtio Devices

● Paravirtualized

● Performance over compatibility

Device Assignment

● Native drivers

● Compatibility and Performance

Page 50: Virtualization Architecture & KVM
Page 51: Virtualization Architecture & KVM
Page 52: Virtualization Architecture & KVM
Page 53: Virtualization Architecture & KVM
Page 54: Virtualization Architecture & KVM
Page 55: Virtualization Architecture & KVM
Page 56: Virtualization Architecture & KVM
Page 57: Virtualization Architecture & KVM