Painless switch from proprietary hypervisor to QEMU/KVM. Denis V. Lunev

Similar documents
Red Hat Enterprise Virtualization Hypervisor Roadmap. Bhavna Sarathy Senior Technology Product Manager, Red Hat

Virtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania.

QEMU Backup. Maxim Nestratov, Virtuozzo Vladimir Sementsov-Ogievskiy, Virtuozzo

Virtualization Overview NSRC

CHAPTER 16 - VIRTUAL MACHINES

Acceleration of Virtual Machine Live Migration on QEMU/KVM by Reusing VM Memory

Chapter 5 C. Virtual machines

QEMU 2.0 and Beyond. CloudOpen Anthony Liguori

Libvirt presentation and perspectives. Daniel Veillard

BRINGING HOST LIFE CYCLE AND CONTENT MANAGEMENT INTO RED HAT ENTERPRISE VIRTUALIZATION. Yaniv Kaul Director, SW engineering June 2016

Developing cloud infrastructure from scratch: the tale of an ISP

Nested Virtualization and Server Consolidation

CS370 Operating Systems

Red Hat Virtualization 4.1 Technical Presentation May Adapted for MSP RHUG Greg Scott

Virtualization Management the ovirt way

Hypervisor security. Evgeny Yakovlev, DEFCON NN, 2017

FOSDEM 2019

Windows Server 2012 Top Ten

KVM PERFORMANCE OPTIMIZATIONS INTERNALS. Rik van Riel Sr Software Engineer, Red Hat Inc. Thu May

Cloud environment with CentOS, OpenNebula and KVM

Libvirt: a virtualization API and beyond

MICHAËL BORGERS, SYSTEM ENGINEER MATTHIAS SPELIER, SYSTEM ENGINEER. Software Defined Datacenter

Red Hat enterprise virtualization 3.0

KVM on Embedded Power Architecture Platforms

Live Migration: Even faster, now with a dedicated thread!

Increase KVM Performance/Density

CHAPTER 16 - VIRTUAL MACHINES

Live block device operations in QEMU

KVM 在 OpenStack 中的应用. Dexin(Mark) Wu

SUSE An introduction...

Virtual Machines. To do. q VM over time q Implementation methods q Hardware features supporting VM q Next time: Midterm?

Migration Strategies from vsphere to Linux and OpenStack via a shared virtualized network

SUSE Linux Enterprise Server: Supported Virtualization Technologies

KVM Virtualized I/O Performance

Using NVDIMM under KVM. Applications of persistent memory in virtualization

How to Handle Globally Distributed QCOW2 Chains? Eyal Moscovici & Amit Abir Oracle-Ravello

Backing Chain Management in libvirt and qemu. Eric Blake KVM Forum, August 2015

Hyper-V Innovations for the SMB. IT Pro Camp, Northwest Florida State College, Niceville, FL, October 5, 2013

A comparison of performance between KVM and Docker instances in OpenStack

Virtualization for Desktop Grid Clients

Virtual Machines. Part 2: starting 19 years ago. Operating Systems In Depth IX 1 Copyright 2018 Thomas W. Doeppner. All rights reserved.

Transforming XenServer into a proper open-source project

Intro to ovirt. Itamar Heim Virtualization Management the ovirt way

Transparent Throughput Elas0city for IaaS Cloud Storage Using Guest- Side Block- Level Caching

KVM Weather Report. Amit Shah SCALE 14x

A block layer overview. Red Hat Kevin Wolf 8 November 2012

Installation and Setup Guide

KVM Weather Report. Red Hat Author Gleb Natapov May 29, 2013

Windows Server 2012 Hands- On Camp. Learn What s Hot and New in Windows Server 2012!

predefined elements (CI)

Parallels Virtuozzo Containers

DEPLOYING NFV: BEST PRACTICES

GRNET Cloud Services

Who stole my CPU? Leonid Podolny Vineeth Remanan Pillai. Systems DigitalOcean

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

Parallels Workstation 4.0 Extreme Read Me

Hyper-Convergence De-mystified. Francis O Haire Group Technology Director

Tuning Your SUSE Linux Enterprise Virtualization Stack. Jim Fehlig Software Engineer

Linux/QEMU/Libvirt. 4 Years in the Trenches. Chet Burgess Cisco Systems Scale 14x Sunday January 24th

Live Migration with Mdev Device

Cloud and Datacenter Networking

Pexip Infinity Server Design Guide

EE 660: Computer Architecture Cloud Architecture: Virtualization

Nested Virtualization Update From Intel. Xiantao Zhang, Eddie Dong Intel Corporation

Bacula Systems Virtual Machine Performance Backup Suite

CSC 5930/9010 Cloud S & P: Virtualization

Virtualization. Virtualization

Zoptymalizuj Swoje Centrum Danych z Red Hat Virtualization. Jacek Skórzyński Solution Architect/Red Hat

COMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy

Managed Conversion of Guests to ovirt. Arik Hadas Senior Software Engineer Red Hat 21/8/15

What is KVM? KVM patch. Modern hypervisors must do many things that are already done by OSs Scheduler, Memory management, I/O stacks

KVM Forum Vancouver, Daniel P. Berrangé

Integrating ovirt, Foreman And Katello To Empower Your Data-Center Utilization

libvirt integration and testing for enterprise KVM/ARM Drew Jones, Eric Auger Linaro Connect Budapest 2017 (BUD17)

VIRTUAL MACHINES. By Seth Lemanek

The speed of containers, the security of VMs

Virtuozzo 7: Overview

Architecture and Deployment

SmartMD: A High Performance Deduplication Engine with Mixed Pages

Virtualization. Michael Tsai 2018/4/16

Module 1: Virtualization. Types of Interfaces

Lecture 09: VMs and VCS head in the clouds

Performance issues in Cerm What to check first?

qcow2 Red Hat Kevin Wolf 15 August 2011

Multiprocessor Scheduling. Multiprocessor Scheduling

Transparent Hugepage Support

Performance Optimization on Huawei Public and Private Cloud

Dan Noé University of New Hampshire / VeloBit

Backup Solution Testing on UCS B and C Series Servers for Small-Medium Range Customers (Disk to Tape) Acronis Backup Advanced Suite 11.

A product by CloudFounders. Wim Provoost Open vstorage

Chapter 10: Case Studies. So what happens in a real operating system?

On-Premises Cloud Platform. Bringing the public cloud, on-premises

Nova Scheduler: Optimizing, Configuring and Deploying NFV VNF's on OpenStack

Introduction to Cloud Computing and Virtualization. Mayank Mishra Sujesha Sudevalayam PhD Students CSE, IIT Bombay

Persistent Storage - Datastructures and Algorithms

Real-Time KVM for the Masses Unrestricted Siemens AG All rights reserved

Virtual Machine Migration

CSE 120 Principles of Operating Systems

KVM for IA64. Anthony Xu

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT I

Transcription:

Painless switch from proprietary hypervisor to QEMU/KVM Denis V. Lunev den@openvz.org

Contents Some words about Parallels Cloud Server 6 Choices to be made Performance results Status and future plans

Parallels Cloud Server Proprietary details

Parallels Cloud Server Cross-platform hypervisor (Mac, Linux, Windows) HAL architecture Loose integration with host kernel Tight integration with guest OS Desktop origin

PCS: Some good stuff Very good Windows support 3D support in guest (Direct3D to OpenGL conversion) Decent guest tools Good support for block job operations

Architectures

PCS: Missed server features VM memory locked Memory deduplication (KSM) NUMA support (host/guest) SPICE support including remote USB Paravirtualized storage for the Linux guest PCI passthrough (implemented, not production) Nested virtualization (implemented, not production)

VM limits PCS 32 VCPU 128 GB RAM 25 storage devices total 16 network cards QEMU/KVM 255 VCPU 2 TB RAM Flexible configuration with ability to setup necessary amount of any devices controllers

The switch: options Hard decision to made

Switch options (low level) KVM + QEMU More devices supported QEMU is dumb and simple, does not make decisions Community Stability Libvirt/OpenStack Better Linux performance/support Better VM limits KVM + Parallels App Backups Space effective block jobs Better Windows performance/support Online shrink without PUNCH_HOLE on the host PCS6 compatibility: live migration

Decision KVM + Parallels emulation 6 man/months to implement Lot of integration problems Pour performance Good progress?

Final decision Company split! Server team: no rights for latest Parallels code base Virtualization team reduction: 25 -> 5 Live migration requirement from PCS6 to VZ7 was dropped! Natural choice: KVM + QEMU

Consequences Emulation level working Completely new middleware Virtualization team could work on features

Final Virtuozzo 7 architecture

Management level constraints Command line kept compatible with PCS6 PCS6 configuration file is kept PCS6 configuration <-> QEMU domain XML Domain XML keeps priority Dispatcher is driven by Libvirt events

Switch options (upstream) The kernel - RedHat 7, 3.10 Security Hardware support (!) QEMU - RHEV, 2.1 (later 2.3) Security Actually does not matter, follow kernel

Switch options (disc format) QCOW2 Public In-place conversion from Parallels available Compressed images Internal snapshots Parallels Not fully implemented Simpler => faster Space effective block jobs LBA padding (Win2k3) Dirty bitmaps support

Upgrade path Hot migration of the disk from PCS6 to Vz7 Register new VM Guest re-configuration via v2v (in-place mode) Guest tools replacement Guest boots -> all fine QCOW2 overlay for in-place upgrade for safe rollback

PCS guest tools Enter into VM from host Execute command in the VM Guest network settings Guest user/password management Change guest SID (Windows)

Backups QEMU (mainstream) support is limited No migration, no persistence, very slow Specification is negotiated in 02.2016 Patches in are in the list around the year Working without a specification was a BIG mistake Interface for external tools is in specification stage Backup compression

Performance tweaks Welcome to the real world!

Noticeable tweaks QEMU: QCOW2 metadata cache increased QEMU: not needed flushes removed (Win 2k8) KVM: adaptive halt_poll_ns CPU governor: performance Non-parallel backup/mirror Migration auto-converge, compression Active sync mirror QEMU: fragmented heap (khugepaged)

Virtuozzo performance C P U o v e r c o m m it RA M ov er co m mi t Virtuozzo 7 VMs are 25% faster than Virtuozzo 6 VMs

Virtuozzo performance CP U ov er co m mi t RA M ov er co m mi t Virtuozzo 7 VMs are 53% faster than Virtuozzo 6 VMs

Virtuozzo performance CP U ov er co m mi t RA M ov er co m mi t Virtuozzo 7 VMs are 57% faster than Virtuozzo 6 VMs

Virtuozzo performance Windows VM (lower is better) Migration total time Acceptable migration time ~ 3 min Virtuozzo 6 Virtuozzo 7 Linux VM (lower is better) Acceptable migration time ~ 45 sec Guest memory load rate Virtuozzo 6 Virtuozzo 7 Guest memory load rate

Virtuozzo performance Windows VM (lower is better) Migration downtime Virtuozzo 6 Virtuozzo 7 Acceptable downtime ~ 5-15 sec (depending on load) Guest memory load rate Linux VM (lower is better) Virtuozzo 6 Virtuozzo 7 Acceptable downtime ~ 5-15 sec (depending on load) Guest memory load rate

Some tweaks for the future Hyper-V TSC page Statistics collection Hyper-V remote TLB flush

Future plans Something shiny

Status We are able to survive with the VERY small team The product is really stable The performance looks great The life is better!

Really important stuff Mainstream backups Block job improvements Hyper-V emulation VMs en-mass on one host

Questions? www.virtuozzo.com @VirtuozzoInc www.linkedin.com/company/virtuozzo