Привет! Меня зовут Юра Мочалов, я работаю в компании НУБЕС дежурным администратором дата-центра 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-проект, а значит, в нем могут быть уязвимости. Если их не закрывать вовремя, можно стать жертвой злоумышленников из Сети.
Чтобы обновиться:
Открываем консоль.
Получаем права суперпользователя командой su, стандартный пасс — root.
Вводим команду rw, тем самым открываем нашу «малину» для записи.
Вводим pacman -Syu и подтверждаем при помощи «Y».
Увы, я так и не смог опробовать все прелести дистриба Pi-KVM из-за причин, которые описывал выше. Но может быть, эта небольшая инструкция вам пригодится.
Немного о реалиях 2024
У разработки Максима Деваева есть свои фанаты. Об этом говорит множество видеороликов о Pi-KVM на Ютубе. Кроме того, есть последователи. Например, в 2021 году появилось похожее решение на Гитхабе. Но я хотел сказать о другом.
Возможно, три-четыре года назад собирать KVM или приобретать поделия у умельцев было бы сильно выгоднее, чем покупать коммерческое решение. Так можно было сократить расходы в 4-5 раз. Но теперь на фоне внешнеполитических событий многое изменилось.
Для сравнения я посчитал: на начало 2024 года кастомная KVM Over IP с опенсорсным ПО из составляющих с Алиэкспресса обошлась бы в 25–30 тыс. рублей. Готовые устройства Pi-KVM, как я уже говорил, можно приобрести за сумму от 20 тыс. рублей. Я не беру в расчет стоимость доставки и то, потребуется ли дополнительно покупать VGA-HDMI конвертер или что-то еще.
В любом случае популярное коммерческое решение выходит где-то в два раза дороже. Экономия не такая привлекательная, как раньше, но она есть. Стоит ли она того, чтобы не сдаваться (как я) и заморачиваться с поиском комплектующих — вопрос сложный.
А вы что думаете?
Комментарии (23)
NutsUnderline
21.03.2024 06:32+4Вот я еще с трудом могу понять когда энтузиасты такой франкенштейн собирают и используют. (Хотя энтузиасты то очень не прочь мат.млаты с IMPI на домашнем сервере).
Даже не очень удивляет что причиной "провала" стало отсутствие кабеля, схема которого есть, спаять его может почти начинающий радиолюбитель, не абы какого - он просто питание дает (а теги diy прописаны).
Меня удивляет что подобная самосборка описана в корпоративном блоге дата-центра, где подобное оборудование является почти базовым. Возникает вопрос: сервера тоже на хунананах с али сделаны? Дешево ведь.
Если же это делать чисто для себя то можно открыть мир вторички. Там и малинки подешевле есть, и готовые устройства, если с diy не очень хорошо
KiruSsh Автор
21.03.2024 06:32+3Хотелось собрать из готовых компонентов. Если бы хватило энтузиазма, я б дошел до пайки. Но желание иссякло быстро, если честно)
Что касается истории с "самосборкой" в корпоративном блоге: думаю, возникло недопонимание. Я рассказал о том, как хотел сам попробовать собрать KVM на "малине". Стали бы его использовать у нас в ЦОДе или нет — совсем другой вопрос.
Daddy_Cool
21.03.2024 06:32+2Спасибо, очень интересно!
Что-то малина подорожала нынче на рынке...
А нельзя ли без неё? Какой-нибудь древний комп времен P4 и...NutsUnderline
21.03.2024 06:32какой нибуть древний комп не очень шустр в сжатии видео как такового. надежность под вопросом. нужен какой нить видеозахват который пержимает видео, так что хватает usb2.0 и софт который тут малиннный надо (очень) сильно) адаптировать. Не то чтобы нельзя но профит и затраты - очень на любителя.
Fox_exe
21.03.2024 06:32+1Orange Pi Zero 2 (H616) ~3000р.
модуль захвата USB-HDMI ~1000р.
STM32F103C8T6 ("BluePill") в качестве эмулятора клавиатуры и мыши. ~200р.
Немного костылей в плане софта ~???р. (Пара часов потраченого времени).
И да, такой конфиг вполне себе успешно работает. Нафига тут дорогущий и мощный Raspberry PI 4 - решительно неясно.
NutsUnderline
21.03.2024 06:32Это в теории?
Fox_exe
21.03.2024 06:32+3На практике. Года два назад такое собирал.
NutsUnderline
21.03.2024 06:32+4О! Можно бы и публикацию накатать ;) Мне вот любопытно как H616 по линуксом видео тянет, какой охлад. Ну и как все это добро слепить в комплекс.
Daddy_Cool
21.03.2024 06:32Присоединяюсь к просьбе о публикации! За 4-5 тыс получается очень даже вкусно. Но всё таки - а можно и на Orange сэкономить? Старые компы-то есть в количестве.
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 Защиту и показывают чёрный экран, вместо картинки. Тут от модели зависит.
NutsUnderline
21.03.2024 06:32HDPC. это решаемо. технически. ну и есть наверное штуковины видеохахвата которым в принципе не важно.
V-King
21.03.2024 06:32+1Относительно недавно тоже наткнулся на piKVM. Для малинки не обязательно колхозить кабель с разветвлением. Вполне себе работает вариант - подать +5V и GND на гребёнку GPIO. Больше гемора доставит модуль HDMI-CSI. То, что на алике есть - без бубна не взлетает. Мне разбираться было лень и я пока забил на эту поделку.
dimsoft
21.03.2024 06:32Купил 1гиговую версию 4-й Малинки + модуль захвата = 4+2 тр на али, подключил простым usb-c кабелем - всё работает
nikolau
21.03.2024 06:32А популярное коммерческое решение - это какое? Какие вообще есть недорогие KVM-over-IP? Есть ли на Алиэкспрессе что-то подобное?
KiruSsh Автор
21.03.2024 06:32Есть ощущение, что в последние годы более популярны решения ATEN, раньше еще встречались вендорские (Dell/HP). По поводу Алиэкспресса ничего не скажу.
plotn1
21.03.2024 06:32Че т как то скучновато. Типа "соберите pikvm, но лучше не собирайте, потому что дорого". Я буквально месяц назад собрал из "того, что было" - orange pi plus 2e + usb hdmi loop конвертер, который на алике спокойно есть. И тысяч 7 это мне вышло, если не ошибаюсь.
Плюс на алике есть альтернативные наборы - blikvm. О них тоже не рассказали.
Вообщем тема немного многограннее.
rubinstein
21.03.2024 06:32Могли бы уже и расшифровать, что такое kvm. Только не говорите, что мне надо лезть в гугл.
igrblkv
21.03.2024 06:32+1Avocent DSR1021/4030 или аналогичные с 1 или 2 кабелями VGA/PS2/USB будут стоит в районе десятки, отдельно кабели - от тысячи до трёх. Переходники с HDMI/DVI/DP на VGA продаются на Али, если надо. Y-кабель 2*PS/2-USB там же.
Ещё можно поискать что-то типа Avocent PM3009H - и сделать по красоте.DIY или Сделай сам - понимаю, но зачем - нет.
CherryPah
Я как-то не так ищу? Вон по 100 рублей полная выдача
Если у вас там тысячи стоек то наверное и сервера стоят серверные, в которых всегда есть штатный kvm (IPMI/iLO/iDrac/etc) А все эти наколеночные поделия они либо для совсем древнего железа, либо для консьюмерских тауэров, и то и то нужно из цода выносить вперед ногами.
За 25к, в которые вам обошелся только KVM на авито можно купить серверную платформу в которой удаленный доступ будет работать из коробки.
KiruSsh Автор
Возможно, сейчас уже можно найти все компоненты. В статье описал всё, как было на момент, когда я еще горел идеей самостоятельной сборки.
А KVM у нас, конечно, же есть. И она не сделана на коленке)) Опять же дело в другом: мне самому было интересно собрать решение. Ну и побаловаться с "малиной" немного.
Что касается IPMI, проблема в том, что мы предоставляем услуги colocation и приходится работать с оборудованием клиента. Часто они не приобретают лицензии для централизованного управления IPMI Также бывают ситуации, когда имеется полностью рабочий сервер с мертвым чипом IPMI, поэтому от KVM до конца отказаться не получается.