SlideShare a Scribd company logo
N Problems
of Linux Containers
(with solutions!)
Kir Kolyshkin
<kir@openvz.org>
6 June 2015 ContainerDays Boston
openvz.org || criu.org || odin.com
Problem: Effective virtualization
● Virtualization is partitioning
● Historical way: $M mainframes
● Modern way: virtual machines
● Problem: performance overhead
● Partial solution: hardware support
(Intel VT, AMD V)
openvz.org || criu.org || odin.com
Solution: isolation
● Run many userspace instances
on top of one single (Linux) kernel
● All processes see each other
– files, process information, network,
shared memory, users, etc.
● Make them unsee it!
openvz.org || criu.org || odin.com
One historical way to unsee
chroot()
openvz.org || criu.org || odin.com
Namespaces
● Implemented in the Linux kernel
– PID (process tree)
– net (net devices, addresses, routing etc)
– IPC (shared memory, semaphores, msg queues)
– UTS (hostname, kernel version)
– mnt (filesystem mounts)
– user (UIDs/GIDs)
● clone() with CLONE_NEW* flags
openvz.org || criu.org || odin.com
Problem: Shared resources
● All containers share the same set of resources
(CPU, RAM, disk, various in-kernel things ...)
● Need fair distribution of “goods” so everyone
gets their share
● Need DoS prevention
● Need prioritization and SLAs
N problems of Linux containers
openvz.org || criu.org || odin.com
Solution: OpenVZ resource controls
● OpenVZ:
– user beancounters
● controls 20 parameters
– hierarchical CPU scheduler
– disk quota per containers
– I/O priority and I/O bandwidth limit per-container
● Dynamic control, can “resize” runtime
N problems of Linux containers
openvz.org || criu.org || odin.com
Solution 2: VSwap
● Only two primary parameters: RAM and swap
– others still exist, but are optional
● Swap is virtual, no actual I/O is performed
● Slow down to emulate real swap
● Only when actual global RAM shortage occurs,
virtual swap goes into the real swap
● Currently only available in OpenVZ kernel
openvz.org || criu.org || odin.com
Solution: cgroups + controllers
● Cgroups is a mechanism to control resources
per hierarchical groups of processes
● Cgroups is nothing without controllers:
– blkio, cpu, cpuacct, cpuset, devices, freezer,
memory, net_cls, net_prio
● Cgroups are orthogonal to namespaces
● Still working on it: just added kmem controller
openvz.org || criu.org || odin.com
Solution 3: vcmmd
● 4th generation of OpenVZ resource mgmt
● A user-space daemon using kernel controls
● Monitors usage, tweaks limits
● Adds a “time” dimension
● More flexible limits, e.g. burstable
openvz.org || criu.org || odin.com
Problem: fast live migration
● We can already live migrate
a running OpenVZ container
from one server to another
without shutting it down
● We want to do it fast even for huge containers
– huge disk: use shared storage
– huge RAM: ???
openvz.org || criu.org || odin.com
Live migration process
(assuming shared storage)
● 1 Freeze the container
● 2 Dump its complete state to a dump file
● 3 Copy the dump file to destination server
● 4 Undump back to RAM, recreate everything
● 5 Unfreeze
● Problem: huge dump file -- takes long time*
to dump, copy, undump
* seconds
openvz.org || criu.org || odin.com
Solution 1: network swap
● 1 Dump the minimal memory, lock the rest
● 2 Restore the minimal memory,
mark the rest as swapped out
● 3 Set up network swap from the source
● 4 Unfreeze. Missing RAM will be “swapped in”
● 5 Migrate the rest of RAM and kill it on source
openvz.org || criu.org || odin.com
Solution 1: network swap
● 1 Dump the minimal memory, lock the rest
● 2 Copy, undump what we have,
mark the rest as swapped out
● 3 Set up network swap served from the source
● 4 Unfreeze. Missing RAM will be “swapped in”
● 5 Migrate the rest of RAM and kill it on source
● PROBLEM: no way to rollback
openvz.org || criu.org || odin.com
Solution 2: Iterative RAM migration
● 1 Ask kernel to track modified pages
● 2 Copy all memory to destination system mem
● 3 Ask kernel for list of modified pages
● 4 Copy those pages
● 5 GOTO 3 until satisfied
● 6 Freeze and do migration as usual, but
with much smaller set of pages
openvz.org || criu.org || odin.com
Problem: upstreaming
● OpenVZ was developed separately
● Same for many past IBM Linux projects
(ELVM, CKRM, ...)
● Develop, then merge it upstream
(i.e. to vanilla Linux kernel)
● Problem?
N problems of Linux containers
openvz.org || criu.org || odin.com
Problem: upstreaming
● OpenVZ was developed separately
● Same for many past IBM Linux projects
(ELVM, CKRM, ...)
● Develop, then merge it upstream
(i.e. to vanilla Linux kernel)
● Problem:
grizzly bears upstream developers
do not accept massive patchsets
appearing out of nowhere
openvz.org || criu.org || odin.com
Solution 1: rewrite from scratch
● User Beancounters -> CGroups + controllers
● PID namespace: 2 rewrites until accepted
● Network namespace – rewritten
● It works!
● 1500+ patches ended up in vanilla
● OpenVZ made it to top10 contributors
openvz.org || criu.org || odin.com
Solution 2: circumvent the system!
● We tried hard to merge checkpoint/restore
● Other people tried hard too, no luck
● Can't make it to the kernel? Let's riot!
implement it in userspace
● With minimal kernel intervention when required
● Kernel exports most of information already, so
let's just add missing bits and pieces
openvz.org || criu.org || odin.com
CRIU
● Checkpoint / Restore [mostly] In Userspace
● About 3 years old, tools at version 1.6
● Users: Google, Samsung, Huawei, ...
● LXC & Docker – integrated!
● Already in upstream 3.x kernel
CONFIG_CHECKPOINT_RESTORE
● Live migration: P.Haul http://criu.org/P.Haul
openvz.org || criu.org || odin.com
CRIU Linux kernel patches, per v
Total: 176 (+11 this year)
openvz.org || criu.org || odin.com
Problem: common file system
● Container is just a directory on the host we chroot()
into
● File system journal (metadata updates) is a bottleneck
● Lots of small-size files I/O on CT backup/migration
(sometimes rsync hangs or OOMs!)
● No sub-tree disk quota support in upstream
● No sub-tree snapshots
● Live migration: rsync -- changed inodes
● File system type and properties are fixed, same for all
CTs
openvz.org || criu.org || odin.com
Solution 1: LVM
● Only works only on top of block device
● Hard to manage
(e.g. how to migrate a huge volume?)
● No thin provisioning
openvz.org || criu.org || odin.com
Solution 2: loop device
(filesystem within a file)
● VFS operations leads to double page-caching
– (already fixed in the recent kernels)
● No thin provisioning
● Limited feature set
openvz.org || criu.org || odin.com
Solution 3: ZFS + zvol
● PRO: features
– zvol, thin provisioning, dedup, zfs send/receive
● CONTRA:
– Licensing is problematic
– Linux port issues (people report cache OOM)
– Was not available in 2008
openvz.org || criu.org || odin.com
Solution 4: ploop
● Basic idea: same as block loop, just better
● Modular design:
– various image formats (qcow2 in TODO progress)
– various I/O backends (ext4, vfs O_DIRECT, nfs)
● Feature rich:
– online resize (grow and shrink, ballooning)
– instant live snapshots
– write tracker to facilitate faster live migration
openvz.org || criu.org || odin.com
Any problems questions?
● kir@openvz.org
● Twitter: @kolyshkin @_openvz_ @__criu__

