Обзор iKOOLCORE R2 Max – Часть 2: 10GbE на мини-ПК с Intel N100 с OpenWrt (QWRT), Proxmox VE, Ubuntu 24.04 и pfSense 2.7.2

Аппаратная часть iKOOLCORE R2 Max уже была рассмотрена в первой части обзора , включая распаковку и разбор системы на базе Intel N100 с двумя портами 10GbE и двумя портами 2.5GbE. Теперь, после дополнительного тестирования с форком OpenWrt, Proxmox VE, Ubuntu 24.04 и pfSense, представлен опыт использования во второй заключительной части обзора.

Напомним: из-за отсутствия оборудования 10GbE, iKOOLCORE предоставил две модели R2 Max – пассивного охлаждения и с активным охлаждением. Ожидалось, что пассивная модель использует SoC Intel N100, а активная – процессор Intel Core i3-N305, но в итоге получены два устройства с Intel N100. Модель без вентилятора будет использоваться как сервер на OpenWrt 23.05 (QWRT), а вариант с активным охлаждением – как тестируемое устройство/клиент с платформой виртуализации Proxmox VE 8.3, запускающей виртуальные машины Ubuntu 24.04 и pfSense 24.11.

Обзор достаточно объемный, поэтому основные разделы:

Установка и настройка OpenWrt (QRWT) на iKOOLCORE R2 Max

Стандартная OpenWrt не содержит драйверов для сетевой карты AQC113C-B1-C 10GbE, поэтому IKOOLCORE подготовил образ «OpenWrt 23.05», точнее, образ на базе форка QWRT со всеми необходимыми драйверами. Конфигурация предусматривает WAN-порт на разъеме 2.5GbE (как показано на фото ниже), а второй порт 2.5GbE и два порта 10GbE работают в LAN с подсетью 192.168.1.0 и включенным DHCP-сервером.

iKOOLCORE R2 Max OpenWrt LAN WAN Ports

Для подключения к интернету WAN-порт соединен с коммутатором 2.5GbE, а правый порт 10GbE LAN подключен к ноутбуку для доступа к веб-интерфейсу. Дополнительно подключен HDMI-монитор для отслеживания предупреждений и ошибок.

Загружен образ QWRT-R24.11.18-x86-64-generic-squashfs-combined-efi.img.gz и записан на USB-накопитель:

После подключения флеш-накопителя к порту USB 3.0 iKOOLCORE R2 Max и подачи питания началась загрузка. Процесс занял некоторое время, после чего на мониторе появились сообщения.

iKOOLCORE R2 Max OpenWrt Instllation USB flash drive

Из-за использования IP 192.168.1.1 в основном роутере, WAN-порт временно отключен для настройки OpenWrt/QWRT через веб-интерфейс LuCI по адресу http://192.168.1.1. Имя пользователя по умолчанию – «root», пароль – «Password».

iKOOLCORE R2 Max OpenWrt Login

Настройка прошла успешно, но навигация затруднена без знания китайского языка.

QRT Luci Dashboard Chinese

Для переключения на английский: перейти в «系统», выбрать вкладку «语言和界面», затем в выпадающем списке «语言» выбрать English.

QWRT Change Language to English

После сохранения интерфейс временно остается китайским, но при переходе на другую страницу язык меняется. В разделе Overview подтверждается использование R2 Max с процессором Intel N100 под управлением QWRT R24.11 на ядре Linux 6.12.

QWRT English Interface

Для устранения конфликта подсетей изменена LAN-подсеть: в разделе Сеть->Интерфейсы

iKOOLCORE R2 Max OpenWrt WAN port

выбрана вкладка LAN, после чего IPv4-адрес изменен с 192.168.1.1 на 192.168.4.1.

iKOOLCORE R2 Max OpenWrt LAN IPv4 address

После сохранения и переподключения к веб-интерфейсу по адресу http://192.168.4.1 подтверждено получение ноутбуком нового IP-адреса. На этом этапе восстановлено подключение WAN.

