Pi kvm что это

Обновлено: 04.07.2024

Состоялся первый публичный релиз проекта Pi-KVM: набора софта и инструкций, которые позволяют превратить Raspberry Pi в полностью функциональный IP-KVM. Это устройство подключается к HDMI/VGA и USB-порту сервера, чтобы управлять им удаленно, независимо от операционной системы. Можно включить, выключить или перезагрузить сервер, настроить BIOS и даже полностью переустановить ОС с загруженного образа: Pi-KVM умеет эмулировать виртуальный CD-ROM и флеш-накопитель.

Количество необходимых деталей, помимо самого Raspberry Pi, минимально, что позволяет собрать его буквально за полчаса, а общая стоимость окажется в районе $100 даже в самой дорогой конфигурации (в то время как многие проприетарные IP-KVM при меньшей функциональности будут стоить от $500 и выше).

Доступ к серверу через веб-интерфейс обычного браузера или VNC-клиент (никаких Java-апплетов или флеш-плагинов);
Низкая задержка видео (порядке 100 миллисекунд) и высокий FPS;
Полная эмуляция клавиатуры и мыши (включая светодиоды и прокрутку колесиком/тачпадом);
Эмуляция CD-ROM и флешки (можно загрузить несколько образов и подключать их по мере необходимости);
Управление питанием сервера с помощью ATX-пинов на материнской плате или через Wake-on-LAN; поддерживается IPMI BMC для интеграции в существующую сетевую инфраструктуру;
Расширяемые механизмы авторизации: начиная от обычной по паролю и заканчивая возможностью использования единого сервера авторизации и PAM.
Широкая поддержка железа: Raspberry Pi 2, 3, 4 или ZeroW; различные устройства видеозахвата;
Простой и дружественный тулчейн, который позволяет собрать и установить ОС на карту памяти Raspbery Pi всего парой команд.
… И многое другое.

Также готовится к релизу специальная плата расширения для Raspberry Pi 4, которая реализует все описанные функции, плюс множество других возможностей (подробности на GitHub). Открытие предзаказов ожидается в четвертом квартале 2020 года. Стоимость ожидается в районе $100 или меньше. Подписаться на новость о предзаказе можно тут.

Любая серверная система обязательно располагает средствами удалённого управления — это аксиома, поскольку физический доступ к серверу не всегда возможен и может быть крайне неудобным и затратным по времени. Часто для этой цели используются дополнительные устройства, называемые IP-KVM (от слов keyboard, video, mouse).

KVM-коммутаторы обычно не являются открытыми, что влечёт за собой ряд неудобств. Но идеология «открытости» проникает и в эту сферу, тем более что для реализации KVM существует отличная основа в виде плат Raspberry Pi, обладающих достаточными вычислительными мощностями для кодирования и трансляции видеосигнала по сети.


Интерфейс Pi-KVM прост и интуитивен

«Малина» проникает повсюду: на базе этих недорогих и универсальных плат сегодня существует множество проектов, от вычислительных кластеров до систем умного дома. Вполне логично использовать Raspberry Pi и для реализации KVM, особенно последнюю на сегодня четвёртую версию с процессорными ядрами Cortex-A72. Этой цели и добился открытый проект Pi-KVM, у которого сегодня состоялся первый публичный релиз. Деталей требуется немного, проект очень прост в реализации и затраты укладываются в суммы от $30 до $100 — очень неплохо на фоне стоимости фирменных KVM от $500.

Реализация Pi-KVM в силу своей природы позволяет производить операции с питанием сервера, можно зайти в интерфейс настроек BIOS/UEFI, установить операционную систему, сэмулировать внешний CD/DVD/USB-накопитель, использовать смонтированный на нём образ, при нужде перезагрузиться — всё, чего не позволяют чисто программные средства, вроде VNC.

Программная часть Pi-KVM использует ARM-дистрибутив Arch Linux, идеология которого изначально предусматривает модульность и конфигурируемость. Она дополнена необходимыми для реализации функций KVM пакетами, в частности, демоном kvmd. Вся программная часть написана на Python и имеет лицензию GPLv3.

Raspberry Pi 4

