
Last spring, we
explained why Virtuozzo is switching to an open development model and
what is the point of opening the source code of 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 in order tell about each of them.
Not technology, but a product!
')
When the OpenVZ project appeared, Linux kernels with our container virtualization patches and container management utilities were available for this project. We provided components from which a 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 turns out the server with the ability and container and hypervisor virtualization based on KVM / QEMU. For paid users, additional functionality is available, which can be installed by purchasing a license, while reinstalling is not required.
More integration options
The market is saturated with products and solutions for virtualization and no product is perfect and does not provide all the possible functionality. Understanding this, we have expanded the possibilities of integration OpenVZ. Since OpenVZ 7 inherited the architecture of commercial Virtuozzo, it became possible to use the Parallels API. Additionally, it is possible to integrate with LibVirt using a separate
virtuozzo driver . The driver allows you to manage OpenVZ containers and virtual machines using standard utilities virsh, virt-install,
GUI, the virt-manager shell, and
other applications integrated with LibVirt.
New functionality previously available only in commercial Virtuozzo
The memory management mechanism has been thoroughly reworked 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 OpenVZ users did not forget to update these templates on their servers. OpenVZ 7 adds the ability to use EZ templates for containers, which will make it easier to manage templates on OpenVZ servers. 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, articles lost relevance and were not updated. The new version is available full documentation on the site
docs.openvz.org , which is written by our documentation department. And the possibility of making changes to the OpenVZ documentation is still there - the source code is available in the
openvz-docs repository.
From other technical changes:
The Linux kernel is now based on the latest version of the Red Hat kernel -
RHEL 7 (the version corresponds to the 3.10+ kernel). The size of the patch compared to the cores of RHEL5, RHEL6 was significantly reduced, which was achieved through the active use of state-of-the-art 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 tools instead of using the freeze / defrost code of processes implemented in previous versions of vzkernel.
There is unpleasant news. Until now, in previous versions of OpenVZ and the commercial product Virtuozzo, vzctl was developed independently. In OpenVZ / Virtuozzo 7.0, it was decided to leave the version from a commercial product, so the compatibility of vzctl was broken. We recommend using the prlctl utility to manage containers and virtual machines. 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 .