Pi kvm что это
Состоялся первый публичный релиз проекта 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.
Поскольку от 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
Проект полностью открытый и все данные содержатся в репозитории на 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
Теперь можно приступить к сборке «железа». Здесь тоже все просто.
- Соединяем CSI шлейф нашего HDMI-to-CSI-2 бриджа с портом камеры «малинки». Чтобы убедиться, что все правильно подключено, лучше посмотреть на фото. Если вы используете HDMI-to-USB, то просто подключите коннектор к разъему USB. Ну или в случае Pi Zero — подключаем microUSB к USB Type-A.
- Нужно заизолировать 5В пин на коннекторе USB Type-A сплиттера. Проще всего сделать это при помощи тонкого изолирующего материала. Можно просто убрать и контакты, которые ведут к этим пинам, но все же безопаснее и проще — просто заизолировать коннектор. Если этого не сделать, то USB порт компьютера может быть поврежден.
- Подключаем кабель 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 часто получает обновления, поэтому постарайтесь держать актуальную версию. Для обновления нужно:
- Выбираем иконку консоли в главном меню Pi-KVM, после чего запускается консоль.
- Вводим «su» и получаем суперпользователя. Пароль — root
- Вводим “rw” и открываем систему для записи.
Удаленное управление
Лучше всего использовать такой инструмент, как Tailscale. Он удобен, бесплатен для обычных пользователей, плюс с его помощью можно без труда развернуть небольшую VPN-сеть.
- Заводим учетку в Tailscale, выбирая бесплатный тариф Solo Plan для частного использования.
- Нажимаем на иконку консоли в главном меню Pi-KVM
Сторона клиента
Теперь настроим tailscale на клиенте. Tailscale поддерживает большинство операционных систем, включая windows, mac и linux.
- Загружаем версию для своей ОС по этой ссылке.
- Переходим по этой ссылке для отображения IP VPN.
Состоялся первый публичный релиз проекта 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?
Можно ссылку хоть на одну такую? Очень интересно стало
Мне кажется такие балалайки именно для этого и сделаны - рулить в обход сетки в том числе, легально (не хакерство)
Команда работает над выпуском платы 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 для управления сервером.
Начало работы с DIY Pi KVM
DIY Pi KVM over IP будет стоить всего от 30 до 100 долларов в зависимости от желаемых функций. Даже самая дорогая конфигурация будет дешевле, чем коммерческий IP-KVM за 500 долларов. В настоящее время команда разрабатывает собственную прошивку HAT для v3, которая будет иметь множество дополнительных функций, включая встроенное управление питанием ATX и т. д.
Вы можете использовать платы, отличные от Raspberry Pi, но вам придется самостоятельно подготовить операционную систему. Что касается программного обеспечения Pi-KVM, вам нужно будет заменить некоторые файлы конфигурации (например, правила UDEV). Вы можете оставить предварительный заказ на плату v3.
Читайте также: