Contact Wikipedia Toolbox Print/export Languages Deutsch Español ????? Italiano Polski Português ??????? ??? ?????????? ?? This page was last modified on 23 May 2011 at 00:36. Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. See Terms of Use for details. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization. Contact us Privacy policy About Wikipedia Disclaimers Wikimedia Foundation Powered by MediaWiki href="http://www.vpshub.net" >vps OpenVZ (Open VirtualiZation) is an operating system-level virtualization technology based on the Linux kernel and operating system. OpenVZ allows a physical server to run multiple isolated operating system instances, known as containers, Virtual Private Servers (VPSs), or Virtual Environments (VEs). It is similar to FreeBSD Jails and Solaris Zones. As compared to virtual machines such as VMware and paravirtualization technologies like Xen, OpenVZ is limited in that it requires both the host and guest OS to be Linux (although Linux distributions can be different in different containers). However, OpenVZ claims a performance advantage; according to its website, there is only a 1–3% performance penalty for OpenVZ as compared to using a standalone server.[1] One independent performance evaluation[2] confirms this. Another shows more significant performance penalties[3] depending on the metric used. OpenVZ is the basis of Virtuozzo Containers, a proprietary software product provided by Parallels, Inc. OpenVZ is licensed under the GPL version 2 and is supported and sponsored by Parallels whereas the company does not offer commercial end-user support for OpenVZ. The OpenVZ is divided into a custom kernel and user-level tools. Contents [hide] 1 OpenVZ compared to other Virtualization Technologies 2 Kernel 2.1 Virtualization and isolation 2.2 Resource management 2.2.1 Two-level disk quota 2.2.2 CPU scheduler 2.2.3 I/O scheduler 2.2.4 User Beancounters 2.3 Checkpointing and live migration 3 OpenVZ distinct features 3.1 Scalability 3.2 Performance 3.3 Density 3.4 Mass-management 4 Similar technologies 5 Limitations 6 See also 7 References 8 External links [edit] OpenVZ compared to other Virtualization Technologies OpenVZ is not true virtualization but really containerization like BSD Jails. Technologies like VMWare and Xen are more flexible in that they virtualize the entire machine and can run multiple operating systems. OpenVZ uses a single patched Linux kernel and therefore can run only Linux. However because it doesn't have the overhead of a true hypervisor it is very fast and efficient. The obvious big disadvantage is the single kernel. All virtual servers have to get along with the Linux kernel version that the host runs on. The advantages, however, are that memory allocation is soft in that memory not used in one virtual environment can be used by others or for disk caching. OpenVZ uses a common file system so each virtual environment is just a directory of files that is isolated using chroot. Thus a virtual machine can be cloned by just copying the files in one directory to another and creating a config file for the virtual machine and starting it. [edit] Kernel The OpenVZ kernel is a Linux kernel, modified to add support for OpenVZ containers. The modified kernel provides virtualization, isolation, resource management, and checkpointing. [edit] Virtualization and isolation Each container is a separate entity, and behaves largely as a physical server would. Each has its own: Files System libraries, applications, virtualized /proc and /sys, virtualized locks etc. Users and groups Each container has its own root user, as well as other users and groups. Process tree A container only sees its own processes (starting from init). PIDs are virtualized, so that the init PID is 1 as it should be. Network Virtual network device, which allows a container to have its own IP addresses, as well as a set of netfilter (iptables) and routing rules. Devices If needed, any container can be granted access to real devices like network interfaces, serial ports, disk partitions, etc. IPC objects Shared memory, semaphores, messages. [edit] Resource management OpenVZ resource management consists of three components: two-level disk quota, fair CPU scheduler, and user beancounters. These resources can be changed during container run time, eliminating the need to reboot. [edit] Two-level disk quota Each container can have its own disk quotas, measured in terms of disk blocks and inodes (roughly number of files). Within the container, it is possible to use standard tools to set UNIX per-user and per-group disk quotas. [edit] CPU scheduler The CPU scheduler in OpenVZ is a two-level implementation of fair-share scheduling strategy. On the first level, the scheduler decides which container it is to give the CPU time slice to, based on per-container cpuunits values. On the second level the standard Linux scheduler decides which process to run in that container, using standard Linux process priorities and such. It is possible to set different values for the CPUs in each container. Real CPU time will be distributed proportionally to these values. Strict limits, such as 10% of total CPU time, are also possible. [edit] I/O scheduler Similar to the CPU scheduler described above, I/O scheduler in OpenVZ is also two-level, utilizing Jens Axboe's CFQ I/O scheduler on its second level. Each container is assigned an I/O priority, and the scheduler distributes the available I/O bandwidth according to the priorities assigned. Thus no single container can saturate an I/O channel. [edit] User Beancounters User Beancounters is a set of per-container counters, limits, and guarantees. There is a set of about 20 parameters which is meant to control all the aspects of container operation. This is meant to prevent a single container from monopolizing system resources. These resources primarily consist of memory and various in-kernel objects such as IPC shared memory segments, and network buffers. Each resource can be seen from /proc/user_beancounters and has five values associated with it: current usage, maximum usage (for the lifetime of a container), barrier, limit, and fail counter. The meaning of barrier and limit is parameter-dependent; in short, those can be thought of as a soft limit and a hard limit. If any resource hits the limit, the fail counter for it is increased. This allows the owner to detect problems by monitoring /proc/user_beancounters in the container. Values in User Beancounter Value Meaning lockedpages The memory not allowed to be swapped out (locked with the mlock() system call), in pages. shmpages The total size of shared memory (including IPC, shared anonymous mappings and tmpfs objects) allocated by the processes of a particular VPS, in pages. privvmpages The size of private (or potentially private) memory allocated by an application. The memory that is always shared among different applications is not included in this resource parameter. numfile The number of files opened by all VPS processes. numflock The number of file locks created by all VPS processes. numpty The number of pseudo-terminals, such as an ssh session, the screen or xterm applications, etc. numsiginfo The number of siginfo structures (essentially, this parameter limits the size of the signal delivery queue). dcachesize The total size of dentry and inode structures locked in the memory. physpages The total size of RAM used by the VPS processes. This is an accounting-only parameter currently. It shows the usage of RAM by the VPS. For the memory pages used by several different VPSs (mappings of shared libraries, for example), only the corresponding fraction of a page is charged to each VPS. The sum of the physpages usage for all VPSs corresponds to the total number of pages used in the system by all the accounted users. numiptent The number of IP packet filtering entries [edit] Checkpointing and live migration Introduction to virtualization From OpenVZ Wiki Virtualization is a framework or methodology of dividing the resources of a computer into multiple execution environments. Virtualization techniques create multiple isolated partitions Virtual Machines (VM) or Virtual Environments (VEs) on a single physical server. Contents [hide] 1 Techniques 1.1 Virtual machines (VMs) 1.2 Paravirtualization 1.3 Virtualization on the OS level, a.k.a. containers virtualization Parallels, Inc. From Wikipedia, the free encyclopedia (Redirected from Virtuozzo) Parallels, Inc. Parallels Logo.svg Type Privately held company Industry Computer software Genre Virtualization and Hosting Automation Founded 1999 Headquarters Switzerland Schaffhausen, Switzerland[1] Key people Serguei Beloussov, Chairman Birger Steen, CEO Products Parallels Desktop for Mac Parallels Desktop 4 for Windows & Linux Parallels Server Parallels Server for Mac Parallels Virtuozzo Containers OpenVZ Plesk HSPcomplete Compressor Server Compressor Workstation PEM Parallels Infrastructure Manager Parallels Automation Revenue US$ 100 million (2008) [2] Employees ~750 (as of Jun 2009) Website parallels href="http://www.vpshub.net">vps Parallels, Inc. is a privately-held virtualization technology company with offices in the USA, Germany, UK, France, Japan, China, Russia and Ukraine. Parallels' US offices are in Renton, WA. The company has more than 700 employees as of 2010.[3] Parallels, Inc. was an SWsoft company until January, 2008;[4] each company operated as a separate entity and maintained its own distinct branding. In December, 2007, Parallels' parent company SWsoft announced its plans to change its name to Parallels and ship both companies' products under the Parallels name.[5] The merger was formalized in January 2008.[6] Contents [hide] 1 Company history 2 Products 2.1 Desktop software 2.2 Server software 2.3 Automation software 3 See also 4 References 5 External links [edit] Company history 2004 SWsoft acquires Parallels, Inc.[7] 2005 Parallels, Inc. officially launches September 7 Parallels launches beta version of Workstation for Windows and Linux 2.0[8] December 8 - Parallels launches the completed version of Parallels Workstation for Windows and Linux 2.0[9] 2006 - Parallels announces itself as an official company April 6 Parallels launches its first beta build of Parallels Desktop for Mac[10] June 15 Parallels officially launches Parallels Desktop for Mac[11] July 18 Parallels Desktop for Mac debuts in retail stores[12] September - Parallels moves its corporate headquarters from Herndon, Virginia to Renton, Washington 2007 Netsys lawsuit (see Parallels Desktop for Mac for details). June - Announces Parallels Server for Mac at WWDC April 26 - Announces Parallels Technology Network [13] 2008 January - SWsoft merges into Parallels to become one company under the Parallels branding.[4] Virtual machine