iKOOLCORE R2 Max QWRT new LAN IP address

Дополнительно изменен пароль роутера на более безопасный, чем «Password».

QWRT Luci Change Password

Все изменения пока сохранены на USB-накопителе. Для установки QWRT на внутренний SSD выполнены действия по инструкции с сайта документации OpenWrt . Сначала осуществлен доступ по SSH с установленным паролем:

Установлена и запущена утилита lsblk:

Результат выполнения команды:

OpenWrt установлена на /dev/sda, SSD расположен по адресу /dev/nvme0n1. Содержимое перенесено на SSD.

После выключения системы и извлечения USB-накопителя произведена загрузка с внутреннего SSD. Функциональность сохранена.

Установка и настройка Proxmox VE

После завершения установки и настройки «OpenWrt-сервера», Proxmox VE развернут на модели iKOOLCORE R2 Max с активным охлаждением, выступающей в роли тестируемого устройства/клиента.

Текущая версия – Proxmox VE 8.3. Образ записан на USB-накопитель с помощью dd (в Ubuntu утилита Startup Disk Creator не распознала образ):

Процесс аналогичен установке Proxmox VE 8.1 на iKOOLCORE R2 , выполненной ранее. Большинство шагов требует нажатия Next, но ключевой этап – настройка управляющей сети (Management Network Configuration): указание полного доменного имени (ikoolcore-r2-max-cnx.local), IP-адреса (192.168.4.253), шлюза (192.168.4.1) и DNS-сервера (192.168.4.1).

iKOOLCORE R2 Max Proxmox VE Installation FQDN CIRD Gateway

Перед завершением установки проверены параметры и диск назначения (/dev/nvme0n1).

Proxmox VE Installation Summary

Доступ к панели Proxmox VE осуществляется через веб-браузер по адресу 192.168.4.253:8006 или ikoolcore-r2-max-cnx.local:8006 с использованием учетных данных, заданных при установке.

Proxmox VE login

iKOOLCORE R2 Max Proxmox VE Dashboard

Все функционирует корректно. Перед добавлением гостевых ОС предстоит проверить производительность 10GbE на модели с пассивным охлаждением (OpenWrt) и активным (Proxmox VE) для оценки интерфейсов без уровня виртуализации.

Тестирование 10GbE на iKOOLCORE R2 Max с iperf3

Левые порты 10GbE устройств соединены метровым кабелем Ethernet (вероятно, Cat 5). Порт 2.5GbE OpenWrt-устройства подключен к ноутбуку, другой порт 2.5GbE – к коммутатору для доступа в интернет.

OpenWrt Proxmox VE 10GbE test bed

Через SSH к устройству Proxmox VE проверена скорость соединения:

Показатели корректны. Запущен iperf3 на сервере QWRT и клиенте PVE:

  • Отправка данных с клиента:

  • Загрузка данных с сервера:

Отправка: 9.41 Gbps – нормально, загрузка: 8.53 Gbps – требует улучшения.

Тест в дуплексном режиме (двунаправленная передача):

Результат приемлемый, но не оптимальный. В отсутствие кабеля Cat6 предпринята попытка использовать 20-см кабель Cat 5/5E:

Улучшений не зафиксировано. IKOOLCORE предоставил скрипт для мониторинга использования ЦП, температуры процессора и сетевой карты, запущенный в Proxmox VE (на базе Debian). При минутном тесте iperf3 перегрев сетевой карты не наблюдался.

aqc113c-b1-c script temperature monitoring Отмечена значительная вариативность результатов тестов.

По информации от производителя, двунаправленная скорость на модели N100 не достигает 10Gbps, в отличие от версии с Core i3-N305. При этом однонаправленная передача (10Gbps Rx или Tx) возможна при использовании Windows 11 на Proxmox VE (R2 Max N100) и Synology DS1821+ 10GbE NAS. Для исключения влияния кабеля приобретены метровые кабели Cat6.

CAT6 LAN Cables

Повторный тест с кабелем Cat6:

  • Отправка:

  • Загрузка

  • Дуплексный режим

Улучшений нет. Обнаружена 100% загрузка одного ядра ЦП во время двунаправленного теста iperf3.

iperf3 single core CPU usage

Предпринят поиск метода задействования всех четырех ядер в iperf3. Установлено, что iperf 3.16 поддерживает многопоточность, опыт документирован. Образ QWRT уже содержал iperf 3.17.1, но в Proxmox VE использовалась iperf 3.12. Для тестов была собрана версия iperf 3.18 из исходного кода. Воспроизводить процесс здесь не будем, перейдем сразу к результатам.

Поскольку теперь можно использовать параллельные потоки на всех четырех ядрах с опцией “-P 4”, повторим тест на скачивание:

Показатель 9.41 Гбит/с удовлетворителен. Теперь двунаправленный тест с “-P 2” (этого достаточно, и вывод менее перегружен):

Вывод содержит много данных, но итоговые результаты видны в строках [SUM] [TX-C] 9.39 Гбит/с и [SUM] [RX-C] 9.41 Гбит/с. Важно, что интерфейс 10GbE можно насытить, используя минимум два ядра, поскольку одно ядро создает узкое место.

Кабель был перемещен на второй 10GbE интерфейс пассивно охлаждаемого маршрутизатора с аналогичными результатами:

Оборудование гарантированно обрабатывает трафик 10GbE в обоих направлениях при задействовании нескольких ядер.

Установка Ubuntu 24.04 и pfSense CE 2.7.2 в Proxmox VE

Теперь проанализируем влияние виртуализации. Сначала активируем сквозную передачу оборудования в Proxmox VE, как ранее делалось на iKOOLCORE R2:

Необходимо загрузить образы Ubuntu 24.04 и pfSense CE 2.7.2, затем загрузить их в экземпляр ProxmoxVE. Для скачивания pfSense теперь требуется регистрация (предлагается образ “netgateinstaller”), но образ pfSense-CE-2.7.2-RELEASE-amd64.iso доступен через зеркало при необходимости.

Proxmox VE 8.3 Upload ISO

При установке Ubuntu 24.04 в основном следовали инструкции для Ubuntu 22.04 на Proxmox со сквозной передачей видео и USB для задействования портов HDMI, USB-мыши и клавиатуры. Детали опустим, приведем лишь сводку: создана виртуальная машина с параметрами (4 ядра, 4 ГБ ОЗУ, 64 ГБ HDD).

Ubuntu 24.04 Proxmox VE Installation

После запуска выполнена установка Ubuntu 24.04, затем ISO-образ извлечен из ВМ для загрузки ОС с HDD.

Хотя Ubuntu отображалась в консоли Proxmox VE, требовалась дополнительная настройка для прямого использования HDMI и USB-периферии. Добавлены два PCIe-устройства и два USB-устройства для сквозной передачи GPU и клавиатуры/мыши, загружены и скопированы файлы gen12_gop.rom и gen12_igd.rom (переименован в igd.rom) в /usr/share/kvm, после чего отредактирован конфигурационный файл /etc/pve/qemu-server/100.conf . Итоговая конфигурация для Ubuntu 24.04 представлена ниже.

Proxmox VE R2 Max Ubuntu 24.04 configuration passthrough

После перезапуска Ubuntu 24.04 работала с HDMI-выводом, USB-клавиатурой и мышью без использования веб-интерфейса Proxmox VE. Тесты 10GbE будут выполнены позже, но предварительные результаты выглядят положительно (см. фото).

iKOOLCORE R2 Max Review Proxmox VE Ubuntu 22.04

Теперь протестируем pfSense, хотя есть сомнения из-за комментария читателя :

У меня модель N305. Чип 10gbe не поддерживается в FreeBSD, поэтому невозможна сквозная передача в OPNsense на Proxmox…

Хотя после настройки удалось достичь 6.2 Гбит/с через OPNsense!

