Как же удобно пользоваться персональным компьютером или ноутбуком, ведь монитор и клавиатура всегда под рукой. Но что делать, если оборудование расположено далеко и получить непосредственный доступ для подключения затруднительно? Сложно представить такое ограничение? Для инженеров дата-центров это стандартная проблема. Настолько стандартная, что уже и не проблема, а специфика работы.
Конечно, никто «жонглировать вслепую» не собирается — поэтому и выработался уже целый пул решений для работы с оборудованием. Один из вариантов — использовать IP-KVM.
Меня зовут Макс, я системный инженер в Selectel. В этой небольшой статье расскажу, как мы пришли к нынешнему виду наших IP-KVM и какие трудности нам пришлось пройти. Наша история — под катом!
Тысяча и один вопрос об управлении серверами
Допустим, нам нужен монитор, чтобы получать информацию с сервера. А еще — клавиатура с мышкой, чтобы передавать все необходимые команды. Мысленно переносимся в дата-центр и видим десятки тысяч серверов. Как получить ко всем ним доступ?
Неужели придется закупить тысячи клавиатур, мышек и мониторов? Или по очереди подключаться одними монитором с клавиатурой к каждому серверу…
Использовать SSH, RDP или VNC? А если сервер завис и без ручного пинка никак?
Использовать встроенные модули enterprise-материнских плат для удаленного управления сервером — например, IPMI или iDRAC? А если такой роскоши нет?

Решение — использовать IP-KVM
Для подобных ситуаций существует IP-KVM (IP-based Keyboard, Video, Mouse). Проще говоря, это специальный миникомпьютер для внешнего подключения к I/O интерфейсам сервера и эмуляции монитора, мышки и клавиатуры.
Таким образом, управление сервером не зависит от сбоев ОС или от физической доступности железа. Подключайся к миникомпьютеру-эмулятору и управляй сервером так, будто стоишь перед ним.

В Selectel мы используем различные IP-KVM. Один из самых частых вариантов — Lantronix Spider KVM Over IP Switch.

Как-то мне сказали, что IP-KVM больше напоминает power bank. Но глядя на провода и порты понимаешь, что это гораздо более продвинутое устройство. Здесь и VGA для видео, и USB или PS/2 для клавиатуры и мыши. Для начала работы достаточно подключить IP-KVM в сервер. С другой стороны патч-корд в интернет — и вот сервер доступен из любой точки мира. Все ведь так просто! Или нет?
Дополнительные фишки IP-KVM Lantronix
Так просто в дата-центрах не бывает, ведь один из главных наших принципов — резервирование. Поэтому оно в KVM есть! IP-KVM Lantronix имеют два ввода питания — с I/O-интерфейса сервера через USB-A и дополнительный с miniUSB-B.
Резервирование — это круто, но надо еще подключиться к IP-KVM. Берем обычный медный патч-корд и тянем к ближайшему коммутатору. Один патч потратить на IP-KVM не страшно, но в рамках ДЦ мы умножаем этот патч на тысячи IP-KVM — и это уже неприятно.
Поэтому инженеры придумали технологию Cascade — последовательное подключение IP-KVM друг к другу. Первая-вторая-третья… и вот у вас уже целая «гирлянда». Ограничиваемся только пропускной способностью в 1 Гбит/с, чтобы всем было комфортно работать.
Для обеспечения стабильности и резервирования каждая KVM в гирлянде при потере ведущего соединения (отвале KVM или повреждении патча) проверяет cascade-порт на подключение к свитчу. И при положительном ответе автоматически меняет роли ethernet с cascade-портов между собой. Таким образом, вся цепь сразу работает в другую сторону. Если вдруг отвалилась первая IP-KVM или повредился патч где-то в середине, то гирлянда буквально делится на две части и продолжает работать.
Иногда еще хочется консольником подключиться к serial-порту — и даже тут нас выручает IP-KVM. Специально для таких целей в устройство встроили отдельный порт с автополярностью, чтобы не обжимать rollover-патч. Настройка свитчей и специфичного оборудования упрощается в разы.
Наверное, вы уже поняли, что подключить KVM к серверу — значит, буквально встать перед ним и подключиться монитором с клавиатурой. Осталось только придумать, как бы флешку вставить для установки ОС. Вдруг сервер только собрали, он полностью пустой, а флешку подключать — не вариант. Или ОС полностью крашнулась и нужно срочно накатывать новую…
Специально для таких аварий у Lantronix есть режим работы в Java, который позволяет загружать любые ISO-образы с вашего компьютера. К сожалению, такой режим имеет очень плохой user experience. Нужно устанавливать стороннее ПО и ставить Java определенной версии… Да и, если честно, сам визуал хромает.

