Привет! Меня зовут Юра Мочалов, я работаю в компании НУБЕС дежурным администратором дата-центра 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 конвертер или что-то еще.
В любом случае популярное коммерческое решение выходит где-то в два раза дороже. Экономия не такая привлекательная, как раньше, но она есть. Стоит ли она того, чтобы не сдаваться (как я) и заморачиваться с поиском комплектующих — вопрос сложный.
А вы что думаете?