Глядя на заголовок статьи, так и хочется сказать словами героя Тома Круза: «Миссия импосибл». Но мы кое-что изучили и протестировали. В данной статье прошлись по верхам - т.е по самому необходимому для работы. И, да, в материале будут и шаблоны ВМ, и тонкие клоны, и свой VDI и DRS и многое другое, что мы рекомендовали бы протестировать. Но обо всем по порядку.  Ситуация на российском рынке импортозамещения ПО виртуализации довольно неоднозначная. Существует внушительный список производителей ПО, готовых заместить зарубежные продукты. Но при этом практически все они используют одни и те же программные решения. Основным компонентом ПО виртуализации является гипервизор. У VMware это ESXi, у Microsoft Hyper-v, у Red Hat это KVM.  Российское ПО виртуализации почти у всех производителей основано на гипервизоре KVM и API управления с помощью библиотеки Libvirt все компоненты. Вот только степень локализации, интеграции от производителя к производителю может быть разная. Очередным объектом изучения для нас стал продукт от АО НИИ «Масштаб» - Enterprise Cloud Platform Veil или ECP Veil. Корпоративная облачная платформа ЕСР VeiL от АО НИИ «Масштаб» разрабатывается с 2015 г. Актуальная версия на данный момент ЕСР VeiL 5.0.6. Производитель утверждает, что на базе виртуальных машин ЕСР VeiL могут функционировать практически все распространенные бизнес-приложения, включая межсетевые экраны, маршрутизаторы, IP-АТС, почтовые и прокси-серверы, корпоративные порталы, веб-сайты, ERP, CRM и системы документооборота. ECP Veil поддерживает до 11 различных пулов данных, как файловые, так и блочные.  Название Тип Документация Поддержка тонких клонов Особенности Ограничения local файловый, локальный Локальные пулы + размер блока 4096 байт доступность на 1 узле zfs файловый, локальный/сетевой ZFS пулы + снимки памяти zfs, размер блока 8192 байт, размер записи 131072 байт доступность на 1 узле nfs файловый, сетевой Файловые хранилища + - - gluster файловый, распределённый (гиперконвергентный) Кластерные транспорты + размер блока 8192 байт, размер записи 8192-1048576 байт минимум 2 сервера gfs2 файловый, сетевой Кластерные транспорты + размер блока 4096 байт минимум 2 сервера, крайне желательно наличие ipmi у каждого сервера перед созданием glusterfs файловый, сетевой Файловые хранилища + - - cifs файловый, сетевой Файловые хранилища + - - ocfs2 (Deprecated) файловый, сетевой Кластерные транспорты + - минимум 2 сервера lvm блочный, локальный LVM пулы данных - - нельзя хранить образы и файлы, а также делать снимки ВМ (то есть создавать тонкие клоны) thinlvm блочный, локальный LVM пулы данных - - нельзя хранить образы и файлы, а также делать снимки ВМ (то есть создавать тонкие клоны) lvm_shared блочный, сетевой LVM пулы данных - - нельзя хранить образы и файлы, а также делать снимки ВМ (то есть создавать тонкие клоны) outside файловый, сетевой Внешние пулы данных - только на чтение, создается поверх nfs, cifs, glusterfs сетевого хранилища нельзя ничего создавать ЕСР VeiL предназначена для создания облачной инфраструктуры на базе универсальных серверных платформ с архитектурой х86-64, позволяя централизованно управлять всей ИТ-инфраструктурой предприятия с помощью дружественного веб-интерфейса VeiL Ui™, который обеспечивает удобную и понятную визуализацию виртуального пространства и мониторинг загрузок всех подсистем (CPU, Mem, Disk, Network). Среди ключевых преимуществ корпоративной облачной платформы ECP VeiL разработчики отмечают: Возможность работы на серверах из реестра МПТ (YADRO, KRAFTWAY, AQUARIUS, РАМЭК-ВС, БУЛАТ). Выполнение требований регуляторов. Поддержку технологии GRID. Единый интерфейс управления, мониторинга и журналирования. ПО изделия внесено в единый реестр российских программ для электронных вычислительных машин и баз данных (ЕРРП). Наличие исходных кодов и документации в России. Локализованные в России инфраструктура разработки и сервисная поддержка. Русскоязычная документация и техподдержка. У ЕСР VeiL простая и понятная модель лицензирования. Лицензирование идет по хостам виртуализации. Отдельная лицензия необходима на контроллер, при этом если используется механизм репликации контроллера, то покупать еще одну лицензию не нужно. В экосистеме Veil есть также продукт, закрывающий потребности в виртуальных рабочих столах — это Veil VDI. Если вы до сегодняшнего дня вы жили в вакууме, то, наверное, пропустили скоропостижный исход VMware vSphere из отечественных широт. К сожалению «изошедшее» ПО приходится на что-то заменить, но это что-то должно иметь как минимум следующий набор функций: vMotion - это перемещение исполнения ВМ по гипервизорам. При этом текущая работоспособность ВМ сохраняется. Storage vMotion - тот же принцип что у vMotion,  только исполнимые файлы ВМ перемещаются между датасторами. High Availability - технология кластеризации, созданная для повышения доступности системы, и позволяющая, в случае выхода из строя одного из узлов гипервизора, перезапустить его виртуальные машины на других узлах автоматически, без участия администратора. Distributed Switch - распределенный виртуальный коммутатор, предоставляющий функции централизованного управления сетевой инфраструктурой через vCenter. Тестирование проводилось на трех хостах x86 c использованием вложенной виртуализации в конфигурации: 32 vCPU 64Гб ОЗУ 130Gb SDD + 300Gb SSD. ECP Veil состоит из Сontroller’a – это аналог vCenter у VMware, и Node – это аналог ESXi гипервизора. В минимальной конфигурации потребуется установить два сервера с ролью Node и один сервер с ролью Controller + Node.  Сам гипервизор основан на ОС Debian, поэтому проблем с установкой не возникает - размечаем диск, назначаем ip next, next, и попадаем в консоль гипервизора.  Для установки сервера управления достаточно при установке Node выбрать вариант Node+Controller.     Отличительной особенностью хостов виртуализации является то, что консолью можно управлять с помощью специального API. Заходим по IP адресу или доменному имени в web-панель управления Контроллера. Панель выглядит следующим образом: Интерфейс управления контроллера у ECP Veil не похож на уже знакомые всем open source продукты с измененной цветовой схемой и российской локализацией. Первым делом нужно добавить лицензии. Только после этого будет доступно добавление хостов в кластер. Добавляем наши хосты. Для развертывания отказоустойчивого кластера нам осталось настроить сетевое взаимодействие и организовать общее кластерное хранилище. В каждом сервере по одному линку 1 GB/s используется для сети хранения и сети управления. Добавляем виртуальный коммутатор. Назначаем его на каждую ноду.   После того как сеть настроена, приступаем к настройке кластерного хранилища. Если с FC, ISCSI и прочими внешними NFS более-менее понятно, то поддержка распределенного хранилища GlusterFS как раз подходит под нашу конфигурацию.    Если сравнивать GlusterFS с похожим решением SDS от VMware - то это vSAN который требует отдельных лицензий и накладывает определенные требования для дисков и контроллеров. Для начала добавляем наши внутренние диски 300gb в ZFS Pool. Создаем кластерный транспорт GlusterFS, добавляем наши ноды. Переходим в раздел тома и создаем новый том. Тип тома dispersed, подтверждаем наличие арбитра в томе, значение репликации - 2, добавляем наши диски ZFS, ждем окончания репликации. Итого из наших трех дисков по 300 Гб получилось 288.65 Гб полезной емкости. Далее разворачиваем виртуальные машины. Мы выбрали для тестирования дистрибутив ROSA Fresh Desktop 12.2. Для установки ОС в виртуальную машину необходимо закачать дистрибутив в раздел «Образы ISO». В разделе «Виртуальные машины» добавляем новую ВМ, назначаем количество CPU, ОЗУ, тип ОС, добавляем диск, монтируем ISO образ. Процесс установки ОС в виртуальную машину стандартный для любой платформы виртуализации. Консоль ВМ доступна по протоколу SPICE и VNC. Включаем режим высокой доступности в свойствах кластера по умолчанию, добавляем наши ноды. В итоге у нас имеется кластер высокой доступности из трех нод и общее дисковое хранилище. Можно переходить к тестированию. Тестируем vMotion - Выделяем нашу ВМ, проверяем, что консоль доступна, запускаем ping до IP адреса ВМ. Отправляем задание на миграцию на соседний хост виртуализации. ВМ с мигрировала за 53 секунды, не зависла и продолжила работать, были потери только одного ping. Неплохой результат. Аналогично тестируем Storage vMotion, мигрируя ту же ВМ в другой датастор. ВМ мигрировала уже за 1 минуту 43 секунды. ОС и приложения так же доступны, как и в предыдущем тесте. Тестируем High Availability – для этого смоделируем недоступность по сети одного из хостов на котором находится ВМ в режиме высокой доступности. Отключаем полностью сетевой интерфейс первой ноды. Естественно, ВМ стала недоступной, но при этом ошибки в кластере появились только спустя 30 секунд и запустилось задание на восстановление на другом хосте. ВМ восстановилась за 2 минуты 15 секунд с момента выключения сети, перезагрузкой. Напомним, что High Availability также перезагружает ВМ. Тест пройден, ВМ доступна. Количество попыток и интервал можно регулировать в настройках кластера. К сожалению, не такой богатый функционал как у vSphere – нет, например, отслеживания состояния сервиса внутри ВМ, но в данном случае высокая доступность отработала и защитила нашу ВМ от сбоя на одной из нод. Посмотрим, есть ли что-то похожее на Distributed Switch у ECP Veil. В разделе сети можно создавать виртуальные коммутаторы, настройки этих коммутаторов можно применять на хостах кластера нажав кнопку "Синхронизировать".  Есть также брандмауэр, QoS, зеркалирование портов, агрегация физических портов с поддержкой различных алгоритмов, визуальное отображение структуры сети. Субъективно ECP Veil вызывает приятные впечатления полноценного продукта, достойного сменщика VMware. При первом приближении явного отторжения ПО не вызывает, скорее наоборот, можно говорить о легкой симпатии. В целом нужно тестировать и примерять «новую шкурку» на себя и свой бизнес. Для тестирования вы можете получить бесплатную демо-версию: просто отправьте запрос на infra@syssoft.ru с пометкой “Хабр”.