Но это нужно же не только нам. Клиентам тоже хочется арендовать сервер и пользоваться им не только через SSH. Специально для них мы поработали над настройками KVM, создав немного скриптов.
И вот инженеры могут легко подключить устройство к серверу клиента — достаточно нажать кнопку автонастройки, тогда KVM получает статический белый IP и новый пароль для клиента, а на указанный порт свитча выставляется специальный VLAN для доступа к IP-KVM из интернета.
Неужели есть минусы?
А куда без них. Самое неприятное — это стоимость подобных решений. Цена в 300 000 ₽ за один Lantronix — довольно высокая даже для крупного провайдера IT-инфраструктуры. Конечно, есть и аналоги вроде ATEN CN800, но даже они стоят от 60 000 ₽, а функционал в разы скромнее.
Отсутствует возможность cascade-подключений.
Нет резервирования питания, все идет по I/O-портам от сервера.
Один RJ-45 на все задачи, а значит нет консольного подключения.
При этом количество IP-KVM пропорционально зависит от количества серверов в дата-центре. И, как вы понимаете, с каждым годом нам необходимо все больше и больше устройств.
Мы посчитали траты и решили найти достойную альтернативу нынешним IP-KVM. Нужно было интересное по функционалу устройство с возможность масштабирования и простотой в эксплуатации. И вот мы нашли BLIKVM-CM4.
BLIKVM-CM4, или как мы пришли к своей KVM
Один из наших инженеров случайно наткнулся на интересный проект — IP-KVM на базе Raspberry Pi. Изучив всю доступную информацию в интернете, он решил заказать эту «игрушку». И каково же было его удивление, что приехала самая настоящая KVM на open source-платформе.

В небольшой коробочке собрана вся прелесть DIY-подхода с ноткой открытого исходного кода. На базе Raspberry Pi мы получаем новую, удобную, дешевую и полностью настраиваемую под себя IP-KVM.
По сути, это обычная Raspberry Pi 4 в красивой коробочке и разными портами. Но суть кроется в деталях, ведь можно легко собрать прошивку под свои нужды. Например, добавить аутентификацию логин/пароль, включить эмуляцию флеш-накопителя и выделить объем памяти под загрузочные iso-образы ОС. А еще — задать видеокодеки и настроить ему битрейт с FPS, выделить сочетания клавиш для HID, поменять интерфейс под свой стиль и добавить динозаврика. Спойлер: именно так мы и сделали.
Все эти функции уже входят в стандартную прошивку PiKVM OS, которую можно легко разобрать и сшить под свой вкус — обширная документация идет в придачу. Open source – это круто!

Проектирование корпуса под PCI-e KVM
В скором времени линейка BLIKVM стала расширятся. Появилась PCI-e модель:

Теперь даже коробочки нет — только сплошная плата с максимальным функционалом за 20 000 ₽.
Мы решили попробовать изготовить свой корпус — от проектирования модели в Blender до 3D-печати. По сути, нам нужен был небольшой защитный «коробок» с перфорацией и портами:
Type-C, RJ-45 и HDMI;
место для срочной замены SD-карты, на которой установлена прошивка IP-KVM;
«окно» под небольшой экран;
перфорация у радиатора CPU, чтобы в монолитном кейсе не случилось перегрева;
Также для удобства нужно было разделить корпус на две части: крышку и основание. В результате получился первый вариант кейса для IP-KVM:

Специально для таких задумок у нас стоят 3D-принтеры с разными типами пластика. Выбор конкретного в нашем случае не был критично важным, поэтому сначала мы использовали PLA. А для устойчивости конструкции выставляли заполнение хотя бы на 10-15% и уже после отправляли в печать. На создание одного комплекта (основа + крышка) потребовалось около четырех часов.
Не забыли и откалибровать 3D-принтер на испытуемом:

Спустя с десяток попыток и исправления неточностей получили почти идеальную модель. И вот наш DIY-набор готов к крафту.
Сборка устройства
Итого, для сборки нужны Blicube CM4 PCI (комплект: плата, Raspberry Pi CM4, дисплейный модуль с кабелем, microSD), наш спроектированный и напечатанный корпус, впаиваемые закладные гайки M2.5x3mm (4 шт), винты M2.5x6mm (4 шт), отвертка и паяльник.

Сборка состоит всего из нескольких действий.
Впаиваем латунные закладные в пластиковый корпус.
Устанавливаем плату, выводим порты в пазы.
Прикручиваем дисплей и закрываем корпус.


Наконец, получаем такой результат:

Первый продовый экземпляр под кодовым названием Pi-KVM_V12. Именно таких моделей у нас большинство. Их чаще всего используют в проектах типа Chipcore из-за HDMI-порта и быстрого подключения. Вот только условия эксплуатации бывают разными, а значит надо адаптироваться.
Улучшение устройства
Нет предела совершенству. Через пару недель мы добавили в корпусе выемки и стали устанавливать неодимовые магниты для крепления KVM к стойкам. А через месяц кто-то начал клеить на корпус резиновые вкладки, чтобы улучшить сцепление с окрашенным металлом стоек.

Спустя время наши инженеры подумали наперед и для предотвращения возможных проблем с перегревом в жарких стойках создали улучшенную версию с маленьким вентилятором и гравировкой динозаврика!
Вот первые наброски:


Новые модели получили название TSNP Edition (Throttling shall not pass). Да, такой маленький вентилятор не меняет картину кардинально, но градусов 10 сбрасывает — ощутимый результат в условиях обдува 70 градусным ветерком.

Особенности устройства
Главным минусом, как и плюсом, является полностью открытая архитектура. Для работы этих маленьких коробочек нужно тратить время инженеров на создание образов прошивок, на 3D-модели и просто на сборку. Lantronix предоставляет готовый продукт, который из коробки идет в продакшен, а BLIKVM дает простор для творчества и подгонки.
Любые нововведения требуют масштабных обновлений всех собранных коробочек. Даже добавление одного скрипта может потратить целый день работы инженера.
Но это же и плюсы! Например, в отличии от Lantronix у наших IP-KVM нет cascade-режима. Каждая KVM нуждается в личном патч-корде. Это не очень удобно, поэтому сейчас мы хотим модернизировать BLIKVM и добавить Ethernet-порт для cascade-подключения.

Довольны ли мы решением
Да, довольны. Мы прошли длинный путь к финальной реализации проекта на BLIKVM. А самое интересное, что это все — благодаря энтузиазму инженеров. Кому-то захотелось придумать свое решение — он подготовил базу и описал свой подход. Инженер из другого дата-центра вдохновился и продолжил разработку, внося свое видение. А инженер третьего дата-центра создал полноценную прошивку, инженер четвертого — модернизировал 3D-модель и оптимизировал их печать. И вот — вы читаете эту статью.

