New version of OpenVZ



    Last spring, we talked about why Virtuozzo is switching to an open development model and what is the point of opening the source code for a commercial product. Yesterday we announced the release of the final version of OpenVZ 7.0, formed as a result of the merger of the code bases of the open container virtualization system OpenVZ and the commercial product Virtuozzo (Parallels Cloud Server). The new release of OpenVZ contains many changes and we will talk about each of them in order.


    Not technology, but a product!



    When the OpenVZ project appeared, Linux kernels with our patches for container virtualization and utilities for container management were available as part of this project. We provided components from which the user could build a container virtualization system. In OpenVZ 7.0, we do not provide technology, but a complete solution in the form of a Linux distribution. All that is required to start using the new version is to download the installation image and go through all the steps of the installer. It will turn out a server with the possibility of both container and hypervisor virtualization based on KVM / QEMU. For paid users, additional functionality is available that can be installed by purchasing a license, without reinstalling.

    More integration options



    The market is saturated with products and solutions for virtualization and not a single product is perfect and does not provide all the possible functionality. Realizing this, we have expanded the capabilities of OpenVZ integration. Since OpenVZ 7 inherited the architecture of the commercial Virtuozzo, it became possible to use the Parallels API. Additionally, it became possible to integrate with LibVirt using a separate virtuozzo driver . The driver allows you to manage containers and OpenVZ virtual machines using the standard utilities virsh, virt-install, the GUI shell virt-manager and other applications integrated with LibVirt.

    New functionality previously available only in commercial Virtuozzo



    The memory management mechanism has been thoroughly redesigned and the fourth generation of this mechanism is introduced in the new version . The new implementation uses the memory cgroups subsystem provided by the Linux kernel and the vcmmd service.

    In previous versions of OpenVZ, container templates were rather inconvenient: we needed to update templates for current versions of distributions on the OpenVZ website, and users of OpenVZ do not forget to update these templates on their servers. In OpenVZ 7, the ability to use EZ-templates for containers was added, which will facilitate the management of templates on servers with OpenVZ. For management, it is proposed to use the vzpkg utility .

    The functionality of previous versions of OpenVZ is documented on the project wiki, articles for which were written by people from the community. This approach had a drawback - poorly structured information and at times the articles lost relevance and were not updated. In the new version, full documentation is available on the website docs.openvz.org , which our documentation department writes. Moreover, the possibility of making changes to the OpenVZ documentation still exists - the source code is available in the openvz-docs repository .

    From other technical changes:



    The Linux kernel is now based on the latest Red Hat kernel version - RHEL 7 (the version corresponds to the 3.10+ kernel). The patch size compared to the RHEL5, RHEL6 cores was significantly reduced, which was achieved due to the active use of standard technologies already included in the main Linux kernel: memory cgroups, CRIU, NFS virtualization. Live migration for containers is now implemented using the CRIU and P.Haul toolkit instead of using the process freeze / unfreeze code implemented in previous versions of vzkernel.

    There is also unpleasant news. Until now, in previous versions of OpenVZ and the commercial Virtuozzo product, the vzctl utility was developed independently. In OpenVZ / Virtuozzo 7.0, it was decided to leave the version from a commercial product, so vzctl compatibility was broken. To manage containers and virtual machines, it is recommended to use the prlctl utility. To start working with the new utility, you can use the "cheat sheet" with the syntax of popular commands. In future versions, it is planned to abandon the vzctl utility and use prlctl as the main utility.

    An installation image is available for installing OpenVZ 7.0 , which can be downloaded from the OpenVZ server or from one of the project mirrors .

    Also popular now: