Difference between revisions of "Leaflet"
(initial version) |
(updated description and removed command line) |
||
Line 1: | Line 1: | ||
− | + | == What is OpenVZ? == | |
− | |||
− | OpenVZ | + | OpenVZ это проект, объединяющий технологии контейнерной виртуализации для Linux: |
− | |||
− | + | '''Virtuozzo kernel''' is a Linux kernel with patches implements OpenVZ kernel functionality. | |
− | + | '''Management utilities''' such as vzctl, to manage container life cycle. | |
− | + | '''Checkpoint/Restore In Userspace''', or CRIU (pronounced kree-oo, IPA: /krɪʊ/, Russian: криу), is a software tool for Linux operating system. Using this tool, you can freeze a running application (or part of it) and checkpoint it to a hard drive as a collection of files. You can then use the files 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. Docker and LXC uses CRIU to be able migrate containers between servers. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | '''P.Haul''' is the project on top of CRIU implementing live migration usage scenario. | |
− | + | '''LibCT''' is a containers management library which provides convenient API for frontend programs to rule a container during its whole lifetime. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | == 10 years anniversary - short history of OpenVZ project == |
− | + | http://openvz.org/History | |
− | |||
− | + | 1999 | |
− | + | Nov 1999: SWsoft chief scientist formulated three main components of Linux containers: set of processes with namespace isolation, file system to share code/ram and isolation in resources. | |
− | |||
− | + | 2000 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Feb 2000: 5 people started working on the first mockup version of Virtuozzo (namespaces, isolation, vzfs). | |
+ | Jul 2000: limited public beta testing: two public servers (Virtuozzo 0.1 and control panels), 5000 VEs during summer | ||
− | + | 2002 | |
− | |||
− | |||
− | |||
− | + | Jan 2002: SWsoft (now known as Odin) initially released a product for Linux named Virtuozzo. | |
− | |||
− | + | 2005 | |
− | + | 2005: SWsoft created the OpenVZ Project to release the core of Virtuozzo under GNU GPL. | |
+ | 2005: SWsoft acquired a hosting/development company "Express" with their own containers for FreeBSD (it was later dropped due to small number of clients). | ||
− | + | 2006 | |
− | + | ||
− | + | Jan 2006: Rebase to kernel 2.6.15 | |
+ | Oct 2006: Port to SPARC and PPC | ||
+ | Nov 2006: Port to 2.6.18 kernel | ||
+ | Nov 2006: OpenVZ adds live migration capability | ||
+ | |||
+ | 2007 | ||
+ | |||
+ | Mar 2007: Port to RHEL5 kernel | ||
+ | Mar 2007: Port to 2.6.20 kernel | ||
+ | |||
+ | 2008 | ||
+ | |||
+ | Apr 2008: Rebase to kernel 2.6.25 | ||
+ | Oct 2008: Port to ARM | ||
+ | |||
+ | 2009 | ||
+ | |||
+ | Aug 2009: Parallels company is in Top 10 Linux kernel contributors with their patches for Linux containers. Our contributions to the kernel at that time was PID, IPC, and network namespaces, with the last one being the biggest. | ||
+ | |||
+ | 2011 | ||
+ | |||
+ | Jul 2011: Pavel Emelyanov sent initial RFC and code. The idea of CRIU of course came up earlier when we figured we (or anyone else, for that matter) can't possibly merge in-kernel checkpoint/restore. Re-implementing it in userspace looked crazy for everyone including me, and Andrew Morton's and Linus Torvalds' initial reaction was similar ("some crazy russians"). | ||
+ | Sep 2011: Cyrill Gorcunov made first commit to CRIU project | ||
+ | |||
+ | 2012 | ||
+ | |||
+ | Jul 2012: CRIU v0.1 is available. | ||
+ | Oct 2012: vzctl for upstream Linux kernel is available | ||
+ | |||
+ | 2014 | ||
+ | |||
+ | Dec 2014: Parallels announced merging OpenVZ and Parallels Cloud Server into single common open source codebase. | ||
+ | |||
+ | 2015 | ||
+ | |||
+ | Apr 2015: Source code of RHEL7-based kernel was published and kernel development process become open. | ||
+ | Jun 2015: Source code of most userspace utilities was published. | ||
+ | Jul 2015: Published regularly updated yum repository with Virtuozzo RPM packages and installation ISO image. | ||
+ | Jul 2015: Announced Virtuozzo 7 Technical Preview - Containers | ||
− | |||
− | |||
− | |||
− | |||
== Frequently Asked Questions == | == Frequently Asked Questions == | ||
Line 116: | Line 123: | ||
OpenVZ wiki is your friend. See http://wiki.openvz.org/ | OpenVZ wiki is your friend. See http://wiki.openvz.org/ | ||
− | |||
== Use cases == | == Use cases == | ||
Line 129: | Line 135: | ||
=== Development and Testing === | === Development and Testing === | ||
− | + | * Different distros can co-exist | |
− | + | * A container can be created in a minute | |
− | + | * Can have hundreds of containers | |
− | + | * Cloning, snapshots, rollbacks | |
− | + | * A container is a sandbox: work/play, no fear | |
=== Security === | === Security === | ||
Line 153: | Line 159: | ||
* No need for a lot of hardware | * No need for a lot of hardware | ||
− | |||
− | + | ||
− | + | ||
− | + | Stay tuned: https://twitter.com/_openvz_ | |
− | |||
− | |||
− | |||
− |
Revision as of 15:21, 30 July 2015
Contents
What is OpenVZ?
OpenVZ это проект, объединяющий технологии контейнерной виртуализации для Linux:
Virtuozzo kernel is a Linux kernel with patches implements OpenVZ kernel functionality.
Management utilities such as vzctl, to manage container life cycle.
Checkpoint/Restore In Userspace, or CRIU (pronounced kree-oo, IPA: /krɪʊ/, Russian: криу), is a software tool for Linux operating system. Using this tool, you can freeze a running application (or part of it) and checkpoint it to a hard drive as a collection of files. You can then use the files 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. Docker and LXC uses CRIU to be able migrate containers between servers.
P.Haul is the project on top of CRIU implementing live migration usage scenario.
LibCT is a containers management library which provides convenient API for frontend programs to rule a container during its whole lifetime.
10 years anniversary - short history of OpenVZ project
1999
Nov 1999: SWsoft chief scientist formulated three main components of Linux containers: set of processes with namespace isolation, file system to share code/ram and isolation in resources.
2000
Feb 2000: 5 people started working on the first mockup version of Virtuozzo (namespaces, isolation, vzfs). Jul 2000: limited public beta testing: two public servers (Virtuozzo 0.1 and control panels), 5000 VEs during summer
2002
Jan 2002: SWsoft (now known as Odin) initially released a product for Linux named Virtuozzo.
2005
2005: SWsoft created the OpenVZ Project to release the core of Virtuozzo under GNU GPL. 2005: SWsoft acquired a hosting/development company "Express" with their own containers for FreeBSD (it was later dropped due to small number of clients).
2006
Jan 2006: Rebase to kernel 2.6.15 Oct 2006: Port to SPARC and PPC Nov 2006: Port to 2.6.18 kernel Nov 2006: OpenVZ adds live migration capability
2007
Mar 2007: Port to RHEL5 kernel Mar 2007: Port to 2.6.20 kernel
2008
Apr 2008: Rebase to kernel 2.6.25 Oct 2008: Port to ARM
2009
Aug 2009: Parallels company is in Top 10 Linux kernel contributors with their patches for Linux containers. Our contributions to the kernel at that time was PID, IPC, and network namespaces, with the last one being the biggest.
2011
Jul 2011: Pavel Emelyanov sent initial RFC and code. The idea of CRIU of course came up earlier when we figured we (or anyone else, for that matter) can't possibly merge in-kernel checkpoint/restore. Re-implementing it in userspace looked crazy for everyone including me, and Andrew Morton's and Linus Torvalds' initial reaction was similar ("some crazy russians"). Sep 2011: Cyrill Gorcunov made first commit to CRIU project
2012
Jul 2012: CRIU v0.1 is available. Oct 2012: vzctl for upstream Linux kernel is available
2014
Dec 2014: Parallels announced merging OpenVZ and Parallels Cloud Server into single common open source codebase.
2015
Apr 2015: Source code of RHEL7-based kernel was published and kernel development process become open. Jun 2015: Source code of most userspace utilities was published. Jul 2015: Published regularly updated yum repository with Virtuozzo RPM packages and installation ISO image. Jul 2015: Announced Virtuozzo 7 Technical Preview - Containers
Frequently Asked Questions
What is a container (Virtual Environment, Virtual Private Server)?
A container (CT) is an isolated entity which performs and executes exactly like a stand-alone server. Containers can be rebooted independently and have root access, users/groups, IP address(es), memory, processes, files, applications, system libraries and configuration files.
What is a virtual machine?
Virtual machine (VM) is an emulation of a particular computer system. Virtual machines operate based on the computer architecture and functions of a real or hypothetical computer, and their implementations may involve specialized hardware, software, or a combination of both.
What are the highlights of OpenVZ technology?
OpenVZ is highly scalable virtualization technology for Linux with near-zero overhead, strong isolation and rapid customer provisioning that's ready for production use right now. Deployment of OpenVZ improves efficiency, flexibility and quality of service in the enterprise environment.
How is OpenVZ different from other technologies?
Virtual Machines boot separate kernels on emulated hardware instances. OpenVZ runs all containers under a single Linux kernel. OpenVZ offers much higher density, hosting thousands of containers on a single physical server, but can only run Linux in those containers. Virtual machine solutions usually top out at a few dozen instances, but can run different operating systems in each.
What is the relationship between OpenVZ and LXC?
OpenVZ develops new container technology that then goes upstream into the vanilla Linux kernel. OpenVZ has about a 5 year headstart on LXC, but is actively feeding technology upstream into vanilla containers. Several internal details currently differ (OpenVZ adds new system calls, vanilla uses the cgroups filesystem, new clone flags, and other mechanisms). What applications can run inside an OpenVZ container? Applications and services do not have to be aware of OpenVZ, and most install without any modifications: Java, Oracle, DB/2, Weblogic, Websphere and many other big applications run just fine inside OpenVZ containers. However, direct access to hardware is not available by default; if required it must be provided by the system administrator.
How scalable is OpenVZ?
OpenVZ scales as well as Linux: we've tested 64 CPUs with 128 GB of RAM. It scales down to embedded devices like smart phones or plug computers. A single container can dynamically scale from taking a tiny fraction to all available resources, and may be adjusted without restarting it.
How does OpenVZ improve efficiency?
OpenVZ improves utilization of existing hardware by increasing average load while still providing the ability to handle peak loads. When buying new servers, using a few powerful boxes instead of many little ones allows better reliability, better peak performance and typically longer lifespan.
How does OpenVZ improve flexibility of services?
Each container is hardware independent, and can be moved to another OpenVZ-based system over the network in seconds. This eases hardware maintenance (move out all containers and do whatever you need with the box) and improves availability (keep a synchronized copy of your container elsewhere and start it up if primary service fails). When your old box can no longer cope with peak load, live migrate your containers to a new one.
What is the performance overhead?
Near zero. There is no emulation layer, only security isolation and resource accounting. All checking is done in the kernel without context switching.
Where do I get (or put) more answers?
OpenVZ wiki is your friend. See http://wiki.openvz.org/
Use cases
Server Consolidation
- Uniform management
- Easy to upgrade from Virtuozzo OpenVZ edition to commercial Virtuozzo
- Scalable
- Fast migration
Development and Testing
- Different distros can co-exist
- A container can be created in a minute
- Can have hundreds of containers
- Cloning, snapshots, rollbacks
- A container is a sandbox: work/play, no fear
Security
- Give each app its own isolated container
- Security hole in an app will not affect others
- Dynamic resource management controls runaway processes
Hosting
- Isolated users
- A container is like a real server, just cheaper
- Much easier to admin
Educational
- Every student can have root access
- Different distributions
- No need for a lot of hardware
Stay tuned: https://twitter.com/_openvz_