Поскольку от Java разработчики отказались полностью, устройство отличается низкой латентностью в работе — задержка видеосигнала составляет порядка 100 миллисекунд, чего более чем достаточно для выполняемых Pi-KVM задач. Интерфейсы клавиатуры и мыши эмулируются полностью, включая управление состоянием индикаторных светодиодов. Управление питанием сервера реализовано путём подключения Pi-KVM к соответствующим ATX-контактам на системной плате, но также поддерживается и Wake-on-LAN.

Вопросу безопасности уделено серьёзное внимание и аутентификацию пользователя можно осуществлять рядом способов, от классической парольной до использования PAM и выделенного сервера паролей. В настоящее время Pi-KVM может базироваться на моделях Pi 2, 3, 4 и ZeroW, поддерживаются различные устройства видеозахвата, но разработчики сейчас заняты созданием специальной платы расширения для Raspberry Pi 4, что сделает Pi-KVM ещё более удобным.

Проект платы расширения Pi-KVM

Проект платы расширения Pi-KVM

Проект полностью открытый и все данные содержатся в репозитории на GitHub. Там же доступен удобный сборщик проекта. Однако создатели Pi-KVM также планируют продавать разработанный ими комплекс. Предварительные заказы можно будет сделать в четвертом квартале текущего года, стоимость, как и было сказано, составит около $100. Устройство может стать достаточно популярным благодаря сочетанию возможностей и цены.

На Хабре вряд ли стоит рассказывать о программах удаленного доступа к ПК, вроде TeamViewer. Но все это работает лишь в среде операционной системы. А вот доступа к BIOS, возможности установки, переустановки и прочих операций с операционной системой нет. Для всего этого есть иные решения. Одно из самых доступных — KVM Over IP.

Конечно, если покупать брендовую систему, то получится дорого. Но есть иное решение — создание собственной системы на основе «малинки». Это решение предложил разработчик Максим Деваев (Maxim Devaev). Он собирается начать продавать эту систему по $130. Но собрать все это можно и самостоятельно — главное запастись собственными компонентами. Под катом — описание того, как это сделать.


Прототип Pi-KVM без корпуса

Необходимые компоненты

  • Raspberry Pi 4 или Raspberry Pi Zero
  • Карточка памяти microSD с объемом памяти 16 ГБ.
  • Переходник HDMI-to-CSI.
  • Сплиттер USB female to dual male Type-A.
  • Кабель
  • USB C to Type-A
  • Источник питания 5В, 3А с портом USB Type-A.

Настройка SD-карты для Raspberry Pi KVM Over IP

Все, что нужно для настройки можно загрузить из сети в виде образа диска и записать потом этот образ на карточку. Сделать это можно при помощи Raspberry Pi или balenaEtcher (есть и другие варианты).

    Загрузить образ диска Pi-KVM. Вот ссылка. На исходном ресурсе есть несколько версий образов — для разных версий Pi. Кроме того, выбирать нужно исходя из того, что вы используете — HDMI-to-CSI или HDMI-to-USB.



Собираем и настраиваем Raspberry Pi for KVM Over IP

Теперь можно приступить к сборке «железа». Здесь тоже все просто.


  1. Соединяем CSI шлейф нашего HDMI-to-CSI-2 бриджа с портом камеры «малинки». Чтобы убедиться, что все правильно подключено, лучше посмотреть на фото. Если вы используете HDMI-to-USB, то просто подключите коннектор к разъему USB. Ну или в случае Pi Zero — подключаем microUSB к USB Type-A.
  2. Нужно заизолировать 5В пин на коннекторе USB Type-A сплиттера. Проще всего сделать это при помощи тонкого изолирующего материала. Можно просто убрать и контакты, которые ведут к этим пинам, но все же безопаснее и проще — просто заизолировать коннектор. Если этого не сделать, то USB порт компьютера может быть поврежден.
  3. Подключаем кабель USB C-to-A к Type-A




Настройка ПО Pi-KVM

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

Кроме того, можно запустить командную строку Windows и выполнить команду “arp -a”. После этого вы увидите все адреса устройств, подключенных к локальной сети. Любой девайс, адрес которого начинается с b8:27:eb: или dc:a6:32: и является Raspberry Pi.


