Refactoring of the OpenVZ driver for the OpenNebula cloud platform within the JINR cloud infrastructure project
Authors: Korenkov Vladimir V , Kondratyev Andrey O 
Published: January 2025

This article explores the possibilities of using OpenVZ virtualization technology in the cloud infrastructure of the Joint Institute for Nuclear Research (JINR), built on the OpenNebula platform. OpenNebula is an open and extensible cloud platform allowing an easy automation of data centers operations. Simplicity of deployment and configuration of virtual machines without the help of specialists is the main advantage of the OpenNebula platform. Also, the main advantages of this cloud platform include the ability to dynamically change the size of the physical infrastructure by adding and removing nodes in real time and splitting the cluster into virtual partitions, which allows us to allocate only the necessary amount of resources for the operation of a certain service. OpenNebula provides a centralized interface for managing all elements of the infrastructure, both virtual and physical, and also has a high degree of utilization of available resources. Initially, OpenNebula does not support the OpenVZ virtualization technology, however its modular architecture allows using third-party drivers, in particular for OpenVZ. To deploy the virtualization technology within OpenNebula, a driver was developed by JINR and the Bogolyubov Institute of Theoretical Physics. The main advantage of OpenVZ virtualization technology is the ability to run multiple isolated copies of the operating system on a single physical server. The authors of this article had to refactor the code of the existing OpenVZ driver for the OpenNebula cloud platform. The work was done using the Ruby software environment. The results obtained are currently used in the JINR cloud infrastructure.
В данной статье рассматриваются возможности применения технологии виртуализации OpenVZ в облачной инфраструктуре Объединенного института ядерных исследований (ОИЯИ), построенной на платформе OpenNebula. OpenNebula – облачная платформа, представляющая собой открытый и расширяемый инструмент для автоматизации работы центров обработки данных. Эта платформа предоставляет возможность самостоятельного управления вычислительными ресурсами с использованием облачной инфраструктуры. Простота развертывания и настройки виртуальных машин без помощи специалистов является главным достоинством данной платформы. К основным достоинствам платформы OpenNebula можно отнести возможность динамически изменять размер физической инфраструктуры через добавление и удаление узлов в реальном времени и разбиение кластера на виртуальные разделы, что позволяет выделить только необходимый объем ресурсов для работы определенного сервиса. OpenNebula предоставляет централизованный интерфейс для управления всеми элементами инфраструктуры как виртуальными, так и физическими, а также имеет высокую степень задействования доступных ресурсов. Изначально, облачная платформа не имеет поддержки технологии виртуализации OpenVZ, однако её модульная архитектура позволяет использовать драйверы сторонних разработчиков, в частности для OpenVZ. Для развертывания технологии виртуализации в рамках OpenNebula использовался драйвер, разработанный ОИЯИ и Институтом теоретической физики имени Н. Н. Боголюбова. Основным преимуществом технологии виртуализации OpenVZ является возможность запуска множества изолированных копий операционной системы на одном физическом сервере. Перед авторами данной статьи была поставлена следующая задача: выполнить рефакторинг кода существующего драйвера OpenVZ для облачной платформы OpenNebula. Работа была выполнена в программной среде Ruby. Полученные результаты используются в облачной инфраструктуре ОИЯИ.