More Related Content

ODP
Checkpoint/restore of containers with CRIU
PDF
FOSDEM2015: Live migration for containers is around the corner
ODP
CRIU: Time and Space Travel for Linux Containers
ODP
Checkpoint/Restore: are we there yet?
PDF
Kernel Recipes 2016 - Landlock LSM: Unprivileged sandboxing
PDF
Docker Athens: Docker Engine Evolution & Containerd Use Cases
ODP
Fedora Virtualization Day: Linux Containers & CRIU
PDF
Containerd Project Update: FOSDEM 2018
Checkpoint/restore of containers with CRIU
FOSDEM2015: Live migration for containers is around the corner
CRIU: Time and Space Travel for Linux Containers
Checkpoint/Restore: are we there yet?
Kernel Recipes 2016 - Landlock LSM: Unprivileged sandboxing
Docker Athens: Docker Engine Evolution & Containerd Use Cases
Fedora Virtualization Day: Linux Containers & CRIU
Containerd Project Update: FOSDEM 2018

What's hot (19)

PDF
Scalability and Performance of CNS 3.6
PDF
Kernel Recipes 2016 - Upstream Kernel Graphics is (Finally) Winning
PDF
Kernel Recipes 2016 - New hwmon device registration API - Jean Delvare
ODP
Not so brief history of Linux Containers
ODP
N problems of Linux Containers
PDF
Network & Filesystem: Doing less cross rings memory copy
PDF
2. Vagin. Linux containers. June 01, 2013
ODP
What's missing from upstream kernel containers?
PDF
The State of containerd
PPTX
Kubernetes Introduction
PPTX
Kernel Proc Connector and Containers
PDF
Containerize! Between Docker and Jube.
PDF
An Introduction to Kubernetes
PDF
Kubernetes on CRI-O
PPTX
Containers and Cloud: From LXC to Docker to Kubernetes
PDF
Shifter singularity - june 7, 2018 - bw symposium
PDF
[Szjug] Docker. Does it matter for java developer?
PDF
Up and Running with Glusto & Glusto-Tests in 5 Minutes (or less)
Scalability and Performance of CNS 3.6
Kernel Recipes 2016 - Upstream Kernel Graphics is (Finally) Winning
Kernel Recipes 2016 - New hwmon device registration API - Jean Delvare
Not so brief history of Linux Containers
N problems of Linux Containers
Network & Filesystem: Doing less cross rings memory copy
2. Vagin. Linux containers. June 01, 2013
What's missing from upstream kernel containers?
The State of containerd
Kubernetes Introduction
Kernel Proc Connector and Containers
Containerize! Between Docker and Jube.
An Introduction to Kubernetes
Kubernetes on CRI-O
Containers and Cloud: From LXC to Docker to Kubernetes
Shifter singularity - june 7, 2018 - bw symposium
[Szjug] Docker. Does it matter for java developer?
Up and Running with Glusto & Glusto-Tests in 5 Minutes (or less)
Ad

Similar to N problems of Linux containers (20)

PPT
Seven problems of Linux Containers
PPT
Seven problems of Linux containers
PDF
OpenVZ Linux Containers
ODP
Openvz booth
ODP
OpenVZ, Virtuozzo and Docker
PDF
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
ODP
Not so brief history of Linux Containers - Kir Kolyshkin
PDF
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
PDF
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
PDF
Containers and Namespaces in the Linux Kernel
PDF
Java in containers
PDF
An Introduction To Linux
PDF
Containers > VMs
PDF
OpenVZ Linux containers
PDF
Containers: from development to production at DevNation 2015
PPTX
Containerization & Docker - Under the Hood
PDF
Systemd: the modern Linux init system you will learn to love
PPTX
Introduction to containers
PPTX
Containers - Cloud Phoenix March Meetup
PDF
LXC Containers and AUFs
Seven problems of Linux Containers
Seven problems of Linux containers
OpenVZ Linux Containers
Openvz booth
OpenVZ, Virtuozzo and Docker
"Lightweight Virtualization with Linux Containers and Docker". Jerome Petazzo...
Not so brief history of Linux Containers - Kir Kolyshkin
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Containers and Namespaces in the Linux Kernel
Java in containers
An Introduction To Linux
Containers > VMs
OpenVZ Linux containers
Containers: from development to production at DevNation 2015
Containerization & Docker - Under the Hood
Systemd: the modern Linux init system you will learn to love
Introduction to containers
Containers - Cloud Phoenix March Meetup
LXC Containers and AUFs
Ad

More from OpenVZ (20)

PDF
PFcache - LinuxCon 2015
ODP
Speeding up ps and top
PDF
Live migration: pros, cons and gotchas -- Pavel Emelyanov
PDF
Live migrating a container: pros, cons and gotchas -- Pavel Emelyanov
PDF
CRIU: time and space travel for Linux containers -- Kir Kolyshkin
PDF
Тестирование ПО, основанного на сторонних компонентах - Денис Силаков, SECR 2015
ODP
Живая миграция: плюсы, минусы и подводные камни - Павел Емельянов
PDF
What's missing from upstream kernel containers? - Sergey Bronnikov
PDF
Проблема фрагментации виртуальных дисков и способы её решения -- Дмитрий Монахов
PDF
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
PDF
CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан Купреев
PDF
LibCT и контейнеры на уровне приложений -- Александр Бурлука
PDF
Управление памятью контейнеров в проекте OpenVZ -- Владимир Давыдов
PDF
Живая миграция контейнеров: плюсы, минусы, подводные камни -- Павел Емельянов
PDF
LibCT: one lib to rule them all -- Andrey Vagin
ODP
Denser containers with PF cache - Pavel Emelyanov
ODP
CGroups kernel memory controller -- Pavel Emelyanov
ODP
What's missing from upstream kernel containers? - Kir Kolyshkin, Sergey Bronn...
PDF
Управление ресурсами в Linux и OpenVZ
PDF
Containers in a file
PFcache - LinuxCon 2015
Speeding up ps and top
Live migration: pros, cons and gotchas -- Pavel Emelyanov
Live migrating a container: pros, cons and gotchas -- Pavel Emelyanov
CRIU: time and space travel for Linux containers -- Kir Kolyshkin
Тестирование ПО, основанного на сторонних компонентах - Денис Силаков, SECR 2015
Живая миграция: плюсы, минусы и подводные камни - Павел Емельянов
What's missing from upstream kernel containers? - Sergey Bronnikov
Проблема фрагментации виртуальных дисков и способы её решения -- Дмитрий Монахов
Развёртывание приложений Docker в контейнерах Virtuozzo -- Павел Тихомиров
CRIU: ускорение запуска PHP в CloudLinux OS -- Руслан Купреев
LibCT и контейнеры на уровне приложений -- Александр Бурлука
Управление памятью контейнеров в проекте OpenVZ -- Владимир Давыдов
Живая миграция контейнеров: плюсы, минусы, подводные камни -- Павел Емельянов
LibCT: one lib to rule them all -- Andrey Vagin
Denser containers with PF cache - Pavel Emelyanov
CGroups kernel memory controller -- Pavel Emelyanov
What's missing from upstream kernel containers? - Kir Kolyshkin, Sergey Bronn...
Управление ресурсами в Linux и OpenVZ
Containers in a file

Recently uploaded (20)

PDF
How Tridens DevSecOps Ensures Compliance, Security, and Agility
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
PPTX
Introduction to Windows Operating System
PPTX
Trending Python Topics for Data Visualization in 2025
PDF
Digital Systems & Binary Numbers (comprehensive )
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PDF
Complete Guide to Website Development in Malaysia for SMEs
PDF
STL Containers in C++ : Sequence Container : Vector
PPTX
"Secure File Sharing Solutions on AWS".pptx
PDF
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
PDF
Types of Token_ From Utility to Security.pdf
PPTX
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
PDF
Website Design Services for Small Businesses.pdf
PPTX
Weekly report ppt - harsh dattuprasad patel.pptx
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
How Tridens DevSecOps Ensures Compliance, Security, and Agility
Why Generative AI is the Future of Content, Code & Creativity?
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
Introduction to Windows Operating System
Trending Python Topics for Data Visualization in 2025
Digital Systems & Binary Numbers (comprehensive )
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Complete Guide to Website Development in Malaysia for SMEs
STL Containers in C++ : Sequence Container : Vector
"Secure File Sharing Solutions on AWS".pptx
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
Types of Token_ From Utility to Security.pdf
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
Website Design Services for Small Businesses.pdf
Weekly report ppt - harsh dattuprasad patel.pptx
Monitoring Stack: Grafana, Loki & Promtail
Designing Intelligence for the Shop Floor.pdf
Computer Software and OS of computer science of grade 11.pptx
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM

N problems of Linux containers

  • 1. N Problems of Linux Containers (with solutions!) Kir Kolyshkin <[email protected]> 6 June 2015 ContainerDays Boston
  • 2. openvz.org || criu.org || odin.com Problem: Effective virtualization ● Virtualization is partitioning ● Historical way: $M mainframes ● Modern way: virtual machines ● Problem: performance overhead ● Partial solution: hardware support (Intel VT, AMD V)
  • 3. openvz.org || criu.org || odin.com Solution: isolation ● Run many userspace instances on top of one single (Linux) kernel ● All processes see each other – files, process information, network, shared memory, users, etc. ● Make them unsee it!
  • 4. openvz.org || criu.org || odin.com One historical way to unsee chroot()
  • 5. openvz.org || criu.org || odin.com Namespaces ● Implemented in the Linux kernel – PID (process tree) – net (net devices, addresses, routing etc) – IPC (shared memory, semaphores, msg queues) – UTS (hostname, kernel version) – mnt (filesystem mounts) – user (UIDs/GIDs) ● clone() with CLONE_NEW* flags
  • 6. openvz.org || criu.org || odin.com Problem: Shared resources ● All containers share the same set of resources (CPU, RAM, disk, various in-kernel things ...) ● Need fair distribution of “goods” so everyone gets their share ● Need DoS prevention ● Need prioritization and SLAs
  • 8. openvz.org || criu.org || odin.com Solution: OpenVZ resource controls ● OpenVZ: – user beancounters ● controls 20 parameters – hierarchical CPU scheduler – disk quota per containers – I/O priority and I/O bandwidth limit per-container ● Dynamic control, can “resize” runtime
  • 10. openvz.org || criu.org || odin.com Solution 2: VSwap ● Only two primary parameters: RAM and swap – others still exist, but are optional ● Swap is virtual, no actual I/O is performed ● Slow down to emulate real swap ● Only when actual global RAM shortage occurs, virtual swap goes into the real swap ● Currently only available in OpenVZ kernel
  • 11. openvz.org || criu.org || odin.com Solution: cgroups + controllers ● Cgroups is a mechanism to control resources per hierarchical groups of processes ● Cgroups is nothing without controllers: – blkio, cpu, cpuacct, cpuset, devices, freezer, memory, net_cls, net_prio ● Cgroups are orthogonal to namespaces ● Still working on it: just added kmem controller
  • 12. openvz.org || criu.org || odin.com Solution 3: vcmmd ● 4th generation of OpenVZ resource mgmt ● A user-space daemon using kernel controls ● Monitors usage, tweaks limits ● Adds a “time” dimension ● More flexible limits, e.g. burstable
  • 13. openvz.org || criu.org || odin.com Problem: fast live migration ● We can already live migrate a running OpenVZ container from one server to another without shutting it down ● We want to do it fast even for huge containers – huge disk: use shared storage – huge RAM: ???
  • 14. openvz.org || criu.org || odin.com Live migration process (assuming shared storage) ● 1 Freeze the container ● 2 Dump its complete state to a dump file ● 3 Copy the dump file to destination server ● 4 Undump back to RAM, recreate everything ● 5 Unfreeze ● Problem: huge dump file -- takes long time* to dump, copy, undump * seconds
  • 15. openvz.org || criu.org || odin.com Solution 1: network swap ● 1 Dump the minimal memory, lock the rest ● 2 Restore the minimal memory, mark the rest as swapped out ● 3 Set up network swap from the source ● 4 Unfreeze. Missing RAM will be “swapped in” ● 5 Migrate the rest of RAM and kill it on source
  • 16. openvz.org || criu.org || odin.com Solution 1: network swap ● 1 Dump the minimal memory, lock the rest ● 2 Copy, undump what we have, mark the rest as swapped out ● 3 Set up network swap served from the source ● 4 Unfreeze. Missing RAM will be “swapped in” ● 5 Migrate the rest of RAM and kill it on source ● PROBLEM: no way to rollback
  • 17. openvz.org || criu.org || odin.com Solution 2: Iterative RAM migration ● 1 Ask kernel to track modified pages ● 2 Copy all memory to destination system mem ● 3 Ask kernel for list of modified pages ● 4 Copy those pages ● 5 GOTO 3 until satisfied ● 6 Freeze and do migration as usual, but with much smaller set of pages
  • 18. openvz.org || criu.org || odin.com Problem: upstreaming ● OpenVZ was developed separately ● Same for many past IBM Linux projects (ELVM, CKRM, ...) ● Develop, then merge it upstream (i.e. to vanilla Linux kernel) ● Problem?
  • 20. openvz.org || criu.org || odin.com Problem: upstreaming ● OpenVZ was developed separately ● Same for many past IBM Linux projects (ELVM, CKRM, ...) ● Develop, then merge it upstream (i.e. to vanilla Linux kernel) ● Problem: grizzly bears upstream developers do not accept massive patchsets appearing out of nowhere
  • 21. openvz.org || criu.org || odin.com Solution 1: rewrite from scratch ● User Beancounters -> CGroups + controllers ● PID namespace: 2 rewrites until accepted ● Network namespace – rewritten ● It works! ● 1500+ patches ended up in vanilla ● OpenVZ made it to top10 contributors
  • 22. openvz.org || criu.org || odin.com Solution 2: circumvent the system! ● We tried hard to merge checkpoint/restore ● Other people tried hard too, no luck ● Can't make it to the kernel? Let's riot! implement it in userspace ● With minimal kernel intervention when required ● Kernel exports most of information already, so let's just add missing bits and pieces
  • 23. openvz.org || criu.org || odin.com CRIU ● Checkpoint / Restore [mostly] In Userspace ● About 3 years old, tools at version 1.6 ● Users: Google, Samsung, Huawei, ... ● LXC & Docker – integrated! ● Already in upstream 3.x kernel CONFIG_CHECKPOINT_RESTORE ● Live migration: P.Haul http://criu.org/P.Haul
  • 24. openvz.org || criu.org || odin.com CRIU Linux kernel patches, per v Total: 176 (+11 this year)
  • 25. openvz.org || criu.org || odin.com Problem: common file system ● Container is just a directory on the host we chroot() into ● File system journal (metadata updates) is a bottleneck ● Lots of small-size files I/O on CT backup/migration (sometimes rsync hangs or OOMs!) ● No sub-tree disk quota support in upstream ● No sub-tree snapshots ● Live migration: rsync -- changed inodes ● File system type and properties are fixed, same for all CTs
  • 26. openvz.org || criu.org || odin.com Solution 1: LVM ● Only works only on top of block device ● Hard to manage (e.g. how to migrate a huge volume?) ● No thin provisioning
  • 27. openvz.org || criu.org || odin.com Solution 2: loop device (filesystem within a file) ● VFS operations leads to double page-caching – (already fixed in the recent kernels) ● No thin provisioning ● Limited feature set
  • 28. openvz.org || criu.org || odin.com Solution 3: ZFS + zvol ● PRO: features – zvol, thin provisioning, dedup, zfs send/receive ● CONTRA: – Licensing is problematic – Linux port issues (people report cache OOM) – Was not available in 2008
  • 29. openvz.org || criu.org || odin.com Solution 4: ploop ● Basic idea: same as block loop, just better ● Modular design: – various image formats (qcow2 in TODO progress) – various I/O backends (ext4, vfs O_DIRECT, nfs) ● Feature rich: – online resize (grow and shrink, ballooning) – instant live snapshots – write tracker to facilitate faster live migration
  • 30. openvz.org || criu.org || odin.com Any problems questions? ● [email protected] ● Twitter: @kolyshkin @_openvz_ @__criu__

Editor's Notes

  • #28: Remember on the earlier slide chroot() was a solution? Now it become a problem