Быстрый переход
ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ
«ЭРИКССОНСОФТ»
Эксплуатационная документация программного продукта
«Cloud Execution Environment CEE»
Правообладатель программы:
ООО «ЭрикссонСофт», ИНН 9718246399
Брянская обл., 2026
Оглавление
Введение
Настоящая эксплуатационная документация подготовлена для обеспечения эффективной и безопасной эксплуатации экземпляра программного обеспечения CEE (Cloud Execution Environment), предоставленного для проведения экспертной оценки.
CEE Hypervisor Manager (Cloud Execution Environment) представляет собой распределенную платформу для управления виртуализацией, предназначенную для развертывания и эксплуатации виртуальных машин в корпоративных средах и центрах обработки данных.
Система обеспечивает полный жизненный цикл виртуальных машин: создание, запуск, остановку, миграцию и удаление, а также предоставляет единый интерфейс управления для администраторов и пользователей инфраструктуры.
Документация описывает эксплуатацию системы в следующей типовой конфигурации:
Управляющие узлы (контроллеры)
Количество: 3 узла
Режим работы: активный/резервный (active/standby)
Распределение: один активный контроллер, два в горячем резерве
Функции: координация, балансировка, API-доступ, веб-интерфейс
Вычислительные узлы (compute nodes)
Количество: 3 узла
Гипервизор: KVM с управлением через libvirt
Хранилище: локальное на каждом узле
Сеть: общая сеть для миграции ВМ и доступа к образам
Данная конфигурация обеспечивает отказоустойчивость уровня управления и возможность балансировки нагрузки между вычислительными ресурсами.
Базовое ПО
Операционная система: Ubuntu Server 22.04 LTS / 24.04 LTS
Среда выполнения: Python 3.12 или выше
Гипервизор: KVM + QEMU
Управление виртуализацией: libvirt (6.0 или выше)
Компоненты CEE
Менеджер виртуальных машин (основное приложение)
Модуль управления образами
Модуль мониторинга состояния
API-шлюз для взаимодействия с клиентами
Контроллер (минимальные)
Процессор: 4 ядра x86_64
Оперативная память: 8 ГБ
Дисковое пространство: 50 ГБ
Сетевые интерфейсы: 1 Gbps
Контроллер (рекомендованные)
Процессор: 8 ядер x86_64
Оперативная память: 16 ГБ
Дисковое пространство: 100 ГБ (SSD)
Сетевые интерфейсы: 10 Gbps
Вычислительный узел (минимальные)
Процессор: 8 ядер x86_64 (с поддержкой аппаратной виртуализации)
Оперативная память: 32 ГБ
Дисковое пространство: 500 ГБ
Сетевые интерфейсы: 1 Gbps
Вычислительный узел (рекомендованные)
Процессор: 16+ ядер x86_64 (с поддержкой аппаратной виртуализации)
Оперативная память: 64+ ГБ
Дисковое пространство: 2+ ТБ (NVMe/SSD)
Сетевые интерфейсы: 10+ Gbps
Сеть | Назначение | Участники |
Management Network | Управление кластером, API-доступ | Контроллеры, администраторы |
Storage Network | Передача образов и снапшотов | Все узлы |
VM Network | Трафик виртуальных машин | Вычислительные узлы |
Migration Network | Живая миграция ВМ | Вычислительные узлы |
Management Network: 192.168.10.0/24
Контроллер-1: 192.168.10.10
Контроллер-2: 192.168.10.11
Контроллер-3: 192.168.10.12
Virtual IP (контроллеров): 192.168.10.100
Storage Network: 10.0.0.0/24
cmp-01: 10.0.0.1
cmp-02: 10.0.0.2
cmp-03: 10.0.0.3
VM Network: 172.16.0.0/12 (динамическая выдача адресов ВМ)
Migration Network: 192.168.20.0/24
cmp-01: 192.168.20.1
cmp-02: 192.168.20.2
cmp-03: 192.168.20.3
Администратор инфраструктуры
Управление вычислительными узлами
Настройка сети и хранилищ
Мониторинг работоспособности системы
Управление образами и шаблонами
Оператор виртуальных машин
Создание и удаление ВМ
Запуск и остановка ВМ
Управление снимками состояния
Миграция ВМ между узлами
Наблюдатель (мониторинг)
Просмотр состояния системы
Просмотр логов
Получение уведомлений о событиях
Контроллеры
Обработка API-запросов
Балансировка ВМ по вычислительным узлам
Координация миграции
Хранение метаданных о состоянии системы
Вычислительные узлы
Запуск и остановка ВМ
Выполнение команд гипервизора
Локальное хранение образов
Предоставление метрик использования ресурсов
Mock-режим (эмуляция)
Не требует реального гипервизора
Используется для тестирования и разработки
Все операции имитируются в памяти
Данные не сохраняются между перезапусками
KVM-режим (production)
Использует реальный гипервизор KVM
Требует установленного libvirt и настроенной виртуализации
Все операции выполняются с реальными ВМ
Состояние сохраняется в гипервизоре
Режим контроллера (controller)
Управляющая роль
Принимает запросы от клиентов
Координирует работу вычислительных узлов
Не выполняет ВМ на себе
Режим вычислительного узла (compute)
Исполнительная роль
Запускает виртуальные машины
Подчиняется командам контроллеров
Может работать независимо в аварийном режиме
Все API-запросы должны аутентифицироваться с использованием JWT-токенов
Разграничение доступа на основе ролей (RBAC)
Аудит всех действий с ВМ и конфигурацией
Шифрование трафика между компонентами (TLS)
Изоляция виртуальных машин друг от друга
Изоляция трафика управления от трафика ВМ
Разделение сетей по функциональному назначению
Ограничение доступа к API управления по IP-адресам
Разработчики используют систему для быстрого развертывания тестовых сред. Благодаря mock-режиму, тестирование может проводиться без выделения реальных аппаратных ресурсов.
В продуктивной среде система обеспечивает запуск критически важных приложений в виртуальных машинах с гарантированным уровнем доступности и возможностью живой миграции для обслуживания оборудования.
Система может использоваться в учебных целях для демонстрации принципов работы виртуализации и управления облачной инфраструктурой.
CEE Hypervisor Manager представляет собой распределенную систему управления виртуализацией, состоящую из трех контроллеров (управляющих узлов) и трех вычислительных узлов (compute nodes). Каждый компонент системы может функционировать независимо, обеспечивая отказоустойчивость и балансировку нагрузки.
Приложение предоставляет REST API и веб-интерфейс для управления виртуальными машинами и поддерживает два режима работы: с реальным гипервизором KVM через libvirt на вычислительных узлах и с эмуляцией (mock-режим) для тестирования.
Контроллеры (Controller Nodes)
Три управляющих узла обеспечивают:
Координацию работы вычислительных узлов
Балансировку нагрузки при создании ВМ
Отказоустойчивость при выходе из строя отдельных контроллеров
Единую точку доступа для API и веб-интерфейса
Вычислительные узлы (Compute Nodes)
Три узла, на которых непосредственно выполняются виртуальные машины:
Запуск гипервизора KVM
Исполнение команд от контроллеров
Локальное хранение образов ВМ
Мониторинг состояния ВМ
Клиент (браузер/API-клиент)
│
▼
┌─────────────────────────────────────┐
│ Контроллер-1 │ Контроллер-2 │ Контроллер-3 │
│ (Active) │ (Standby) │ (Standby) │
└─────────────────────────────────────┘
│ │ │
└───────────────┼───────────────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Compute-1 │ │ Compute-2 │ │ Compute-3 │
│ KVM/libvirt │ │ KVM/libvirt │ │ KVM/libvirt │
└─────────────┘ └─────────────┘ └─────────────┘
Каждый экземпляр приложения поддерживает следующие параметры командной строки:
--driver - драйвер виртуализации (mock или kvm)
--uri - URI подключения к libvirt (для драйвера kvm)
--port - порт для запуска HTTP-сервера
--mode - режим работы (controller или compute)
--controllers - список адресов контроллеров (для compute-узлов)
--node-id - уникальный идентификатор узла
Параметры также могут быть заданы через переменные окружения:
Контроллер-1 (основной)
bash
python main.py --mode controller --node-id ctrl-01 --port 8000 --driver mock
Контроллер-2 (резервный)
bash
python main.py --mode controller --node-id ctrl-02 --port 8001 --driver mock
Контроллер-3 (резервный)
bash
python main.py --mode controller --node-id ctrl-03 --port 8002 --driver mock
Вычислительный узел 1
bash
python main.py --mode compute --node-id cmp-01 \
--driver kvm --uri qemu:///system \
--controllers http://192.168.1.10:8000,http://192.168.1.11:8001,http://192.168.1.12:8002Вычислительный узел 2
bash
python main.py --mode compute --node-id cmp-02 \
--driver kvm --uri qemu:///system \
--controllers http://192.168.1.10:8000,http://192.168.1.11:8001,http://192.168.1.12:8002Вычислительный узел 3
bash
python main.py --mode compute --node-id cmp-03 \
--driver kvm --uri qemu:///system \
--controllers http://192.168.1.10:8000,http://192.168.1.11:8001,http://192.168.1.12:8002Пример unit-файла для контроллера (/etc/systemd/system/cee-controller.service)
[Unit]
Description=CEE Hypervisor Controller
After=network.target
[Service]
Type=simple
User=cee
Group=cee
Environment="CEE_MODE=controller"
Environment="CEE_NODE_ID=ctrl-01"
Environment="CEE_PORT=8000"
Environment="CEE_DRIVER=mock"
ExecStart=/usr/local/bin/python /opt/cee/main.pyRestart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
Пример unit-файла для вычислительного узла (/etc/systemd/system/cee-compute.service)
[Unit]
Description=CEE Hypervisor Compute Node
After=network.target libvirtd.service
Requires=libvirtd.service
[Service]
Type=simple
User=cee
Group=cee
Environment="CEE_MODE=compute"
Environment="CEE_NODE_ID=cmp-01"
Environment="CEE_DRIVER=kvm"
Environment="CEE_URI=qemu:///system"
Environment="CEE_CONTROLLERS=http://192.168.1.10:8000,http://192.168.1.11:8001,http://192.168.1.12:8002"
ExecStart=/usr/local/bin/python /opt/cee/main.pyRestart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
Получение списка ВМ
GET /api/v1/vms
Ответ содержит список всех виртуальных машин с указанием вычислительного узла, на котором они запущены.
Создание ВМ
POST /api/v1/vms
Content-Type: application/json
{"name": "vm-01",
"vcpus": 4,
"memory": 8192,
"image": "/var/lib/libvirt/images/ubuntu.qcow2",
"os_type": "linux",
"storage_gb": 50,
"autostart": true,
"preferred_node": "cmp-02"
}
Параметр preferred_node указывает предпочтительный вычислительный узел для размещения ВМ. Если не указан, контроллер выбирает узел автоматически на основе текущей нагрузки.
Удаление ВМ
DELETE /api/v1/vms/{vm_id}Запуск ВМ
POST /api/v1/vms/{vm_id}/startОстановка ВМ
POST /api/v1/vms/{vm_id}/stopМиграция ВМ
POST /api/v1/vms/{vm_id}/migrateContent-Type: application/json
{"target_node": "cmp-03"
}
Получение списка образов
GET /api/images
Возвращает список доступных образов на всех вычислительных узлах.
Загрузка образа
POST /api/upload-image
Content-Type: multipart/form-data
image: [файл]
Образ загружается на все вычислительные узлы или на указанный узел.
Удаление образа
DELETE /api/images/{filename}Клонирование образа
POST /api/clone-image
Content-Type: application/json
{"source": "ubuntu-base.qcow2",
"target": "ubuntu-clone.qcow2"
}
Статус системы
GET /api/status
Возвращает состояние всех компонентов системы, включая:
Статус каждого контроллера
Статус каждого вычислительного узла
Текущую нагрузку на узлах
Количество запущенных ВМ
Статус вычислительных узлов
GET /api/nodes
Информация о конкретном узле
GET /api/nodes/{node_id}При выходе из строя основного контроллера:
Резервные контроллеры обнаруживают потерю связи через механизм heartbeat
Один из резервных контроллеров автоматически становится основным
Вычислительные узлы переключаются на новый основной контроллер
Все операции с ВМ продолжаются без прерывания
При выходе из строя вычислительного узла:
Контроллеры обнаруживают потерю связи с узлом
Все ВМ, работавшие на отказавшем узле, помечаются как "аварийные"
Система пытается перезапустить ВМ на доступных узлах (при наличии общих образов)
Администратор получает уведомление о необходимости ручного вмешательства
При создании новых ВМ контроллер автоматически выбирает вычислительный узел на основе:
Текущей загрузки CPU на узлах
Доступной памяти
Свободного дискового пространства
Наличия требуемого образа
[global]
log_level = INFO
log_file = /var/log/cee/cee.log
[database]
host = localhost
port = 5432
name = cee
user = cee
password = secure_password
[controllers]
nodes = ctrl-01,ctrl-02,ctrl-03
vip = 192.168.1.100
port = 8000
[compute]
nodes = cmp-01,cmp-02,cmp-03
storage_path = /var/lib/libvirt/images
default_vcpus = 2
default_memory_mb = 4096
default_disk_gb = 20
[monitoring]
heartbeat_interval = 5
failure_threshold = 3
metrics_enabled = true
[libvirt]
uri = qemu:///system
auth_type = sasl
username = cee
password = secure_password
[api]
jwt_secret = your-256-bit-secret
token_expiry_hours = 24
bash
<em># </em><em>Логи</em><em> </em><em>контроллера</em>
journalctl -u cee-controller -f
<em># </em><em>Логи</em><em> </em><em>вычислительного</em><em> </em><em>узла</em>
journalctl -u cee-compute -f
<em># Логи всех компонентов</em>
tail -f /var/log/cee/*.logbash
<em># Статус всех сервисов</em>
systemctl status "cee-*"<em># Проверка через </em><em>API</em>
curl <a href="http://192.168.1.100:8000/api/status">http://192.168.1.100:8000/api/status</a> | jq .
<em># Проверка вычислительных узлов</em>
curl <a href="http://192.168.1.100:8000/api/nodes">http://192.168.1.100:8000/api/nodes</a> | jq .
bash
<em># На текущем основном контроллере</em>
systemctl stop cee-controller<em># На резервном контроллере (автоматическое переключение)</em>
<em># или принудительное переключение через API</em>
curl -X POST <a href="http://192.168.1.11:8001/api/admin/failover">http://192.168.1.11:8001/api/admin/failover</a>
bash
<em># На новом узле</em>
scp user@controller:/etc/cee/cee.conf /etc/cee/
scp user@controller:/etc/cee/credentials.conf /etc/cee/
systemctl enable --now cee-compute
<em># </em><em>На</em><em> </em><em>контроллере</em><em> (</em><em>регистрация</em><em> </em><em>узла</em><em>)</em>
curl -X POST <a href="http://192.168.1.100:8000/api/admin/register-node">http://192.168.1.100:8000/api/admin/register-node</a> \
-H "Content-Type: application/json" \ -d '{"node_id": "cmp-04", "address": "192.168.1.14"}'bash
#!/bin/bash
<em># /usr/local/bin/backup-cee-config.sh</em>
BACKUP_DIR="/backup/cee/config"
DATE=$(date +%Y%m%d)mkdir -p $BACKUP_DIR<em># Сохранение конфигурации</em>
tar -czf $BACKUP_DIR/cee-config-$DATE.tar.gz /etc/cee/<em># Сохранение информации о ВМ</em>
curl <a href="http://192.168.1.100:8000/api/v1/vms">http://192.168.1.100:8000/api/v1/vms</a> > $BACKUP_DIR/vms-$DATE.json
<em># </em><em>Сохранение</em><em> </em><em>метрик</em>
curl <a href="http://192.168.1.100:8000/api/status">http://192.168.1.100:8000/api/status</a> > $BACKUP_DIR/status-$DATE.json
bash
#!/bin/bash
<em># /usr/local/bin/backup-cee-images.sh</em>
BACKUP_DIR="/backup/cee/images"
DATE=$(date +%Y%m%d)for node in cmp-01 cmp-02 cmp-03; do
rsync -avz $node:/var/lib/libvirt/images/ $BACKUP_DIR/$node/$DATE/
done
bash
#!/bin/bash
<em># /usr/local/bin/restore-cee.sh</em>
BACKUP_DATE=$1BACKUP_DIR="/backup/cee"
<em># </em><em>Восстановление</em><em> </em><em>конфигурации</em>
tar -xzf $BACKUP_DIR/config/cee-config-$BACKUP_DATE.tar.gz -C /
<em># </em><em>Перезапуск</em><em> </em><em>сервисов</em>
systemctl restart cee-controllersystemctl restart cee-computeСистема использует единый конфигурационный файл в формате INI, расположенный по пути /etc/cee/cee.conf. При отсутствии файла используются значения по умолчанию или переменные окружения.
Пример полного конфигурационного файла:
[global]
node_id = ctrl-01
mode = controller
log_level = INFO
log_file = /var/log/cee/cee.log
pid_file = /var/run/cee/cee.pid
[api]
host = 0.0.0.0
port = 8000
workers = 4
ssl_enabled = false
ssl_cert = /etc/cee/ssl/cert.pem
ssl_key = /etc/cee/ssl/key.pem
cors_origins = *
[database]
type = sqlite
path = /var/lib/cee/cee.db
# для PostgreSQL:
# type = postgresql# host = localhost# port = 5432# name = cee# user = cee# password = secure_password[controllers]
enabled = true
nodes = ctrl-01,ctrl-02,ctrl-03
virtual_ip = 192.168.10.100
heartbeat_interval = 5
election_timeout = 30
[compute]
enabled = true
nodes = cmp-01,cmp-02,cmp-03
storage_path = /var/lib/libvirt/images
iso_path = /var/lib/libvirt/images/iso
default_vcpus = 2
default_memory_mb = 4096
default_disk_gb = 20
auto_balance = true
[libvirt]
uri = qemu:///system
auth_type = sasl
username = cee
secret_uuid = 12345678-1234-1234-1234-123456789012
connection_timeout = 30
max_connections = 10
[networks]
management = 192.168.10.0/24
storage = 10.0.0.0/24
migration = 192.168.20.0/24
vm_network = 172.16.0.0/12
vm_bridge = virbr0
[monitoring]
enabled = true
metrics_port = 9100
heartbeat_check = true
failure_threshold = 3
recovery_attempts = 5
alert_webhook = <a href="https://alerts.example.com/webhook">https://alerts.example.com/webhook</a>
[security]
jwt_secret = your-256-bit-secret-key-change-in-production
token_expiry_hours = 24
rbac_enabled = true
audit_log = /var/log/cee/audit.log
session_timeout = 3600
[storage]
shared_storage = false
nfs_server =
nfs_path =
image_cache_size_gb = 100
snapshot_retention_days = 7
backup_enabled = true
backup_path = /backup/cee
Чувствительные данные хранятся в отдельном файле /etc/cee/credentials.conf с ограниченным доступом (права 600).
[libvirt]
password = secure_libvirt_password
[api]
jwt_secret = your-256-bit-secret-key
admin_password = $2b$12$hashed_admin_password
[database]
password = database_password
[external]
grafana_api_key = eyJrIjoi...
prometheus_password = prom_pass
Все параметры конфигурации могут быть переопределены через переменные окружения с префиксом CEE_:
CEE_NODE_ID=cmp-01
CEE_MODE=compute
CEE_PORT=8000
CEE_DRIVER=kvm
CEE_URI=qemu:///system
CEE_CONTROLLERS=http://192.168.10.10:8000,http://192.168.10.11:8000
CEE_LOG_LEVEL=DEBUG
CEE_STORAGE_PATH=/mnt/cee-imagesНа активном контроллере (ctrl-01) настраиваются параметры кластера и виртуальный IP-адрес для обеспечения единой точки доступа.
[controllers]
enabled = true
nodes = ctrl-01,ctrl-02,ctrl-03
virtual_ip = 192.168.10.100
heartbeat_interval = 5
election_timeout = 30
Настройка виртуального IP через keepalived:
# /etc/keepalived/keepalived.conf
vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass ceecluster}
virtual_ipaddress { 192.168.10.100/24 dev eth0}
}
На резервных контроллерах (ctrl-02, ctrl-03) настройки аналогичны, за исключением приоритета в keepalived:
vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 90 # на втором контроллере priority 80 # на третьем контроллере advert_int 1 authentication { auth_type PASS auth_pass ceecluster}
virtual_ipaddress { 192.168.10.100/24 dev eth0}
}
На каждом вычислительном узле настраивается подключение к контроллерам и параметры локального хранилища.
[compute]
enabled = true
nodes = cmp-01,cmp-02,cmp-03
storage_path = /var/lib/libvirt/images
iso_path = /var/lib/libvirt/images/iso
default_vcpus = 2
default_memory_mb = 4096
auto_balance = true
[controllers]
enabled = false # узел не является контроллером
controller_list = http://192.168.10.100:8000,http://192.168.10.10:8000,http://192.168.10.11:8000
failover_priority = primary,secondary,tertiary
Проверка и настройка libvirt:
# Проверка статуса
systemctl status libvirtd# Настройка удаленного доступа (при необходимости)
sudo virsh net-list --all
sudo virsh net-start default
sudo virsh net-autostart default
# Настройка аутентификации
sudo nano /etc/libvirt/libvirtd.confРекомендуемые параметры libvirtd.conf:
listen_tls = 0
listen_tcp = 1
auth_tcp = "sasl"
tcp_port = "16509"
listen_addr = "0.0.0.0"
Создание директорий для образов:
sudo mkdir -p /var/lib/libvirt/images
sudo mkdir -p /var/lib/libvirt/images/iso
sudo chown -R root:libvirt /var/lib/libvirt/images
sudo chmod 775 /var/lib/libvirt/images
Настройка пулов хранения в libvirt:
# Создание пула для образов
sudo virsh pool-define-as images dir --target /var/lib/libvirt/images
sudo virsh pool-build images
sudo virsh pool-start images
sudo virsh pool-autostart images
# Создание пула для ISO
sudo virsh pool-define-as iso dir --target /var/lib/libvirt/images/iso
sudo virsh pool-build iso
sudo virsh pool-start iso
sudo virsh pool-autostart iso
Для удобства автоматизации все параметры могут быть заданы через переменные окружения. Система читает их при запуске и использует с наивысшим приоритетом.
# Базовые параметры
export CEE_MODE=compute
export CEE_NODE_ID=cmp-01
export CEE_PORT=8000
export CEE_DRIVER=kvm
export CEE_URI=qemu:///system
# Параметры кластера
export CEE_CONTROLLERS=http://192.168.10.100:8000
export CEE_HEARTBEAT_INTERVAL=5
export CEE_FAILURE_THRESHOLD=3
# Параметры хранилища
export CEE_STORAGE_PATH=/mnt/cee-large-storageexport CEE_IMAGE_CACHE_SIZE_GB=200
Для сервисов, управляемых через systemd, рекомендуется использовать файл окружения:
# /etc/cee/cee.env
CEE_MODE=compute
CEE_NODE_ID=cmp-01
CEE_PORT=8000
CEE_DRIVER=kvm
CEE_URI=qemu:///system
CEE_CONTROLLERS=http://192.168.10.100:8000
CEE_STORAGE_PATH=/var/lib/libvirt/imagesCEE_LOG_LEVEL=INFO
Подключение в unit-файле:
[Service]
EnvironmentFile=/etc/cee/cee.envExecStart=/usr/local/bin/python /opt/cee/main.pyСистема предоставляет API для просмотра и изменения конфигурации на лету (требует прав администратора).
Просмотр текущей конфигурации:
curl -X GET <a href="http://192.168.10.100:8000/api/admin/config">http://192.168.10.100:8000/api/admin/config</a>
Изменение параметра:
curl -X POST <a href="http://192.168.10.100:8000/api/admin/config">http://192.168.10.100:8000/api/admin/config</a> \
-H "Content-Type: application/json" \ -d '{"key": "monitoring.failure_threshold", "value": 5}'Перезагрузка конфигурации без остановки сервиса:
curl -X POST <a href="http://192.168.10.100:8000/api/admin/config/reload">http://192.168.10.100:8000/api/admin/config/reload</a>
Изменения конфигурации применяются следующим образом:
Критические параметры (порт, режим работы) требуют перезапуска сервиса
Некритические параметры (логирование, пороги мониторинга) применяются без перезапуска
Параметры безопасности требуют подтверждения и логируются в аудит
Система выполняет автоматическую проверку конфигурации при запуске:
# Ручная проверка конфигурации
python main.py --validate-config --config /etc/cee/cee.conf
Проверка доступности libvirt:
python main.py --check-libvirt --uri qemu:///system
Проверка подключения к контроллерам (на compute-узле):
python main.py --check-controllers
Проверка прав доступа к хранилищу:
python main.py --check-storage --path /var/lib/libvirt/images
[global]
node_id = dev-01
mode = controller
log_level = DEBUG
[api]
port = 8000
[database]
type = sqlite
path = ./cee-dev.db
[compute]
enabled = true
storage_path = ./images
default_vcpus = 2
default_memory_mb = 2048
[libvirt]
uri = qemu:///session # для пользовательского режима
[monitoring]
enabled = false
[global]
node_id = ctrl-01
mode = controller
log_level = INFO
log_file = /var/log/cee/cee.log
[api]
port = 8000
workers = 8
ssl_enabled = true
[database]
type = postgresql
host = postgres-01
port = 5432
name = cee_prod
user = cee_app
[controllers]
nodes = ctrl-01,ctrl-02,ctrl-03
virtual_ip = 192.168.10.100
[compute]
nodes = cmp-01,cmp-02,cmp-03
storage_path = /var/lib/libvirt/images
auto_balance = true
[monitoring]
enabled = true
metrics_port = 9100
alert_webhook = <a href="https://alerts.company.com/cee">https://alerts.company.com/cee</a>
[security]
rbac_enabled = true
audit_log = /var/log/cee/audit.log
[global]
node_id = cmp-standalone
mode = compute
log_level = INFO
[compute]
enabled = true
storage_path = /data/cee/images
iso_path = /data/cee/iso
default_vcpus = 4
default_memory_mb = 8192
[controllers]
enabled = false
controller_list = <a href="http://192.168.10.100:8000">http://192.168.10.100:8000</a>
[libvirt]
uri = qemu:///system
[storage]
shared_storage = true
nfs_server = 192.168.10.200
nfs_path = /exports/cee-images
Информация
Адрес
242504
Брянская область
Карачевский район, Вишневка
Молодёжная улица, 33
Быстрый переход
Информация
Отдел продаж
+7 (953) 284-42-23
sales@ericssonsoftware.ru
Адрес
242504
Брянская область,
Карачевский район,
Вишневка, Молодёжная улица, 33