BT

FOSDEM Virtualization: Docker Integration in oVirt and Live Migration of Containers with CRIU

| by Carlos Sanchez Follow 0 Followers on Feb 09, 2015. Estimated reading time: 2 minutes |

Federico Simoncelli, principal software engineer in the virtualization department at Red Hat, explained the integration status between oVirt, Docker containers and Kubernetes, and Andrey Vagin, software engineer at Parallels, covered the work done in the CRIU project to enable live migration of containers, at the virtualization developer room at FOSDEM.

Docker Integration in oVirt and IaaS

Federico Simoncelli talked about using Docker for application distribution, being a viable alternative to building and managing packages or building a VM appliance, which would add a significant memory footprint.

Federico outlined his view on application distribution:

  • Distributing an application should be easy, one package system fits all.
  • Should give freedom for the developer to choose the platform.
  • Dependencies should be magically available in all platforms.
  • The same appliance should be used in QA and production.
  • Rebuilding the appliance or application should be easy and should need only one command.

oVirt is a virtualization management application that allows managing hardware nodes, storage and network resources, and deploy and monitor virtual machines running in the datacenter, used by Red Hat Enterprise Virtualization products. oVirt integrations with containers covers:

  • Utilities and tools to automate and simplify the deployment of containers.
  • Using oVirt as IaaS to orchestrate containers.
  • Running containers on oVirt nodes.
  • Evolve to a multi-purpose datacenter with different types of workloads.

One of the utilities added to oVirt is the Docker UI plugin, that allows creating a new virtual machine running a Docker image with a specified command, using Cloud-Init to pass commands to the guest. While oVirt is not yet aware of containers running in the virtual machines it may include tools and plugins to help visualizing containers in the datacenter.

Another tool is the Kubernetes cloud provider for oVirt, that allows Kubernetes to discover Docker hosts (minions) in oVirt. The oVirt project also provides a Docker image with oVirt engine installed.

Live Migration for Containers is Around the Corner

Andrey Vagin presented on migration of live containers, and the CRIU (Checkpoint/Restore In Userspace) project. CRIU allows to freeze a running application and checkpoint it to persistent storage as a collection of files, which can be used later on to restore and run the application from the point it was frozen at. The distinctive feature of the CRIU project is that it is mainly implemented in user space.

It works on the Linux kernel 3.11 or greater, after a number of patches to support CRIU functionality were added to the kernel, and supports the migration of:

  • Processes.
  • Application memory.
  • Open files.
  • Pipes and FIFOs.
  • Unix domain sockets.
  • Network sockets.
  • System IPC.
  • Timers.
  • Signals.
  • Terminals.
  • Linux kernel-specific system calls.

In order to dump containers, CRIU gathers information from /proc, collects and freezes the process tree, and them dumps the information into files. The restore process is more complicated, needs to collect shared objects, restore namespaces, create a process tree and restore files, sockets, pipes and memory.

An online migration of containers is a slow process and involves:

  • Suspend the container in the source host.
  • Transfer images to the remote host.
  • Resume container in the target host.

The freeze time can be reduced by using memory changes tracking ability to perform pre-copy memory migration, by transferring memory in a few iterations without freezing processes, and then freezing processes only in the last iteration.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT