lxd
play

LXD Live Migration of Linux Containers Tycho Andersen, Canonical - PowerPoint PPT Presentation

LXD Live Migration of Linux Containers Tycho Andersen, Canonical Ltd. tycho.andersen@canonical.com http://tycho.ws Sorry, no demos today :( Who is this guy? LXD LXC CRIU Kernel The history of LXC Over 6 years of Linux system


  1. LXD Live Migration of Linux Containers Tycho Andersen, Canonical Ltd. tycho.andersen@canonical.com http://tycho.ws

  2. Sorry, no demos today :(

  3. Who is this guy? ➔ LXD ➔ LXC ➔ CRIU ➔ Kernel

  4. The history of LXC Over 6 years of Linux system containers 2008 2009 2010 2011 2012 2013 2014 2015 LXC 0.6 LXC 0.5 LXC 0.3 LXC 0.7 LXC 0.4 LXC 0.1 LXC 0.8 LXC 0.9 LXC 1.1 LXC 0.2 LXC 1.0 Beginning of Major project the LXC project rework

  5. LXD: the container lighter-visor What it IS ➔ Simple Clean command line interface, simple REST API and clear terminology. ➔ Fast No virtualization overhead so as fast as bare metal. ➔ Secure Safe by default. Combines all available kernel security features. ➔ Scalable From a single container on a developer’s laptop to thousands of containers per host in a datacenter.

  6. LXD: the container lighter-visor What it ISN’T ➔ Another virtualization technology LXD tries to offer as similar a user experience as that of a virtual machine but it doesn’t itself virtualize anything, you always get access to the real hardware and the real native performance. ➔ A fork of LXC LXD uses LXC’s API to manage the containers behind the scene. ➔ Another application container manager LXD only cares about full system containers and doesn’t care about what runs inside the container.

  7. Hypvervisor-y things

  8. LXD: the container lighter-visor nova-compute-lxd lxc (command line tool) your own client/script ? LXD REST API LXD LXD LXD LXD LXD LXC LXC LXC LXC LXC Linux kernel Linux kernel Linux kernel Linux kernel Linux kernel Host A Host B Host C Host D Host ...

  9. Hypvervisor-y things

  10. lxc move host1:c1 host2: ➔

  11. lxc move host1:c1 host2: ➔ host1 negotiates three “channels” with host2 ◆ control ◆ filesystem ◆ container process state ➔ Using a tool called CRIU for process state ➔ host1 captures memory state using CRIU ➔ host2 restores memory state using CRIU

  12. The history of CRIU Five years of checkpointing! 2006 ... 2011 2012 2013 2014 2015 LXC gets support First kernel for C/R via CRIU patches merged Attempts to merge OpenVZ in-kernel upstream First discussion on CRIU 0.1 libcontainer gets lkml about C/R from support for C/R via Userspace CRIU Memory page C/R in OpenVZ tracking patches Kernel merged upstream

  13. What’s the catch? “A note on this: this is a project by various mad Russians to perform c/r mainly from userspace, with various oddball helper code added into the kernel where the need is demonstrated… However I'm less confident than the developers that it will all eventually work!” - Linus Torvalds (kernel commit 09946950)

  14. What’s the catch? “This is not an enterprise feature. It's a promise one cannot keep. We will not add code to systemd that works often but not always, and CRIU is certainly of that kind.” - Lennart Pottering (systemd-devel, 2015)

  15. Always playing catch-up

  16. Plug-ins needed for custom /dev

  17. Not all kernel features supported

  18. Security!?!!111?1

  19. Security Secure Migratable

  20. Security Secure Migratable

  21. Security Secure & Migratable

  22. Security ➔ cgroups ➔ apparmor, selinux, etc. ➔ seccomp (STRICT, FILTER) ➔ user namespaces

  23. Correct and Fast Pick two

  24. Making Migration Fast ➔ Three channels ◆ control ◆ filesystem specific ◆ memory state specific ➔ Filesystems: ◆ btrfs, LVM, ZFS, (swift, nfs?), etc. ◆ rsync between incompatible hosts ➔ Memory state: ◆ Stop the world ◆ Iterative incremental transfer (via p.haul)

  25. Administrivia ➔ LXD ◆ Current stable release 0.16 ◆ 1.0 targeted for February 2016 ◆ Two week release cadence ◆ (at least) One more release before Wily ◆ https://linuxcontainers.org ◆ https://github.com/lxc/lxd ➔ CRIU ◆ Current stable release 1.6.2 ◆ Three month release cycle ◆ http://criu.org ◆ https://github.com/xemul/criu

  26. Tycho Andersen, Canonical Ltd. tycho.andersen@canonical.com http://tycho.ws https://linuxcontainers.org/lxd https://github.com/lxc/lxd Questions?

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend