VM vs Container Xen KVM VMware etc Hardware







- Slides: 7
VM vs Container Xen, KVM, VMware, etc. Hardware emulation / paravirtualization Can run different OSs on the same box Dozens of instances OS sprawl problem Lower performance Chroot on steroids Single OS per box Hundred of instances Dynamic resource management, best scalability Trivial performance overhead
Open. VZ vs. Xen comparison by HP labs “For all the configurations and workloads we have tested, Xen incurs higher virtualization overhead than Open. VZ does. ” “For all the cases tested, the virtualization overhead observed in Open. VZ is low, and can be neglected in many scenarios. ” “The two nodes running Xen become overloaded when hosting four instances of RUBi. S, whereas those using Open. VZ can host at least six without being overloaded. ” From http: //www. hpl. hp. com/techreports/2007/HPL-2007 -59 R 1. pdf
New Stuff RHEL 6 kernel port VSwap: easy management, RSS reclamation Containers CPU binding (cpumask) PCI device delegation NFS mounts migration Journaled quota ext 4 safe writeback
Future directions Mainstream kernel integration Container in a file a. k. a. PLOOP Come to see our talk! CRIU: checkpoint/restore in userspace Caching de-duplicating FS (pfscache)
Mainstream kernel integration Open. VZ project pioneers container technology Developing new container technology since 1999. Features then ported from Open. VZ to upstream Linux “containers”. Already upstream (in Linux containers): IPC namespace, utsname() virtualization, PID namespace, user namespace, cgroups (control groups), Memory controllers (RSS, page cache), Network namespace. . . Collaborative community effort: IBM, Google, SGI, Parallels, and many others. It's still ongoing In progress: NFS virtualization, network buffer accounting, Checkpoint/restart in userspace TODO: Kernel memory accounting, . . .
Migration at a Glance • Container is running on Server #1 • Container's file system transfer • Save full container's state to a file • Restart container on Server #2 Physical Server #1 Physical Server #2 CT #1 CT#1 CT Memory CT Private Data Full State Dump
To sum it up Containers scale as well as Linux does Platform-independent Benefit from all Linux performance improvements Native I/O speed, best possible performance The more memory/CPUs the merrier as long as Linux supports it, we support it arm/mips/ppc no problem. Plays well with others (Xen, KVM, VMware) VM and container technologies are orthogonal run containers and VMs side by side