Как же удобно пользоваться персональным компьютером или ноутбуком, ведь монитор и клавиатура всегда под рукой. Но что делать, если оборудование расположено далеко и получить непосредственный доступ для подключения затруднительно? Сложно представить такое ограничение? Для инженеров дата-центров это стандартная проблема. Настолько стандартная, что уже и не проблема, а специфика работы.

Конечно, никто «жонглировать вслепую» не собирается — поэтому и выработался уже целый пул решений для работы с оборудованием. Один из вариантов — использовать IP-KVM.

Меня зовут Макс, я системный инженер в Selectel. В этой небольшой статье расскажу, как мы пришли к нынешнему виду наших IP-KVM и какие трудности нам пришлось пройти. Наша история — под катом!

Тысяча и один вопрос об управлении серверами

Допустим, нам нужен монитор, чтобы получать информацию с сервера. А еще — клавиатура с мышкой, чтобы передавать все необходимые команды. Мысленно переносимся в дата-центр и видим десятки тысяч серверов. Как получить ко всем ним доступ?

  • Неужели придется закупить тысячи клавиатур, мышек и мониторов? Или по очереди подключаться одними монитором с клавиатурой к каждому серверу…

  • Использовать SSH, RDP или VNC? А если сервер завис и без ручного пинка никак?

  • Использовать встроенные модули enterprise-материнских плат для удаленного управления сервером — например, IPMI или iDRAC? А если такой роскоши нет?

Решение — использовать IP-KVM

Для подобных ситуаций существует IP-KVM (IP-based Keyboard, Video, Mouse). Проще говоря, это специальный миникомпьютер для внешнего подключения к I/O интерфейсам сервера и эмуляции монитора, мышки и клавиатуры. 

Таким образом, управление сервером не зависит от сбоев ОС или от физической доступности железа. Подключайся к миникомпьютеру-эмулятору и управляй сервером так, будто стоишь перед ним. 

В Selectel мы используем различные IP-KVM. Один из самых частых вариантов — Lantronix Spider KVM Over IP Switch.

Как-то мне сказали, что IP-KVM больше напоминает power bank. Но глядя на провода и порты понимаешь, что это гораздо более продвинутое устройство. Здесь и VGA для видео, и USB или PS/2 для клавиатуры и мыши. Для начала работы достаточно подключить IP-KVM в сервер. С другой стороны патч-корд в интернет — и вот сервер доступен из любой точки мира. Все ведь так просто! Или нет?

Дополнительные фишки IP-KVM Lantronix

Так просто в дата-центрах не бывает, ведь один из главных наших принципов — резервирование. Поэтому оно в KVM есть! IP-KVM Lantronix имеют два ввода питания —  с I/O-интерфейса сервера через USB-A и дополнительный с miniUSB-B.

Резервирование — это круто, но надо еще подключиться к IP-KVM. Берем обычный медный патч-корд и  тянем к ближайшему коммутатору. Один патч потратить на IP-KVM не страшно, но в рамках ДЦ мы умножаем этот патч на тысячи IP-KVM — и это уже неприятно.


Поэтому инженеры придумали технологию Cascade — последовательное подключение IP-KVM друг к другу. Первая-вторая-третья… и вот у вас уже целая «гирлянда». Ограничиваемся только пропускной способностью в 1 Гбит/с, чтобы всем было комфортно работать.

Для обеспечения стабильности и резервирования каждая KVM в гирлянде при потере ведущего соединения (отвале KVM или повреждении патча) проверяет cascade-порт на подключение к свитчу. И при положительном ответе автоматически меняет роли ethernet с cascade-портов между собой. Таким образом, вся цепь сразу работает в другую сторону. Если вдруг отвалилась первая IP-KVM или повредился патч где-то в середине, то гирлянда буквально делится на две части и продолжает работать.

Иногда еще хочется консольником подключиться к serial-порту — и даже тут нас выручает IP-KVM. Специально для таких целей в устройство встроили отдельный порт с автополярностью, чтобы не обжимать rollover-патч. Настройка свитчей и специфичного оборудования упрощается в разы.

Наверное, вы уже поняли, что подключить KVM к серверу — значит, буквально встать перед ним и подключиться монитором с клавиатурой. Осталось только придумать, как бы флешку вставить для установки ОС. Вдруг сервер только собрали, он полностью пустой, а флешку подключать — не вариант. Или ОС полностью крашнулась и нужно срочно накатывать новую…

Специально для таких аварий у Lantronix есть режим работы в Java, который позволяет загружать любые ISO-образы с вашего компьютера. К сожалению, такой режим имеет очень плохой user experience. Нужно устанавливать стороннее ПО и ставить Java определенной версии… Да и, если честно, сам визуал хромает.

Но это нужно же не только нам. Клиентам тоже хочется арендовать сервер и пользоваться им не только через SSH. Специально для них мы поработали над настройками KVM, создав немного скриптов. 

И вот инженеры могут легко подключить устройство к серверу клиента — достаточно нажать кнопку автонастройки, тогда KVM получает статический белый IP и новый пароль для клиента, а на указанный порт свитча выставляется специальный VLAN для доступа к IP-KVM из интернета.

Неужели есть минусы? 

А куда без них. Самое неприятное — это стоимость подобных решений. Цена в 300 000 ₽ за один Lantronix — довольно высокая даже для крупного провайдера IT-инфраструктуры. Конечно, есть и аналоги вроде ATEN CN800, но даже они стоят от 60 000 ₽, а функционал в разы скромнее.

  • Отсутствует возможность cascade-подключений.

  • Нет резервирования питания, все идет по I/O-портам от сервера.

  • Один RJ-45 на все задачи, а значит нет консольного подключения.


При этом количество IP-KVM пропорционально зависит от количества серверов в дата-центре. И, как вы понимаете, с каждым годом нам необходимо все больше и больше устройств.

Мы посчитали траты и решили найти достойную альтернативу нынешним IP-KVM. Нужно было интересное по функционалу устройство с возможность масштабирования и простотой в эксплуатации. И вот мы нашли BLIKVM-CM4.

Арендуйте GPU за 1 рубль!

Выберите нужную конфигурацию в панели управления Selectel. *

Подробнее →

BLIKVM-CM4, или как мы пришли к своей KVM

Один из наших инженеров случайно наткнулся на интересный проект — IP-KVM на базе Raspberry Pi. Изучив всю доступную информацию в интернете, он решил заказать эту «игрушку». И каково же было его удивление, что приехала самая настоящая KVM на open source-платформе.

В небольшой коробочке собрана вся прелесть DIY-подхода с ноткой открытого исходного кода. На базе Raspberry Pi мы получаем новую, удобную, дешевую и полностью настраиваемую под себя IP-KVM. 

По сути, это обычная Raspberry Pi 4 в красивой коробочке и разными портами. Но суть кроется в деталях, ведь можно легко собрать прошивку под свои нужды. Например, добавить аутентификацию логин/пароль, включить эмуляцию флеш-накопителя и выделить объем памяти под загрузочные iso-образы ОС. А еще — задать видеокодеки и настроить ему битрейт с FPS, выделить сочетания клавиш для HID, поменять интерфейс под свой стиль и добавить динозаврика. Спойлер: именно так мы и сделали.

Все эти функции уже входят в стандартную прошивку PiKVM OS, которую можно легко разобрать и сшить под свой вкус — обширная документация идет в придачу. Open source – это круто!

Проектирование корпуса под PCI-e KVM

В скором времени линейка BLIKVM стала расширятся. Появилась PCI-e модель:

Теперь даже коробочки нет — только сплошная плата с максимальным функционалом за 20 000 ₽.

Мы решили попробовать изготовить свой корпус — от проектирования модели в Blender до 3D-печати. По сути, нам нужен был небольшой защитный «коробок» с перфорацией и портами:

  • Type-C, RJ-45 и HDMI;

  • место для срочной замены SD-карты, на которой установлена прошивка IP-KVM;

  • «окно» под небольшой экран;

  • перфорация у радиатора CPU, чтобы в монолитном кейсе не случилось перегрева;

Также для удобства нужно было разделить корпус на две части: крышку и основание. В результате получился первый вариант кейса для IP-KVM:

Специально для таких задумок у нас стоят 3D-принтеры с разными типами пластика. Выбор конкретного в нашем случае не был критично важным, поэтому сначала мы использовали PLA. А для устойчивости конструкции выставляли заполнение хотя бы на 10-15% и уже после отправляли в печать. На создание одного комплекта (основа + крышка) потребовалось около четырех часов.

Не забыли и откалибровать 3D-принтер на испытуемом:

Спустя с десяток попыток и исправления неточностей получили почти идеальную модель. И вот наш DIY-набор готов к крафту.

Сборка устройства

Итого, для сборки нужны Blicube CM4 PCI (комплект: плата, Raspberry Pi CM4, дисплейный модуль с кабелем, microSD), наш спроектированный и напечатанный корпус, впаиваемые закладные гайки M2.5x3mm (4 шт), винты M2.5x6mm (4 шт), отвертка и паяльник.

Сборка состоит всего из нескольких действий.

  1. Впаиваем латунные закладные в пластиковый корпус. 

  2. Устанавливаем плату, выводим порты в пазы. 

  3. Прикручиваем дисплей и закрываем корпус. 

Наконец, получаем такой результат:

Первый продовый экземпляр под кодовым названием Pi-KVM_V12. Именно таких моделей у нас большинство. Их чаще всего используют в проектах типа Chipcore из-за HDMI-порта и быстрого подключения. Вот только условия эксплуатации бывают разными, а значит надо адаптироваться.

Улучшение устройства

Нет предела совершенству. Через пару недель мы добавили в корпусе выемки и стали устанавливать неодимовые магниты для крепления KVM к стойкам. А через месяц кто-то начал клеить на корпус резиновые вкладки, чтобы улучшить сцепление с окрашенным металлом стоек.

Спустя время наши инженеры подумали наперед и для предотвращения возможных проблем с перегревом в жарких стойках создали улучшенную версию с маленьким вентилятором и гравировкой динозаврика!

Вот первые наброски:

Новые модели получили название TSNP Edition (Throttling shall not pass). Да, такой маленький вентилятор не меняет картину кардинально, но градусов 10 сбрасывает — ощутимый результат в условиях обдува 70 градусным ветерком.

Особенности устройства

Главным минусом, как и плюсом, является полностью открытая архитектура. Для работы этих маленьких коробочек нужно тратить время инженеров на создание образов прошивок, на 3D-модели и просто на сборку. Lantronix предоставляет готовый продукт, который из коробки идет в продакшен, а BLIKVM дает простор для творчества и подгонки.

Любые нововведения требуют масштабных обновлений всех собранных коробочек. Даже добавление одного скрипта может потратить целый день работы инженера.

Но это же и плюсы! Например, в отличии от Lantronix у наших IP-KVM нет cascade-режима. Каждая KVM нуждается в личном патч-корде. Это не очень удобно, поэтому сейчас мы хотим модернизировать BLIKVM и добавить Ethernet-порт для cascade-подключения.

Довольны ли мы решением

Да, довольны. Мы прошли длинный путь к финальной реализации проекта на BLIKVM. А самое интересное, что это все — благодаря энтузиазму инженеров. Кому-то захотелось придумать свое решение — он подготовил базу и описал свой подход. Инженер из другого дата-центра вдохновился и продолжил разработку, внося свое видение. А инженер третьего дата-центра создал полноценную прошивку, инженер четвертого — модернизировал 3D-модель и оптимизировал их печать. И вот — вы читаете эту статью.

Наш инженер разрабатывает корпус IP-KVM TSNP Edition.
Наш инженер разрабатывает корпус IP-KVM TSNP Edition.

А какие IP-KVM предпочитаете вы? Поделитесь своим опытом и мнением о нашей разработке в комментариях!

Комментарии (0)