Настройка быстрой сети DPDK для виртуальных машин

Настройка быстрой сети DPDK для виртуальных машин#

DPDK (Data Plane Development Kit) — это технология, которая позволяет уменьшить задержки при обработке сетевых пакетов и увеличить скорость передачи данных между приложением и сетью. При использовании DPDK приложение взаимодействует с сетевым устройством напрямую, то есть в обход ядра и его сетевого стека.

Кибер Инфраструктура поддерживает DPDK для физических вычислительных сетей и подключенных к ним виртуальных машин.

Ограничения

  • Горячая миграция виртуальных машин не поддерживается.

Предварительные требования

Настройка сети с поддержкой DPDK

  1. Проверьте, что вычислительные серверы подготовлены для поддержки быстрой сети DPDK для виртуальных машин. Для этого перейдите на экран Инфраструктура → Серверы и убедитесь, что серверы помечены тегом DPDK готов.

    Проверить готовность сервера также можно с помощью команды /usr/libexec/configure-dpdk.sh -r. Например:

    # /usr/libexec/configure-dpdk.sh -r
    <...>
    Check cmdline [OK]
    <...>
    

    Если сервер еще не подготовлен, выполните следующие действия:

    1. Проверьте совместимость сетевых интерфейсов с DPDK, выполнив команду /usr/libexec/configure-dpdk.sh -c -i <bridge_name>, где <bridge_name> — имя сетевого моста, который был добавлен при создании физической вычислительной сети для DPDK. Например:

      # /usr/libexec/configure-dpdk.sh -c -i br-oqoa66a
      enp129s0f1 DPDK compatibility [OK]
      enp129s0f1 NUMA support [OK]
      Load vfio-pci module [OK]
      

      Проверить совместимость всех сетевых интерфейсов сервера можно с помощью команды /usr/libexec/configure-dpdk.sh -n.

    2. Выполните команду /usr/libexec/configure-dpdk.sh -u -g и перезагрузите сервер.

  2. Активируйте поддержку DPDK для сетевых интерфейсов или объединений сетевых интерфейсов, которым назначена сеть инфраструктуры, предназначенная для DPDK:

    1. На экране Инфраструктура → Сети щелкните по имени сервера с тегом DPDK готов и перейдите на вкладку Сетевые интерфейсы.

    2. Щелкните по имени сетевого моста, который был создан для сетевого интерфейса или объединения сетевых интерфейсов при создании физической вычислительной сети.

      image1

    3. На правой панели нажмите Актировать DPDK. После активации сетевой мост будет помечен тегом DPDK.

      image2

      Также тегом DPDK будет помечен вычислительный сервер, у которого есть хотя бы одно сетевое устройство с активированной поддержкой DPDK.

      image3

    Для активации также можно использовать команду /usr/libexec/configure-dpdk.sh -e -a -i <bridge_name>, где <bridge_name> — имя сетевого моста.

  3. Укажите, какое количество больших страниц (hugepages) можно будет использовать на вычислительных серверах для виртуальных машин с поддержкой DPDK:

    1. На экране Вычисления → Серверы щелкните по имени вычислительного сервера, помеченного тегом DPDK.

    2. На правой панели нажмите Выделить большие страницы.

    3. Укажите количество больших страниц, приняв во внимание следующее:

      • Размер большой страницы составляет 1 ГБ.

      • Минимально допустимое количество определяется динамически и равно количеству уже выделенных виртуальным машинам больших страниц.

      • Максимально допустимое количество определяется динамически и равно количеству больших страниц, которые можно разместить в свободном объеме ОЗУ.

      • Фрагментация памяти может привести к понижению максимального значения, так как для размещения большой страницы требуется непрерывная область памяти.

    4. Нажмите Выделить.

  4. Создайте типы ВМ, в которых включена поддержка больших страниц. Подробные сведения см. в разделе Создание пользовательских типов виртуальных машин.

После завершения настройки можно создавать ВМ и подключать их сетевые интерфейсы к физической вычислительной сети, которая была настроена для DPDK. ВМ необходимо создавать на основе типов ВМ, в которых включена поддержка больших страниц.

Подключение существующей ВМ к быстрой сети DPDK

Чтобы подключить виртуальную машину к быстрой сети DPDK, которая была настроена после создания этой ВМ, выполните следующие действия:

  1. Остановите виртуальную машину.

  2. Назначьте ей тип ВМ, в котором включена поддержка больших страниц.

  3. Пересоздайте сетевой интерфейс ВМ, указав требуемую физическую вычислительную сеть с поддержкой DPDK.

  4. Запустите виртуальную машину.