Как я «малину» собирал. История создания KVM на базе Raspberry Pi

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

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

aa3dfc3ac04f62f1ccccc30f6e2dc4c0.jpeg

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

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

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

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

© Habrahabr.ru