ЭрикссонСофт

+7 (953) 284-42-23

ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ

«ЭРИКССОНСОФТ»

 Документация по установке экземпляра программного продукта

«Cloud Execution Environment CEE»

Правообладатель программы:

ООО «ЭрикссонСофт», ИНН 9718246399

Брянская обл., 2026

Оглавление

Введение

Настоящий документ содержит инструкцию по установке экземпляра программного продукта CEE Hypervisor (Cloud Execution Environment). Инструкция предназначена для администраторов и специалистов, выполняющих развертывание системы на целевых серверах.

Документ описывает два варианта установки:

Установка из готового исполняемого файла — наиболее простой и быстрый способ, при котором система поставляется в виде собранного бинарного файла для конкретной операционной системы. Этот вариант не требует установки зависимостей разработки и компиляции исходного кода.

Установка из исходного кода — способ, требующий клонирования репозитория, установки окружения разработки и сборки компонентов. Этот вариант предоставляет больше возможностей для настройки и модификации системы, а также позволяет развернуть систему на операционных системах, для которых не подготовлены готовые сборки.

Выбор варианта установки зависит от конкретных задач, требований к среде эксплуатации и наличия необходимых навыков у администратора.

Перед установкой CEE Hypervisor необходимо убедиться, что целевые серверы соответствуют минимальным аппаратным и программным требованиям.

Минимальные требования для контроллера:

процессор: 4 ядра x86_64 с поддержкой аппаратной виртуализации

оперативная память: 8 ГБ

дисковое пространство: 50 ГБ

сетевые интерфейсы: 1 Gbps

операционная система: Ubuntu Server 22.04 LTS или 24.04 LTS

Рекомендованные требования для контроллера:

процессор: 8 ядер x86_64

оперативная память: 16 ГБ

дисковое пространство: 100 ГБ SSD

сетевые интерфейсы: 10 Gbps

Минимальные требования для вычислительного узла:

процессор: 8 ядер x86_64 с поддержкой аппаратной виртуализации (Intel VT-x / AMD-V)

оперативная память: 32 ГБ

дисковое пространство: 500 ГБ

сетевые интерфейсы: 1 Gbps

Рекомендованные требования для вычислительного узла:

процессор: 16+ ядер x86_64

оперативная память: 64+ ГБ

дисковое пространство: 2+ ТБ NVMe/SSD

сетевые интерфейсы: 10+ Gbps

CEE Hypervisor официально поддерживает следующие операционные системы:

Ubuntu Server 22.04 LTS (рекомендуется для контроллеров)

Ubuntu Server 24.04 LTS

Debian 12 (Bookworm)

Для вычислительных узлов обязательным требованием является наличие поддержки KVM и возможность установки пакетов libvirt.

На вычислительных узлах перед установкой необходимо убедиться, что процессор поддерживает аппаратную виртуализацию и она включена в BIOS:

bash

<em># Проверка поддержки виртуализации</em>
egrep -c '(vmx|svm)' /proc/cpuinfo
 
<em># Если результат больше 0, виртуализация поддерживается</em>
 
<em># Проверка, загружены ли модули KVM</em>
lsmod | grep kvm
 
<em># Должны быть видны модули kvm, kvm_intel или kvm_amd</em>

Для установки и настройки CEE Hypervisor требуются права суперпользователя (root) или возможность выполнять команды через sudo. Убедитесь, что у вас есть соответствующие привилегии:

bash

sudo whoami
<em># Должно вернуть "root"</em>


Готовые исполняемые файлы CEE Hypervisor доступны на странице релизов проекта:

text

<a href="https://github.com/[owner]/CEE/releases">https://github.com/[owner]/CEE/releases</a>

На странице релизов представлены сборки для различных операционных систем:

  • CEE_Hypervisor-x64.exe — для Windows 10/11 (64-bit)
  • CEE_Hypervisor-x64.dmg — для macOS (Intel)
  • CEE_Hypervisor-arm64.dmg — для macOS (Apple Silicon)
  • CEE_Hypervisor-x64.AppImage — для Linux (64-bit)
  • CEE_Hypervisor-x64.deb — для Debian/Ubuntu

Выберите подходящую сборку для вашей операционной системы и загрузите файл.

Установка через .deb пакет (Ubuntu/Debian):

bash

<em># Загрузка пакета</em>
wget <a href="https://github.com/[owner]/CEE/releases/download/v2.0.0/CEE_Hypervisor-x64.deb">https://github.com/[owner]/CEE/releases/download/v2.0.0/CEE_Hypervisor-x64.deb</a>
 
<em># </em><em>Установка</em><em> </em><em>пакета</em>
sudo dpkg -i CEE_Hypervisor-x64.deb
 
<em># Если возникнут проблемы с зависимостями, выполните:</em>
sudo apt --fix-broken install

Использование AppImage (любой дистрибутив Linux):

bash

<em># </em><em>Загрузка</em><em> AppImage</em>
wget <a href="https://github.com/[owner]/CEE/releases/download/v2.0.0/CEE_Hypervisor-x64.AppImage">https://github.com/[owner]/CEE/releases/download/v2.0.0/CEE_Hypervisor-x64.AppImage</a>
 
<em># Добавление прав на выполнение</em>
chmod +x CEE_Hypervisor-x64.AppImage
 
<em># </em><em>Запуск</em><em> </em><em>приложения</em>
./CEE_Hypervisor-x64.AppImage

Загрузите файл CEE_Hypervisor-x64.exe со страницы релизов

Запустите загруженный файл

При появлении предупреждения системы безопасности нажмите "Подробнее" и выберите "Выполнить в любом случае"

Следуйте инструкциям мастера установки:

выберите язык установки

примите лицензионное соглашение

выберите папку для установки

выберите компоненты для установки (рекомендуется оставить все)

дождитесь завершения установки

После завершения установки запустите CEE Hypervisor через ярлык на рабочем столе или в меню "Пуск"

Загрузите подходящий .dmg файл для вашего процессора (Intel или Apple Silicon)

Откройте загруженный .dmg файл

Перетащите значок CEE Hypervisor в папку "Applications"

При первом запуске может появиться предупреждение системы безопасности. Для обхода:

откройте "Системные настройки" → "Конфиденциальность и безопасность"

в разделе "Безопасность" нажмите "Открыть все равно" для CEE Hypervisor

Запустите CEE Hypervisor из папки "Applications"

После установки выполните проверку работоспособности:

bash

<em># </em><em>Для</em><em> Linux/macOS</em>
cee-hypervisor --version
 
<em># Для Windows (в командной строке)</em>
CEE_Hypervisor.exe --version

Ожидаемый вывод: CEE Hypervisor version 2.0.0

Для клонирования репозитория необходимо установить Git:

Ubuntu/Debian:

bash

sudo apt update
sudo apt install git -y

Проверка установки Git:

bash

git --version

CEE Hypervisor требует Python версии 3.12 или выше.

Ubuntu 22.04 / 24.04:

bash

<em># Добавление репозитория deadsnakes (для Ubuntu 22.04)</em>
sudo apt update
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa -y
sudo apt update
 
<em># </em><em>Установка</em><em> Python 3.12</em>
sudo apt install python3.12 python3.12-venv python3.12-dev -y
 
<em># </em><em>Установка</em><em> pip</em>
sudo apt install python3-pip -y
python3.12 -m ensurepip --upgrade

Debian 12:

bash

<em># Debian 12 уже включает Python 3.11, требуется добавление backports</em>
sudo apt update
sudo apt install -y wget build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev curl \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
 
<em># Сборка Python 3.12 из исходников</em>
wget <a href="https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz">https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz</a>
tar -xf Python-3.12.0.tgz
cd Python-3.12.0
./configure --enable-optimizations
make -j$(nproc)
sudo make altinstall

Проверка установки Python:

bash

python3.12 --version
<em># </em><em>Ожидаемый</em><em> </em><em>вывод</em><em>: Python 3.12.x</em>

Для работы с libvirt и KVM требуются дополнительные системные пакеты.

Ubuntu/Debian:

bash

<em># Установка пакетов виртуализации</em>
sudo apt install -y libvirt-dev libvirt-daemon-system libvirt-clients
sudo apt install -y qemu-kvm qemu-utils qemu-system-x86
sudo apt install -y virt-manager  <em># опционально, для администрирования</em>
 
<em># Установка дополнительных зависимостей для сборки</em>
sudo apt install -y build-essential pkg-config
sudo apt install -y libssl-dev libffi-dev

После установки пакетов необходимо настроить и запустить сервисы:

bash

<em># Запуск и включение службы libvirtd</em>
sudo systemctl enable libvirtd
sudo systemctl start libvirtd
 
<em># </em><em>Проверка</em><em> </em><em>статуса</em>
sudo systemctl status libvirtd
 
<em># Добавление пользователя в группу libvirt (для доступа без sudo)</em>
sudo usermod -aG libvirt $USER
 
<em># Выход и повторный вход для применения изменений</em>
<em># Или выполните: newgrp libvirt</em>
 
<em># Проверка работы libvirt</em>
virsh list --all

Настройка сетевого моста по умолчанию:

bash

<em># Проверка существующих сетей</em>
sudo virsh net-list --all
 
<em># Запуск сети по умолчанию (если не запущена)</em>
sudo virsh net-start default
sudo virsh net-autostart default
 
<em># </em><em>Просмотр</em><em> </em><em>конфигурации</em><em> </em><em>сети</em>
sudo virsh net-dumpxml default

bash

<em># Клонирование репозитория</em>
git clone <a href="https://github.com/[owner]/CEE.git">https://github.com/[owner]/CEE.git</a>
cd CEE
 
<em># Просмотр доступных веток (опционально)</em>
git branch -a
 
<em># Переключение на нужную версию </em><em>(</em><em>например</em><em>, </em><em>для</em><em> production)</em>
git checkout v2.0.0

bash

<em># Создание виртуального окружения</em>
python3.12 -m venv venv
 
<em># Активация виртуального окружения</em>
source venv/bin/activate  <em># </em><em>для</em><em> Linux/macOS</em>
<em># </em><em>или</em>
venv\Scripts\activate  <em># </em><em>для</em><em> Windows</em>
 
<em># Обновление pip в виртуальном окружении</em>
pip install --upgrade pip

bash

<em># Установка основных зависимостей</em>
pip install -r requirements.txt
 
<em># Установка зависимостей для разработки (опционально)</em>
pip install -r requirements-dev.txt
 
<em># Установка дополнительных пакетов, если не указаны в requirements</em>
pip install fastapi uvicorn python-multipart
pip install openstacksdk python-openstackclient
pip install libvirt-python

bash

<em># Копирование примера конфигурации</em>
cp .env.example .env
 
<em># Редактирование файла конфигурации</em>
nano .env

Минимальная конфигурация для запуска:

<em># </em><em>Режим</em><em> </em><em>работы</em><em> (controller, compute)</em>
CEE_MODE=controller
 
<em># </em><em>Идентификатор</em><em> </em><em>узла</em>
CEE_NODE_ID=node-01
 
<em># </em><em>Порт</em><em> </em><em>для</em><em> API</em>
CEE_PORT=8000
 
<em># </em><em>Драйвер</em><em> (kvm </em><em>или</em><em> mock)</em>
CEE_DRIVER=mock
 
<em># URI </em><em>для</em><em> libvirt (</em><em>для</em><em> kvm </em><em>драйвера</em><em>)</em>
CEE_URI=qemu:///system
 
<em># Строка подключения к базе данных</em>
DATABASE_URL=sqlite:///./cee.db
 
<em># Секретный ключ для JWT</em>
SECRET_KEY=your-secret-key-change-in-production

bash

<em># Применение миграций (если используется Alembic)</em>
alembic upgrade head
 
<em># Или создание базы данных вручную (для SQLite)</em>
<em># База создастся автоматически при первом запуске</em>

bash

<em># Запуск в режиме разработки</em>
python main.py
 
<em># Запуск с указанием параметров</em>
python main.py --driver kvm --uri qemu:///system --port 8000
 
<em># Запуск с использованием переменных окружения</em>
export CEE_DRIVER=kvm
export CEE_URI=qemu:///system
export CEE_PORT=8000
python main.py

Для production-режима рекомендуется использовать uvicorn:

bash

<em># Установка uvicorn, если не установлен</em>
pip install uvicorn
 
<em># </em><em>Запуск</em><em> </em><em>через</em><em> uvicorn</em>
uvicorn main:app --host 0.0.0.0 --port 8000 --workers 4

Если требуется собрать Electron-приложение из исходников:

bash

<em># Переход в директорию фронтенда</em>
cd frontend
 
<em># Установка зависимостей Node.js</em>
npm install
 
<em># </em><em>Сборка</em><em> React-</em><em>приложения</em>
npm run build
 
<em># </em><em>Сборка</em><em> Electron-</em><em>приложения</em>
npm run electron:build
 
<em># Готовые сборки будут в директории dist/</em>

Для production-развертывания рекомендуется настроить автозапуск через systemd:

Создание unit-файла /etc/systemd/system/cee.service:

text

[Unit]
Description=CEE Hypervisor Service
After=network.target libvirtd.service
Requires=libvirtd.service
 
[Service]
Type=simple
User=cee
Group=cee
WorkingDirectory=/opt/cee
Environment="PATH=/opt/cee/venv/bin"
EnvironmentFile=/etc/cee/cee.env
ExecStart=/opt/cee/venv/bin/python /opt/cee/main.py
Restart=always
RestartSec=10
 
[Install]
WantedBy=multi-user.target

Активация сервиса:

bash

<em># Создание пользователя для сервиса</em>
sudo useradd -r -s /bin/false cee
 
<em># Настройка прав на директории</em>
sudo mkdir -p /opt/cee
sudo chown -R cee:cee /opt/cee
sudo mkdir -p /var/log/cee
sudo chown -R cee:cee /var/log/cee
 
<em># Копирование файлов приложения</em>
sudo cp -r * /opt/cee/
 
<em># Установка прав на выполнение</em>
sudo chmod +x /opt/cee/main.py
 
<em># Перезагрузка systemd и запуск сервиса</em>
sudo systemctl daemon-reload
sudo systemctl enable cee.service
sudo systemctl start cee.service
 
<em># </em><em>Проверка</em><em> </em><em>статуса</em>
sudo systemctl status cee.service

После запуска проверьте доступность API:

bash

<em># Проверка статуса</em>
curl <a href="http://localhost:8000/api/status">http://localhost:8000/api/status</a>
 
<em># </em><em>Ожидаемый</em><em> </em><em>ответ</em><em>:</em>
{"status":"ok","driver":"kvm"}
 
<em># Проверка документации API</em>
<em># Откройте в браузере: </em><a href="http://localhost:8000/docs"><em></em></a><em><a href="http://localhost:8000/docs">http://localhost:8000/docs</a></em>


Для кластерной конфигурации на каждом узле контроллера необходимо создать инфраструктурные виртуальные машины (infra-ВМ). Эти ВМ создаются до запуска основных сервисов CEE.

Подготовка скрипта развертывания infra-ВМ:

bash

#!/bin/bash
<em># deploy-infra-vm.sh</em>
 
VM_NAME="cee-infra-ctrl-01"
VM_CPU=4
VM_RAM=8192
VM_DISK=50
VM_BRIDGE="br-mgmt"
ISO_PATH="/var/lib/libvirt/images/ubuntu-22.04-server.iso"
 
<em># </em><em>Создание</em><em> </em><em>диска</em>
sudo qemu-img create -f qcow2 /var/lib/libvirt/images/${VM_NAME}.qcow2 ${VM_DISK}G
 
<em># </em><em>Установка</em><em> </em><em>ВМ</em>
sudo virt-install \
  --name ${VM_NAME} \
  --vcpus ${VM_CPU} \
  --memory ${VM_RAM} \
  --disk path=/var/lib/libvirt/images/${VM_NAME}.qcow2,format=qcow2 \
  --network bridge=${VM_BRIDGE} \
  --cdrom ${ISO_PATH} \
  --os-variant ubuntu22.04 \
  --graphics vnc \
  --autostart

4.2. Установка HAProxy на infra-ВМ

После развертывания infra-ВМ на них устанавливается и настраивается HAProxy:

bash

<em># Подключение к infra-ВМ</em>
ssh ubuntu@192.168.10.100
 
<em># Установка HAProxy</em>
sudo apt update
sudo apt install haproxy -y
 
<em># </em><em>Настройка</em><em> HAProxy</em>
sudo nano /etc/haproxy/haproxy.cfg

На каждом вычислительном узле повторите шаги разделов 3.1-3.7, 3.10, установив режим работы compute:

bash

<em># Настройка режима compute в .env</em>
CEE_MODE=compute
CEE_NODE_ID=cmp-01
CEE_CONTROLLERS=http://192.168.10.100:8000,http://192.168.10.101:8000,http://192.168.10.102:8000

bash

<em># Проверка версии</em>
cee-hypervisor --version
 
<em># Проверка статуса сервиса</em>
sudo systemctl status cee.service
 
<em># </em><em>Проверка</em><em> </em><em>логов</em>
sudo journalctl -u cee.service -f

bash

<em># Проверка доступности libvirt</em>
virsh list --all
 
<em># </em><em>Проверка</em><em> </em><em>сетей</em>
virsh net-list --all
 
<em># Проверка пулов хранения</em>
virsh pool-list --all

Проблема: libvirt-python не устанавливается

Решение:

bash

<em># Установка системных зависимостей</em>
sudo apt install libvirt-dev pkg-config
<em># </em><em>или</em>
sudo dnf install libvirt-devel
 
<em># Повторная установка</em>
pip install libvirt-python

Проблема: Нет прав доступа к libvirt

Решение:

bash

<em># Добавление пользователя в группу libvirt</em>
sudo usermod -aG libvirt $USER
newgrp libvirt

Проблема: Порт 8000 уже занят

Решение:

bash

<em># Изменение порта в конфигурации</em>
CEE_PORT=8001
 
<em># Или остановка процесса, занимающего порт</em>
sudo lsof -i :8000
sudo kill -9 <PID>

Проблема: База данных не инициализируется

Решение:

bash

<em># Проверка прав на директорию</em>
sudo mkdir -p /var/lib/cee
sudo chown -R $USER:$USER /var/lib/cee
 
<em># Ручная инициализация</em>
alembic upgrade head

Логи CEE Hypervisor по умолчанию сохраняются в:

при запуске через systemd: journalctl -u cee.service

при запуске вручную: в консоли или в файле, указанном в конфигурации

логи аудита: /var/log/cee/audit.log

Linux (DEB):

bash

<em># Загрузка новой версии</em>
wget <a href="https://github.com/[owner]/CEE/releases/download/v2.1.0/CEE_Hypervisor-x64.deb">https://github.com/[owner]/CEE/releases/download/v2.1.0/CEE_Hypervisor-x64.deb</a>
 
<em># </em><em>Обновление</em>
sudo dpkg -i CEE_Hypervisor-x64.deb

Linux (RPM):

bash

sudo rpm -Uvh CEE_Hypervisor-x64.rpm

bash

<em># Переход в директорию проекта</em>
cd CEE
 
<em># Получение последних изменений</em>
git pull origin main
 
<em># Активация виртуального окружения</em>
source venv/bin/activate
 
<em># </em><em>Обновление</em><em> </em><em>зависимостей</em>
pip install --upgrade -r requirements.txt
 
<em># Применение миграций базы данных</em>
alembic upgrade head
 
<em># </em><em>Перезапуск</em><em> </em><em>сервиса</em>
sudo systemctl restart cee.service

Ubuntu/Debian:

bash

sudo dpkg -r cee-hypervisor

bash

<em># </em><em>Остановка</em><em> </em><em>сервиса</em>
sudo systemctl stop cee.service
sudo systemctl disable cee.service
 
<em># </em><em>Удаление</em><em> unit-</em><em>файла</em>
sudo rm /etc/systemd/system/cee.service
 
<em># Удаление файлов приложения</em>
sudo rm -rf /opt/cee
 
<em># Удаление базы данных и логов</em>
sudo rm -rf /var/lib/cee
sudo rm -rf /var/log/cee
 
<em># Удаление конфигурации</em>
sudo rm -rf /etc/cee
 
<em># Удаление пользователя</em>
sudo userdel -r cee

Перед удалением системы рекомендуется удалить все виртуальные машины, созданные через CEE:

bash

<em># Получение списка ВМ</em>
virsh list --all
 
<em># </em><em>Удаление</em><em> </em><em>каждой</em><em> </em><em>ВМ</em>
virsh destroy <vm-name>
virsh undefine <vm-name> --remove-all-storage

Отдел продаж

+7 (953) 284-42-23

sales@ericssonsoftware.ru

Мы в соц.сетях

Информация

Адрес

242504
Брянская область
Карачевский район, Вишневка
Молодёжная улица, 33

Информация

Отдел продаж

+7 (953) 284-42-23

sales@ericssonsoftware.ru

Адрес

242504
Брянская область,
Карачевский район,
Вишневка, Молодёжная улица, 33