А какие IP-KVM предпочитаете вы? Поделитесь своим опытом и мнением о нашей разработке в комментариях! Расскажите какие KVM хотели бы видеть вы в наших продуктах.
Комментарии (40)
shutya
19.08.2025 17:37А как оно дружит если у сервера нет hdmi? Помнится была уже на хабре статья про этот проект квм на базе raspberry pi и в комментариях люди писали что с переходниками на vga оно нормально не работает.
Dzeem Автор
19.08.2025 17:37Мы сначала тоже ловили проблемы с этим, но все оказалось очень просто
В комплекте идут всякие аксессуарчики, которые как раз помогают в этой бедеVGA на HDMI с доп питанием + EDID эмулятор корректирует картинку на enterprise серверах
atd
19.08.2025 17:37Цена в 300 000 ₽ за один Lantronix
Я на ебее их покупал, даже с пересылкой получалось меньше 5к руб. До сих пор валяется целый пакет этих спайдеров...
Единственная проблема: те, которые spider2duo, шли без кабелей, пришлось их колхозить из DP-шлангов
Dzeem Автор
19.08.2025 17:37Да, хорошее было раньше время) Как раз поэтому их у нас так много сейчас в дата-центрах
К сожалению их уже не производят, а рисковать старыми моделями с рук мы не можем (неприятные кейсы имеются), поэтому открываем новые интересные решения для себя
sdy
19.08.2025 17:37Если не секрет, сколько примерно таких устройств работает в Selectel? Почему IPMI не используете? Опять же проекту Pi KVM уже лет десять наверное как, почему его выбрали в качестве основы для разработки? Какой бюджет на потребление одного устройства? Почему Selectel занимается DIY, неужели нет проф проектов?
Dzeem Автор
19.08.2025 17:37Много, очень много
Используем в подавляющем большинстве, если он присутствует, но всегда есть внештатные ситуации
OpenSource и независимость от закрытого кода готовых решений + цена
Одна квмка = питание от двух usb портов, добавляя закупочную стоимость и итоговый результат окупается очень быстро при обзоре цена-польза
Как показывает практика -- проф проекты оверпрайс (те же Lantronix) + полный доступ к кастомизации = безопасность
sdy
19.08.2025 17:37Тогда не очень понятно почему было за основу взято решение с активным охлаждением и соотв. большой потребляемой мощностью
Dzeem Автор
19.08.2025 17:37Это на столько мизерное потребление, что в рамках ДЦ не ощущается, даже с активным охлаждением
Стандартный USB порт выдает примерно 2.5Вт, такая квм как раз столько и потребляет
Даже умножив на тысячи, получим всего 2.5КВт, что не составляет потребления и трети стойки серверного оборудованияsdy
19.08.2025 17:37активное охлаждение - это вентилятор, который явно не Дельта и его ресурс существенно неизвестен. Если у вас таких железок много как вы говорите, то как вы собираетесь следить за китайскими вентилями по всему ЦОДу?
Dzeem Автор
19.08.2025 17:37На практике ресурс достаточно обширный
Настроенный мониторинг творит чудеса)
Vladimir1Subbotin
19.08.2025 17:37Предложение по GPU неактуально(
Немного неактуальная информация в статейке(
duronus
19.08.2025 17:37Это же из какого железа вы собираете серваки, если для supermicro есть нормальный bmc с html5. Ipmi нет только в десктопном железе, а все остальное хоть примерно планируемое в сервер имеет ipkvm. Понятно что хочеться по дешевле, но просто интересен производитель
Dzeem Автор
19.08.2025 17:37Так на supermicro мы и используем IPMI, причем не только в HTML5, но и в JAVA
И да, таких серверов многоНо есть же chipcore линейки, которые собраны на десктоп железе, и спрос на них растет с каждым годом
Есть клиентское оборудование, которое также нуждается в подобном решении
Я писал в посте, что эти штучки в основе своей не для enterprise серверов)
oller
19.08.2025 17:37Lantronix Spider KVM Over IP Switch.
Только только пришел на рынок aten cn800
Выглядит посолиднее
Выходы те же +-
Питание по двум usb
Цена 60-80т
Dzeem Автор
19.08.2025 17:37Да, интересный вариант, но даже тут появляется вопрос выгодно ли такое готовое решение по сравнению с BliKVM
Lordbander
19.08.2025 17:37Использовать SSH, RDP или VNC? А если сервер завис и без ручного пинка никак?
А если сервер завис, квм может его перезагрузить?
neohmd
19.08.2025 17:37смотря как завис: если будет реакция на ввод с клавиатуры, то перезагрузить можно
KerriQueen
19.08.2025 17:37Проще всего использовать на старых VGA серверах так называемые скалеры. Они позволяют выводить нормальную картинку на HDMI KVM без разрывов.
Кроме того, у open-source KVM есть проблема с эмуляцией клавиатуры, некоторые BIOS не понимают флешку и клавиатуру, если они висят на оодном usb порту. В таких случаях приходится отключать эмуляцию флешки. Эту проблему удачно решил PiKVM, где для клавиатуры используется Pi Pico.
OverFitter
19.08.2025 17:37Приходилось пару раз использовать Lantronix Spider в селектеле, жутко неудобный опыт. Свою задачу выполняют, бесспорно, но даже процесс первичного подключения для человека незнакомого с моделью - очень неприятный. Новое решение ещё не доводилось попробовать, но переходу уже рад
dimsoft
Sipeed NanoKVM - 40$
sdy
Поддерживаю. Опять же есть nano kvm cube, nano kvm pcie с wifi, poe на выбор. никаких радиаторов, небольшой даже в варианте pcie, питаний вариантов несколько
Dzeem Автор
Настолько маленькие, что мы их теряли в стойках между патчами)))
sdy
это не очень хороший аргумент, можно ведь было сделать крепление и на полку рэковую, на одной такой панели можно было бы разместить несколько подобных устройсв даже в два ряда для одного юнита, по примеру как это делает например Микротик в своей серии RB5009
Dzeem Автор
К сожалению я не могу рассказать всех наших испытаний этой штучки, но скажу так
Тесты проводились, причем детальные, не только в качестве внешней KVM, но и в качестве эдакого BMC
Нам не подошло
sdy
нам не подошло звучит как - мы даже не пытались разобраться. Вы же сами спросили что мол думаете, а я думаю, что вы явно не доработали и просто взяли за основу старое и унылое
Dzeem Автор
Да не, пытались, но не будем же мы все секреты тестов вам выдавать))
Dzeem Автор
О да, штучка крутая, с ними хотели даже сделать отдельный проект
Но наш ИБ отдел их не апрувнул, все еще сыроваты
sdy
RPi на Broadcom, который закрыт полностью, апрувнул, а Risc-V железку не апрувнул? Мне кажется это заслуживает отдельного рассказа
Dzeem Автор
Хорошая идея, отправим идею нашим иб для поста
Ниже хороший коммент, который показывает суть nanoKVM
sdy
Это про отваливается PoE и все сыро сыро?
Dzeem Автор
Ес
djiggalag
Всё что нужно знать об их ИБ)) Заставляет задуматься)
TerekhinNI
Sipeed NanoKVM дико сырая вещь. Косяк в архитектуре из-за которого отваливается POE и разрабы ничего с этим сделать не могут, кроме совета купить разветвитель уже ставит крест на данном решение. Или в последних прошивках не работает удаленная клавиатура, пока ее не перезапустишь в терминале. Очень и очень сыро.
dimsoft
Я не настоящий сварщик ©
Использую 5 (пять) штук, никаких POE, никаких пробросов образов ISO, подключена в нормальный блок питания - за год ещё не разу косяков не было (но и использую очень редко, когда ОС не грузиться и надо например по PXE загрузиться и систему восстановить)
TerekhinNI
Опять-таки, если верить их гитхабу и комментариям там всё косяки чистой воды фортуна. Мне не получилось в неё выиграть.