LinuxTag 2009: Resource Management with OpenVZ

Jun 27, 2009

OpenVZ project leader Kir Kolyshkin clarified at LinuxTag 2009 that the software also lends itself to Linux resource management.

The facts are clear, Koyshkin said at the outset: every computer has but finite resources such as CPU time, memory, hard disk size and I/O, and network I/O. Administrators are interested in protecting these resources from DoS attacks so that they can continue providing QoS or simple processing.

The Linux kernel already provides resource management tools, said Kolyshkin: disk quotas, nice and renice, the real-time priority queue and limits on CPU time with ulimit -c. Ulimit alone controls 16 different parameters. However, Kolyshkin doesn't find this pallet to be enough. Some limits can't be set and the others are done so at login and can't subsequently be regulated. This is where Kolyshkin brought OpenVZ into the picture. The software allows creating multiple isolated userspace instances, called containers, on a single kernel. Webhosters, for example, could use these containers for their services. From a resource management viewpoint, containers are simply groups of processes.

OpenVZ chief Kir Kolyshkin points out at LinuxTag 2009 how his container software can provide resource management.

OpenVZ brings its own resource control mechanisms, called beancounters, that have access to 20 parameters modifiable for process groups at runtime. These groups can be containers, users or applications. For example, the Apache 2 webserver has many processes that could more sensibly combined into application groups. OpenVZ categorizes these user beancounters (UBCs) on its wiki page.

Kolyshkin revealed that further mainline kernel control mechanisms are available through control groups (cgroups) developed over the years by the big iron folks at Bull and SGI. Paul Menage was responsible for bringing cgroups into the Linux kernel for grouping processes for binding memory controllers. Cgroups, however, don't offer as many features as OpenVZ's beancounters, although Kolyshkin wishes for future OpenVZ features such as shared pages accounting, I/O priorities per cgroup and checkpoint/recreate. The latter freezes the state of a group and is used by container or virtualization software such as OpenVZ and Xen for live migration. Further details are in the /usr/src/linux/Documentation/cgroups/* and /controllers/* directories of the kernel source code.

Kolyshkin would love to see the OpenVZ container features integrated into the mainline kernel, but that will "take years." But he's thinking of the future: integration of checkpoint/recreate in the official Linux kernel.

Related content

  • Parallels Lends Support to The Linux Foundation

    A leader in virtualization becomes the foundation's newest member

  • VServer

    The VServer project offers a secure and highly efficient virtualization alternative.

  • Ready to Run Images for OpenVZ

    The OpenVZ project has released two new virtual machine images which will give administrators the ability to set up a new virtual server in less than a minute.

  • Docker

    Docker is an economical alternative to conventional virtualization. Because each Docker container shares the underlying operating system, it enjoys the resource isolation and allocation benefits of VMs but is much more portable and efficient.

  • Virtual Machines Intro

    Virtualization can save you time, money, and effort, but you’ll need to find the right tool for the task.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More