2. Вводим IP в браузере клиентского ПК, после чего открывается страничка входа.

3. Дефолтные значения входа — admin и admin.


4. Кликаем по иконке KVM.


Теперь должен загрузится экран, как показано на скриншоте ниже. Он предоставляет доступ к удаленному ПК при помощи меню. Можно получить и больше меню, чем указано на картинке, вот ссылка, где рассказывается, как это сделать.


Чем больше объем вашей SD-карты, тем больше образов ISO можно загрузить и использовать в дальнейшем, расширяя функциональность системы.


Если все правильно подключено и настроено, инструменты управления уже должны быть доступны.


Для расширения функциональности системы, например, использования дополнительных дисплеев, можно использовать подключение HDMI 4.


А вот прототип нашей системы без корпуса и 4-х портовый KVM switch.

Обновление Pi-KVM до последней версии

Pi-KVM часто получает обновления, поэтому постарайтесь держать актуальную версию. Для обновления нужно:

  1. Выбираем иконку консоли в главном меню Pi-KVM, после чего запускается консоль.
  2. Вводим «su» и получаем суперпользователя. Пароль — root
  3. Вводим “rw” и открываем систему для записи.




Удаленное управление

Лучше всего использовать такой инструмент, как Tailscale. Он удобен, бесплатен для обычных пользователей, плюс с его помощью можно без труда развернуть небольшую VPN-сеть.

  1. Заводим учетку в Tailscale, выбирая бесплатный тариф Solo Plan для частного использования.
  2. Нажимаем на иконку консоли в главном меню Pi-KVM





Сторона клиента

Теперь настроим tailscale на клиенте. Tailscale поддерживает большинство операционных систем, включая windows, mac и linux.

  1. Загружаем версию для своей ОС по этой ссылке.
  2. Переходим по этой ссылке для отображения IP VPN.

Pi-KVM - проект открытого IP-KVM на Raspberry Pi

Состоялся первый публичный релиз проекта Pi-KVM: набора софта и инструкций, которые позволяют превратить Raspberry Pi в полностью функциональный IP-KVM. Это устройство подключается к HDMI/VGA и USB-порту сервера, чтобы управлять им удаленно, независимо от операционной системы. Можно включить, выключить или перезагрузить сервер, настроить BIOS и даже полностью переустановить ОС с загруженного образа: Pi-KVM умеет эмулировать виртуальный CD-ROM и флеш-накопитель.

Количество необходимых деталей, помимо самого Raspberry Pi, минимально, что позволяет собрать его буквально за полчаса, а общая стоимость окажется в районе $100 даже в самой дорогой конфигурации (в то время как многие проприетарные IP-KVM при меньшей функциональности будут стоить от $500 и выше).

  • Доступ к серверу через веб-интерфейс обычного браузера или VNC-клиент (никаких Java-апплетов или флеш-плагинов);
  • Низкая задержка видео (порядке 100 миллисекунд) и высокий FPS;
  • Полная эмуляция клавиатуры и мыши (включая светодиоды и прокрутку колесиком/тачпадом);
  • Эмуляция CD-ROM и флешки (можно загрузить несколько образов и подключать их по мере необходимости);
  • Управление питанием сервера с помощью ATX-пинов на материнской плате или через Wake-on-LAN; поддерживается IPMI BMC для интеграции в существующую сетевую инфраструктуру;
  • Расширяемые механизмы авторизации: начиная от обычной по паролю и заканчивая возможностью использования единого сервера авторизации и PAM.
  • Широкая поддержка железа: Raspberry Pi 2, 3, 4 или ZeroW; различные устройства видеозахвата;
  • Простой и дружественный тулчейн, который позволяет собрать и установить ОС на карту памяти Raspbery Pi всего парой команд.
  • … И многое другое.

Также готовится к релизу специальная плата расширения для Raspberry Pi 4, которая реализует все описанные функции, плюс множество других возможностей (подробности на GitHub). Открытие предзаказов ожидается в четвертом квартале 2020 года. Стоимость ожидается в районе $100 или меньше. Подписаться на новость о предзаказе можно тут.