В типовой конфигурации два порта 10GbE обычно выделяют для pfSense, а один из портов 2.5GbE — для ОС типа Ubuntu 24.04. Но для тестирования потребовалось назначить один 10GbE-порт Ubuntu, а второй — pfSense. Для этого добавлены два моста Linux для pfSense , что дало следующую конфигурацию сетевых интерфейсов в Proxmox VE:

  • vmbr0 – enp8s0 (10GbE через Marvell AQC113C-B1-C) с IP-адресом: 192.168.4.253 для Proxmox VE (уже сконфигурировано)
  • vmbr1 – enp7s0 (10GbE через Marvell AQC113C-B1-C) с IP-адресом: 192.168.4.252 для pfSense WAN
  • vmbr2 – enp2s0 (2.5GbE через Intel i226-V) с IP-адресом: 192.168.4.1 для pfSense LAN

Proxmox VE Network Interfaces

Не забудьте нажать «Apply Configuration» здесь, иначе при запуске ВМ Proxmox VE выдаст ошибку об отсутствии интерфейса vmbr1.

Вот конфигурация для pfSense 2.7.2 в Proxmox VE после добавления vmbr1 и vmbr2. Важно выбрать Default (SeaBIOS) для BIOS, а не UEFI, иначе загрузка не удастся.

Proxmox VE pfSense 2.7.2 hardware

Я установил pfSense в Proxmox используя те же инструкции, что и для iKOOLCORE R2 в прошлом году. Для WAN настроен DHCP с сервера OpenWrt, а для LAN — 192.168.6.1. Обратите внимание, что vmbr1 (10GbE) должен быть назначен на vtnet1, а vmbr2 (2.5GbE) — на vtnet0.

pfSense 10GbE WAN 2.5GbE LAN configuration

iKOOLCORE R2 Max pfSense 2.7.2 WAN LAN Configuration

Теперь кабель Ethernet перемещается с ноутбука на порт 2.5GbE для завершения настройки pfSense через 192.168.6.1. Для начальной конфигурации необходимо использовать имя пользователя и пароль администратора по умолчанию. По завершении мастера настройки потребуется изменить пароль администратора. Эти шаги подробно описаны в предыдущих инструкциях по pfSense, поэтому здесь они не рассматриваются. В результате pfSense успешно запущен и работает.

iKOOLCORE R2 Max pfSense 2.7.2 dashboard

Однако доступ в Интернет отсутствовал из-за проблемы с разрешением DNS. Для решения проблемы в разделе Services->DNS Resolver была активирована опция «DNS Query Forwarding».

pfSense DNS Query Forwarding

Теперь, когда доступен веб-сёрфинг из подсети 192.168.6.0, а также обеспечен доступ к подсети 192.168.4.0 для тестирования 10GbE, можно перейти к оценке производительности.

Тестирование Intel N100 10GbE в Proxmox VE с Ubuntu и pfSense

Временно остановим виртуальную машину pfSense и запустим виртуальную машину Ubuntu для повторного тестирования интерфейса 10GbE с помощью iperf3 (версия 3.16):

  • Отправка

  • Загрузка

В тестах отправки и загрузки достигается скорость 9.41-9.42 Гбит/с. Это обнадеживает. Теперь попробуем полнодуплексную передачу:

Результат: 7.48 Гбит/с и 6.91 Гбит/с при одновременном использовании Rx и Tx. Было отслежено использование ЦП в Ubuntu и Proxmox VE (см. htop ниже), и ЦП, по-видимому, не является узким местом.

Proxmox VE Ubuntu CPU usage htop

Итак, виртуализация действительно создает узкое место для двунаправленной передачи данных, но точная причина не совсем ясна. Для HTTP/FTP-сервера, работающего только на загрузку, это не имеет значения, однако торрент-сервер может пострадать в зависимости от трафика. В таких случаях предпочтительнее запускать ОС напрямую на оборудовании, а не через Proxmox VE. Если упущена какая-либо оптимизация — сообщите в комментариях.

Пора выключить виртуальную машину Ubuntu и запустить ВМ pfSense. Потребуется пакет iperf3. Обычно его можно установить через System->Package Manager, но возникла ошибка: «Unable to retrieve package information».

pfSense Package Manager Unable to retrieve package information

Поиск помощи на форумах Netgate затруднен из-за блокировки IP-адресов из Таиланда, однако решение было найдено на Reddit : достаточно открыть SSH-терминал и выполнить команду:

Теперь iperf3 можно установить через веб-интерфейс…

iperf 3.15 pfSense Это версия 3.15… Для тестирования она не идеальна, поскольку требуется как минимум iperf 3.16 с поддержкой многопоточности… Пакет был удален, а iperf3.18 установлен через командную строку:

Убедимся в успешной установке:

Наконец можно протестировать 10GbE в pfSense.

  • Отправка

  • Загрузка

  • Дуплексный режим

Результаты далеки от целевых 9.42 Гбит/с: отправка — 7.26 Гбит/с, загрузка — 3.18 Гбит/с, дуплексный режим — 3.33/2.36 Гбит/с. Во время теста наблюдаются значительные колебания. Отметим, что тест проводился в двухъядерной ВМ pfSense под Proxmox VE. Оптимизация FreeBSD могла бы улучшить показатели, но без виртуализации результаты должны быть существенно выше. Учитывая уже потраченное на обзор время, этот тест пропускается…

iKOOLCORE R2 Max 10GbE Intel N100 mini PC review

Вместо этого запустим ВМ Ubuntu 24.04 и проведем тесты iperf3 от сервера Ubuntu к клиенту pfSense (обратное направление заблокировано настройками брандмауэра по умолчанию) в наихудшем сценарии:

  • pfSense → Ubuntu

  • Ubuntu → pfSense

  • Двунаправленный (дуплексный)

Вот htop во время теста Ubuntu на pfSense. Запрашивать от Intel N100 обработку двух виртуальных машин, взаимодействующих через 10GbE на одном устройстве, — это слишком высокая нагрузка 🙂

Proxmox VE HTOP 10GbE pfSense Ubuntu iperf3

Заключение

iKOOLCORE R2 Max отлично справляется с сетевыми операциями 10GbE благодаря четырехъядерному процессору Intel N100 при однонаправленной и двунаправленной (полнодуплексной) передаче данных, но может потребоваться задействовать несколько ядер, особенно для двунаправленных операций. Удалось достичь 9.41 Гбит/с во всех сценариях с использованием iperf3 между R2 Max под OpenWrt (сервер) и R2 Max под Proxmox VE (Debian-клиент) при условии применения многопоточности.

При использовании виртуальных машин в Proxmox VE результаты сильнее варьировались и зависели от выбранной ОС. Например, с виртуальной машиной Ubuntu 24.04 были получены значительные показатели: 9.42 Гбит/с DL, 9.42 Гбит/с UL и 7.48/6.91 Гбит/с (полнодуплекс), тогда как в виртуальной машине pfSense 2.7.2 результаты заметно снизились до 7.26 Гбит/с DL, 3.18 Гбит/с UL и 3.33/2.36 Гбит/с (FD). Наихудший сценарий — полнодуплексная передача с выделением каждого 10GbE-интерфейса отдельной виртуальной машине, где iperf3 показал лишь 2.03/1.06 Гбит/с из-за ограничений CPU (и, вероятно, других подсистем). В таком случае лучшая производительность должна быть достижима с моделью Core i3-N305.

Благодарим iKOOLCORE за предоставленный R2 Max для обзора. Мини-ПК на N100 и Core i3-N305 продаются по соответственно $349 и $449 в тестовой конфигурации (8 ГБ ОЗУ, 128 ГБ SSD), но систему без комплектующих можно приобрести всего за $299. Дополнительную скидку 5% предоставляет CNXSOFT промокод

Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments