Proxmox VE 8
Введение
Данное руководство описывает процесс создания виртуальной машины для использования ПО Пересвет-СТ в среде Proxmox VE 8. Рассматривается один вариант конфигурации:
- Без PCI Passthrough - с использованием виртуальных интерфейсов VirtIO (для тестирования)
Системные требования
Общие требования
- Платформа виртуализации Proxmox VE 8;
- Операционная система Ubuntu 22.04.2 LTS для виртуальной машины;
- Минимум 32 ГБ оперативной памяти для виртуальной машины;
- Не менее 16 физических ядер CPU Base Clock 2 GHz для виртуальной машины;
- Не менее 16 RX/TX очередей для сетевой карты;
- По умолчанию, многие виртуальные кластеры ВМ устанавливают 1 RX/TX очередь, что ограничивает производительность системы и позволяет ПО работать только на 1 ядре. Количество RX/TX очередей должно быть не меньше количества ядер ВМ.
- Не менее 64 ГБ размер свободного диска.
Ограничения
- При работе на ВМ ПО Пересвет-СТ имеет ряд ограничений:
- При генерации stateful-трафика, можно задействовать максимум 1 /24 IPv4-маску. Ограничений для stateless плагинов нет
- Общая производительность сильно снижена, особенно для stateful-флудов по сравнению с ПАК Пересвет-СТ
- Работа на ВМ рекомендуется для проведения функционального тестирования
- На момент настройки виртуального кластера, создания виртуальной машины и установки ПО Пересвет-СТ требуется доступ в интернет
- На данный момент поддерживается только режим включения ВМ без PCI Passthrough с использованием драйвера VIRTIO
Вариант без PCI Passthrough (VirtIO)
Производительность: До 5 Гбит/с (stateless UDP 1400 packet size)
Архитектура решения
В данной конфигурации используется следующая схема:
- eth0 - основной сетевой интерфейс для управления Proxmox
- eth1 - вторичный сетевой интерфейс
- vmbr0 - мост для внешней сети (публичный IP)
- vmbr1 - мост для внутренней сети (10.10.10.0/24)
Конфигурация без PCI Passthrough (VirtIO)
Настройка сетевого моста
Настройка внутренней сети
Отредактируйте файл /etc/network/interfaces:
nano /etc/network/interfaces
Убедитесь, что настроен мост vmbr1:
auto vmbr1
iface vmbr1 inet static
address 10.10.10.1/24
bridge-ports none
bridge-stp off
bridge-fd 0
Применение конфигурации
ifreload -a
Опционально: настройка NAT для внутренней сети
# Включение маршрутизации
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
# Добавление правила NAT
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o vmbr0 -j MASQUERADE
# Сохранение правил
apt install iptables-persistent -y
netfilter-persistent save
Создание виртуальной машины
Параметры ВМ
Создайте ВМ через веб-интерфейс Proxmox со следующими параметрами:
- General: Задайте имя ВМ
- OS: Выберите загруженный ISO Ubuntu
- System: Machine: q35, BIOS: OVMF (UEFI), EFI storage: local, Qemu Agent: поставьте галочку
- Disks: 64 ГБ или по необходимости
- CPU: Cores: 16, Type: host
- Memory: 32768 МБ
- Network: Bridge: vmbr1, Model: VirtIO (paravirtualized), Advanced: multiqueue равен кол-ву ядер ВМ (16)
Добавление второго сетевого интерфейса
Важно: Добавьте второй интерфейс ДО начала установки Ubuntu!
- После создания ВМ, но перед её запуском
- Выберите ВМ → Hardware → Add → Network Device
- Настройте Advanced: multiqueue равен кол-ву ядер ВМ (16)
- Настройки: Bridge: vmbr1, Model: VirtIO
- Нажмите Add
Установка Ubuntu
- Запустите ВМ и откройте консоль
- При настройке сети вы увидите два интерфейса: enp6s18 (первый VirtIO) и enp6s19 (второй VirtIO)
Настройка сети во время установки
Первый интерфейс (enp6s18) - управление:
- Method: Manual
- Subnet: 10.10.10.0/24
- Address: 10.10.10.101
- Gateway: 10.10.10.1
- Name servers: 8.8.8.8,8.8.4.4
Второй интерфейс (enp6s19) - для DPDK:
- Можно не настраивать, его впоследствии настроит сам Пересвет-СТ
Проверка после установки
# Проверка интерфейсов
ip a
# Проверка маршрутизации
ip route
Установка Пересвет-СТ
Скрипт автоматической установки
Скачайте и запустите заранее подготовленный Bash-скрипт. Он автоматически проверит требования к ВМ, установит пакеты ПО с нашего репозитория, установит docker и его образы, выделит Hugepages и уточнит требуемую конфигурацию ПО в терминале в режиме реального времени
Логин и пароль для скачивания архива выдается сопровождающим инсталляцию инженером
apt-get update && apt-get upgrade
wget --user='USER' --password='PASSWORD' \
https://downloads.peresvet.it/vm-pool/proxmox/st-compose.tar.gz
tar -xzvf st-compose.tar.gz
cd compose
chmod 777 install.sh
sudo ./install.sh
Если скрипт применен успешно - ПО будет установлено и сразу готово к работе, веб-интерфейс будет доступен на порту 8080 (по умолчанию), Grafana на порту 3000 (по умолчанию). По умолчанию логин и пароль от веб-интерфейса admin:admin.
Проверка доступности агентов
Убедитесь, что в списке агентов появился ваш агент-генератор, размещенный на той-же ВМ. В основном, появление агента занимает до 3 минут с момента завершения установочного скрипта
Активация лицензии
Для запуска задач агенту Пересвет-СТ необходима лицензия. Процесс активации состоит из двух шагов
Шаг 1. Получение HWID
Откройте вкладку "Агенты и сети" в левом меню. Вы увидите таблицу со списком агентов. В последней колонке "Действия" находятся две иконки: крестик и сертификат. Нажмите на иконку сертификата
В открывшемся окне найдите поле HWID и скопируйте данные из него. Эти данные нужно отправить инженеру, сопровождающему инсталляцию
Шаг 2. Загрузка лицензии
После отправки HWID инженер пришлет вам файл лицензии. Чтобы его загрузить, вернитесь к иконке сертификата (там же, где брали HWID). В открывшемся окне выберите вкладку "Загрузить лицензию" и загрузите полученный файл
После успешной загрузки лицензия будет активирована, и агент сможет выполнять созданные задачи
Устранение неполадок
Общие проблемы
Проблема: ВМ не получает IP по DHCP
Причина: На мосту vmbr1 нет DHCP-сервера.
Решение: Используйте статическую настройку IP (например, как описано в руководстве).
Проблема: Установка Ubuntu зависает на "curtin command in-target"
Причина: Медленное зеркало обновлений или проблемы с сетью.
Решение: Подождите 15-20 минут. Если процесс не продвигается, перезагрузите ВМ - система обычно загружается корректно.
Рекомендации по производительности
Для конфигурации с VirtIO
Оптимизация буферов: Увеличьте размеры буферов:
echo 'net.core.rmem_max=134217728' >> /etc/sysctl.conf
echo 'net.core.wmem_max=134217728' >> /etc/sysctl.conf
sysctl -p