Ну, прошу любить и жаловать - мой маленький петпроджект. Пилил его в стол несколько последних лет и допилился до продакшн-реди. У проекта есть немаленькое коммьюнити (в основном англоговорящее), и кто-то даже использует его в своих датацентрах.

Чтобы сделать Pi-KVM юзабельным, мне пришлось разработать с нуля целую кучу софта. Например, все существующие решения стриминга видео с хардварных устройств (ffmpeg, vlc, mjpg-streamer) работали крайне медленно, поэтому я написал собственный MJPEG-сервер на сях: uStreamer, который обеспечивает задержку всего 100ms, умеет сжимать картинку в несколько потоков и на GPU пая. Интерфейс написан на чистом JS без фреймворков, поэтому получился легким (несколько сотен КБ включая картинки в SVG) и быстрым. А для сборки и установки оси на карту памяти придумал интересный способ, который обеспечивает повторяемость и высокую скорость ребилда: образ собирается в докере с arm-binfmt, а потом разворачивается, превращаясь в чистую файловую систему для флешки. В итоге, если все правильно собрать, моя поделка просто заработает без сношения мозгов. Быстро, удобно, надежно.

liksys ★★★ ( 27.07.20 08:43:11 )
Последнее исправление: liksys 27.07.20 08:57:50 (всего исправлений: 4)


Это устройство подключается к HDMI/VGA

А малина как-то умеет принимать видео по HDMI/VGA? Или делается схема какого-то преобразователя (и если да, то во что)?

P.S. При более внимательном прочтении увидел упоминание про «различные устройства видеозахвата». Стало чуть понятнее.

hobbit ★★★★★ ( 27.07.20 09:28:42 )
Последнее исправление: hobbit 27.07.20 09:30:56 (всего исправлений: 1)


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


Выглядит интересно, схоронил. Как раз недавно интересовался, как из говна и палок слепить ip-kvm.


Круто, а стенку в магазине он может убрать а можно к нему 4G модем подключить и рулить серваком в обход корпоративной сетки? На сколько большой по размеру получится модуль на Pi Zero?


Можно ссылку хоть на одну такую? Очень интересно стало


Мне кажется такие балалайки именно для этого и сделаны - рулить в обход сетки в том числе, легально (не хакерство)


Плата Raspberry Pi с мостом HDMI CSI и проводами к разъему ATX.

Команда работает над выпуском платы v3, и уже готов предварительный заказ.

Ключевые особенности

  • Он поддерживает Raspberry Pi 2, 3, 4 и Zero W. Вам нужно знать, что для Raspberry Pi 4 и Zero не так много внешних компонентов, которые вам понадобятся. Однако, если вы используете Raspberry Pi 2 или 3, вам понадобится дополнительная плата Arduino для управления клавиатурой, мышью и т. д.
  • Видео в формате Full HD с использованием усовершенствованного моста HDMI-CSI или USB-донгла. Шина HDMI-CSI позволяет настраивать изменения разрешения, сжатие видео и многое другое, в то время как с USB-донглом вы получите лучшую частоту кадров, но не получите всех элементов управления.
  • Сверхнизкая задержка видео 100 мс (для моста CSI) по сравнению с 200 мс для USB-донгла.
  • Функция загрузки позволяет переустановить ОС с помощью виртуального компакт-диска и флэш-накопителя.
  • Он может использовать IPMI BMC, IPMI SoL, Redfish и Wake-on-LAN для управления сервером.


Веб-интерфейс Pi-KVM с входом HDMI, виртуальной клавиатурой и меню

Начало работы с DIY Pi KVM

DIY Pi KVM over IP будет стоить всего от 30 до 100 долларов в зависимости от желаемых функций. Даже самая дорогая конфигурация будет дешевле, чем коммерческий IP-KVM за 500 долларов. В настоящее время команда разрабатывает собственную прошивку HAT для v3, которая будет иметь множество дополнительных функций, включая встроенное управление питанием ATX и т. д.

Вы можете использовать платы, отличные от Raspberry Pi, но вам придется самостоятельно подготовить операционную систему. Что касается программного обеспечения Pi-KVM, вам нужно будет заменить некоторые файлы конфигурации (например, правила UDEV). Вы можете оставить предварительный заказ на плату v3.

Читайте также: