Привет! Меня зовут Юра Мочалов, я работаю в компании НУБЕС дежурным администратором дата-центра Nubes Alto. Сегодня я расскажу, что такое KVM Over IP, как можно создать такое решение своими руками и выгодно ли это сегодня. 

Спойлер: в 2024 году смысла заморачиваться мало. И да, я понял это только в процессе. Но давайте обо всем по порядку. 

С чего все началось

Чтобы дистанционно управлять серверами в дата-центре, привычных программ удаленного доступа мало. Требуется функциональность пошире. Нужно взаимодействовать не только с операционной системой сервера. Важно управлять его аппаратной частью, в том числе BIOS. Также должна быть возможность удаленно устанавливать и переустанавливать операционные системы. 

Все эти задачи в дата-центрах решают с помощью KVM Over IP. Подключаете решение к серверу и управляете им так, будто находитесь рядом с ним. Обеспечить постоянный физический доступ к оборудованию в ЦОД — это не всегда просто, особенно если у вас тысячи серверных стоек. Но всегда хочется иметь решение, которое позволит эффективно и гибко управлять инфраструктурой. 

Вот почему KVM Over IP — вещь в дата-центрах практически незаменимая. И дорогая. Но экономическими расчетами займемся чуть позже. А сейчас вспомним об альтернативном решении — «сделай сам». 

С этой мыслью я открыл гугл и начал искать, вдруг кто-то уже писал подобные инструкции. Поиски увенчались успехом. Оказалось, что есть разработчик Максим Деваев, который сам собирает KVM Over IP на базе «малинки» — мини-компьютера Raspberry Pi. Об этом, кстати, уже писали несколько лет назад на Хабре. 

Готовые решения автор назвал PiKVM. Стоимость зависит от комплектации и страны сбыта, на текущий момент работающее устройство можно купить за 200–500$. Но самое приятное — разработчик делится DIY на Гитхабе для таких умельцев, как я

Пошаговую сборку Деваев выложил на Ютубе.
Пошаговую сборку Деваев выложил на Ютубе.

Инструкция выглядит несложно: просто закупаете компоненты, скачиваете ПО с открытым кодом и собираете. Я загорелся идеей и приступил к делу.

! Но так делать нельзя !

Забегая вперед, скажу одно: лучше заранее изучить все варианты, в том числе готовые коммерческие, и прикинуть расходы сразу. А еще стоит понять, все ли комплектующие удастся найти в продаже. Вот на этом моменте я потерпел фиаско. 

Приступаем к делу

Закупка компонентов

Первый шаг — подготовить все составляющие. Важно, чтобы компоненты были актуальными. На начало 2024 года список получился таким:

  • Raspberry Pi Zero (лучше Raspberry Pi 4),

  • Блок питания 5В, 3А с портом USB Type-A,

  • КП microSD 16 ГБ,

  • Сплиттер USB female to dual male Type-A,

  • USB C to Type-A,

  • Переходник HDMI-to-CSI.

Проблемы начались как раз с этого момента. Оказалось, что Raspberry Pi Zero по понятным причинам стоит дорого — 18–20 тыс. рублей. Это фактически перечеркнуло мою идею концепции «бюджетной» сборки KVM. 

«Малинку» я все-таки заказал (желание собрать KVM своими руками было сильнее алчности). Но дальше случилось самое обидное: в продаже не оказалось сплиттеров USB female to dual male Type-A. Даже на Алиэкспрессе я нашел только USB-M to Type-A-M. Но этот сплиттер не подходит для нашей задачи.

На этом моя история самостоятельной сборки KVM закончилась, так и не начавшись. Вывод: не наступайте на мои грабли. Сначала убедитесь, что все компоненты есть в продаже, а уже потом наполняйтесь энтузиазмом и приступайте к закупкам. 

Но раз я изучил DIY и даже кое-что успел сделать, не пропадать же инструкции зря. Расскажу, что делать дальше — вдруг вам повезет больше и вы сможете довести дело до конца. 

Прошивка SD-карты 

Скачиваем Raspberry Pi Imager или balenaEtcher для записи образов на карту. Есть и другие варианты, но эти две программы удобнее, имхо. 

Далее находим нужный образ диска и записываем его на наш флеш-накопитель. Скачиваем образ диска Pi-KVM. По ссылке доступны несколько версий — для разных «малин» соответственно. Выбирать надо исходя из того, что будет использоваться в конечной сборке — HDMI-to-CSI или HDMI-to-USB (важный момент).

Потом распаковываем образ. Заходим в Raspberry Pi Imager, нажимаем Choose OS, далее — Use Custom. Используем опцию выбора SD-карты и кликаем Write. 

Потом собираем железо

Так как процесс несложный, расписывать его здесь не вижу смысла. На всякий случай дам ссылку — в этой статье сборка железа описывается по шагам, в картинках и схемах.

Программная настройка «малины»

Первичная загрузка всегда идет долго, это стоит учитывать.

Как и в любой истории с IoT, первым делом нужно настроить IP. В нашем случае — IP «малины». Если не хочется возиться с командами, то сделать это можно при помощи роутера, в панели отображения всех подключений. Хотя быстрее получится настроить изнутри.

Еще вариант — настроить IP из Windows и выполнить команду ARP. С ее помощью можно вывести все адреса устройств, подключенных к вашей локальной сети. Девайс, адрес которого начинается с b8:27:eb: или dc:a6:32:, является нашей «малиной». 

Устанавливаем обновления

Дистриб Pi-KVM довольно часто обновляют. Лучше за версиями следить и своевременно накатывать. Все-таки это opensource-проект, а значит, в нем могут быть уязвимости. Если их не закрывать вовремя, можно стать жертвой злоумышленников из Сети. 

Чтобы обновиться:

  1. Открываем консоль.

  2. Получаем права суперпользователя командой su, стандартный пасс — root.

  3. Вводим команду rw, тем самым открываем нашу «малину» для записи.

  4. Вводим pacman -Syu и подтверждаем при помощи «Y».

Увы, я так и не смог опробовать все прелести дистриба Pi-KVM из-за причин, которые описывал выше. Но может быть, эта небольшая инструкция вам пригодится.

Немного о реалиях 2024 

У разработки Максима Деваева есть свои фанаты. Об этом говорит множество видеороликов о Pi-KVM на Ютубе. Кроме того, есть последователи. Например, в 2021 году появилось похожее решение на Гитхабе. Но я хотел сказать о другом. 

Возможно, три-четыре года назад собирать KVM или приобретать поделия у умельцев было бы сильно выгоднее, чем покупать коммерческое решение. Так можно было сократить расходы в 4-5 раз. Но теперь на фоне внешнеполитических событий многое изменилось. 

Для сравнения я посчитал: на начало 2024 года кастомная KVM Over IP с опенсорсным ПО из составляющих с Алиэкспресса обошлась бы в 25–30 тыс. рублей. Готовые устройства Pi-KVM, как я уже говорил, можно приобрести за сумму от 20 тыс. рублей. Я не беру в расчет стоимость доставки и то, потребуется ли дополнительно покупать VGA-HDMI конвертер или что-то еще. 

В любом случае популярное коммерческое решение выходит где-то в два раза дороже. Экономия не такая привлекательная, как раньше, но она есть. Стоит ли она того, чтобы не сдаваться (как я) и заморачиваться с поиском комплектующих — вопрос сложный.

А вы что думаете? 

Комментарии (23)


  1. CherryPah
    21.03.2024 06:32
    +4

     в продаже не оказалось сплиттеров USB female to dual male Type-A. Даже на Алиэкспрессе 

    Я как-то не так ищу? Вон по 100 рублей полная выдача

    Все эти задачи в дата-центрах решают с помощью KVM Over IP. Подключаете решение к серверу и управляете им так, будто находитесь рядом с ним. Обеспечить постоянный физический доступ к оборудованию в ЦОД — это не всегда просто, особенно если у вас тысячи серверных стоек.

    Если у вас там тысячи стоек то наверное и сервера стоят серверные, в которых всегда есть штатный kvm (IPMI/iLO/iDrac/etc) А все эти наколеночные поделия они либо для совсем древнего железа, либо для консьюмерских тауэров, и то и то нужно из цода выносить вперед ногами.

    За 25к, в которые вам обошелся только KVM на авито можно купить серверную платформу в которой удаленный доступ будет работать из коробки.


    1. KiruSsh Автор
      21.03.2024 06:32
      +4

      Возможно, сейчас уже можно найти все компоненты. В статье описал всё, как было на момент, когда я еще горел идеей самостоятельной сборки.

      А KVM у нас, конечно, же есть. И она не сделана на коленке)) Опять же дело в другом: мне самому было интересно собрать решение. Ну и побаловаться с "малиной" немного.

      Что касается IPMI, проблема в том, что мы предоставляем услуги colocation и приходится работать с оборудованием клиента. Часто они не приобретают лицензии для централизованного управления IPMI Также бывают ситуации, когда имеется полностью рабочий сервер с мертвым чипом IPMI, поэтому от KVM до конца отказаться не получается.


  1. NutsUnderline
    21.03.2024 06:32
    +4

    Вот я еще с трудом могу понять когда энтузиасты такой франкенштейн собирают и используют. (Хотя энтузиасты то очень не прочь мат.млаты с IMPI на домашнем сервере).

    Даже не очень удивляет что причиной "провала" стало отсутствие кабеля, схема которого есть, спаять его может почти начинающий радиолюбитель, не абы какого - он просто питание дает (а теги diy прописаны).

    Меня удивляет что подобная самосборка описана в корпоративном блоге дата-центра, где подобное оборудование является почти базовым. Возникает вопрос: сервера тоже на хунананах с али сделаны? Дешево ведь.

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


    1. KiruSsh Автор
      21.03.2024 06:32
      +3

      Хотелось собрать из готовых компонентов. Если бы хватило энтузиазма, я б дошел до пайки. Но желание иссякло быстро, если честно)

      Что касается истории с "самосборкой" в корпоративном блоге: думаю, возникло недопонимание. Я рассказал о том, как хотел сам попробовать собрать KVM на "малине". Стали бы его использовать у нас в ЦОДе или нет — совсем другой вопрос.


  1. Daddy_Cool
    21.03.2024 06:32
    +2

    Спасибо, очень интересно!
    Что-то малина подорожала нынче на рынке...
    А нельзя ли без неё? Какой-нибудь древний комп времен P4 и...


    1. NutsUnderline
      21.03.2024 06:32

      какой нибуть древний комп не очень шустр в сжатии видео как такового. надежность под вопросом. нужен какой нить видеозахват который пержимает видео, так что хватает usb2.0 и софт который тут малиннный надо (очень) сильно) адаптировать. Не то чтобы нельзя но профит и затраты - очень на любителя.


  1. Fox_exe
    21.03.2024 06:32
    +1

    • Orange Pi Zero 2 (H616) ~3000р.

    • модуль захвата USB-HDMI ~1000р.

    • STM32F103C8T6 ("BluePill") в качестве эмулятора клавиатуры и мыши. ~200р.

    • Немного костылей в плане софта ~???р. (Пара часов потраченого времени).

    И да, такой конфиг вполне себе успешно работает. Нафига тут дорогущий и мощный Raspberry PI 4 - решительно неясно.


    1. NutsUnderline
      21.03.2024 06:32

      Это в теории?


      1. Fox_exe
        21.03.2024 06:32
        +3

        На практике. Года два назад такое собирал.


        1. NutsUnderline
          21.03.2024 06:32
          +4

          О! Можно бы и публикацию накатать ;) Мне вот любопытно как H616 по линуксом видео тянет, какой охлад. Ну и как все это добро слепить в комплекс.


          1. KiruSsh Автор
            21.03.2024 06:32
            +2

            плюсую, занятно. Тоже бы почитал.


            1. Fox_exe
              21.03.2024 06:32
              +1

              Я могу много чего рассказать интересного не только про "апельсинку-ipkvm", но пилить целые статьи мне откровенно лень. Уж извиняйте ))

              (Пару раз начинал, но дальше черновика в "блокноте" дело так и не пошло).


        1. Daddy_Cool
          21.03.2024 06:32

          Присоединяюсь к просьбе о публикации! За 4-5 тыс получается очень даже вкусно. Но всё таки - а можно и на Orange сэкономить? Старые компы-то есть в количестве.


          1. Fox_exe
            21.03.2024 06:32
            +1

            Чисто технически всё упирается в софт. Аппаратно всё достаточно просто и подобные проекты давно существуют:

            Видео получаем через плату видеозахвата. Поток заворачиваем в GStreamer, чтобы получать его с другого компа по HTML или RTSP. Возможны и другие варианты, просто gstreamer на H616 работал заметно быстрее FFMpeg/MonaServer.

            Клавиатуру и мыш захватываем на стороне клиента через NoVNC (в браузере, опять-же), преедаём их через UART на STM32, которая уже емулирует нажатия виртуальных клавиш/мыши на хосте. MicroUSB у STM'ки работает в режиме HID-USB через одноимённую либу. С клавишами всё понятно, с мышкой было чуть сложнее - там координаты движения надо было преобразовывать, либо эмулировать планшет...

            Собственно, можно купить китайский неттоп на Celeron N100+ и подключить к нему несколько плат захвата и микроконтроллеров.
            В режиме Full-HD/10FPs он даже в софт-кодере спокойно десяток клиентов переварит, в отличии от Orange-и-подобных-Pi

            С платой захвата есть только один косяк - некоторые из них криво обрабатывают DRM Защиту и показывают чёрный экран, вместо картинки. Тут от модели зависит.


            1. NutsUnderline
              21.03.2024 06:32

              HDPC. это решаемо. технически. ну и есть наверное штуковины видеохахвата которым в принципе не важно.


  1. V-King
    21.03.2024 06:32
    +1

    Относительно недавно тоже наткнулся на piKVM. Для малинки не обязательно колхозить кабель с разветвлением. Вполне себе работает вариант - подать +5V и GND на гребёнку GPIO. Больше гемора доставит модуль HDMI-CSI. То, что на алике есть - без бубна не взлетает. Мне разбираться было лень и я пока забил на эту поделку.


  1. dimsoft
    21.03.2024 06:32

    Купил 1гиговую версию 4-й Малинки + модуль захвата = 4+2 тр на али, подключил простым usb-c кабелем - всё работает


  1. nikolau
    21.03.2024 06:32

    А популярное коммерческое решение - это какое? Какие вообще есть недорогие KVM-over-IP? Есть ли на Алиэкспрессе что-то подобное?


    1. KiruSsh Автор
      21.03.2024 06:32

      Есть ощущение, что в последние годы более популярны решения ATEN, раньше еще встречались вендорские (Dell/HP). По поводу Алиэкспресса ничего не скажу.


    1. Onegai
      21.03.2024 06:32

      На Али есть уже готовые сборки того же PiKVM


  1. plotn1
    21.03.2024 06:32

    Че т как то скучновато. Типа "соберите pikvm, но лучше не собирайте, потому что дорого". Я буквально месяц назад собрал из "того, что было" - orange pi plus 2e + usb hdmi loop конвертер, который на алике спокойно есть. И тысяч 7 это мне вышло, если не ошибаюсь.

    Плюс на алике есть альтернативные наборы - blikvm. О них тоже не рассказали.

    Вообщем тема немного многограннее.


  1. rubinstein
    21.03.2024 06:32

    Могли бы уже и расшифровать, что такое kvm. Только не говорите, что мне надо лезть в гугл.


  1. igrblkv
    21.03.2024 06:32
    +1

    Avocent DSR1021/4030 или аналогичные с 1 или 2 кабелями VGA/PS2/USB будут стоит в районе десятки, отдельно кабели - от тысячи до трёх. Переходники с HDMI/DVI/DP на VGA продаются на Али, если надо. Y-кабель 2*PS/2-USB там же.
    Ещё можно поискать что-то типа Avocent PM3009H - и сделать по красоте.

    DIY или Сделай сам - понимаю, но зачем - нет.