Skip to main content

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!

  • После создания ВМ, но перед её запуском
  • Выберите ВМ → HardwareAddNetwork 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