Бог мой! Надо бы что-то предпринять. Но я уже в пижаме…Профессор Хьюберт Фарнсворт “Футурама” Итак, понеслась… на часах 21:00, ужин давно съеден, кот поглажен и, казалось бы,  пора на боковую, но к сожалению сегодня сервер тебя опередил. Вечер моментально перестал быть томным. Телефон разрывается от сообщений о недоступности сервисов, клиенты недовольны, коллеги в панике, кот стрессует.  Нужно как можно скорей проверить железку, которая находится на другом конце города и как-то ехать туда в ночь не хочется да, в принципе, и не нужно – как-никак в 21-м веке живем. Обращаешься в ЦОД с просьбой подключить KVM, получаешь удаленный доступ и приступаешь к диагностике. После успешной проверки и перезагрузки, серверу становится лучше и можно с чистой душой успокоить клиентов, коллег, кота,  снять супергеройский плащ и идти спать. Как видим, благодаря KVM, удалось максимально оперативно приступить к решению проблемы, не тратя драгоценное время и деньги на поездку в дата-центр. Что же представляет из себя технология KVM? Какие бывают виды KVM и чем они отличаются? Как подобрать для себя оптимальный KVM? – эти и не только вопросы мы постараемся разобрать в данной статье.  Keyboard Video Mouse switch/console – оборудование, позволяющее управлять одним или несколькими компьютерами как локально, так и удаленно.  История разработки технологии KVM берет свое начало в 80х годах 20го века, когда скорость развития IT-индустрии начала набирать значительные темпы. Количество оборудования, располагаемого в дата-центрах с каждым днем увеличивалось. Каждое устройство требовало подключения к себе монитора, клавиатуры и мышки, которые вскоре стали занимать довольно весомую часть ценного пространства в серверных. Малого того, еще и росло время, потраченное на  выматывающие перебежки от одного сервера к другому.  В какой-то момент здравый смысл победил и инженеры взялись за разработку решения, которое позволило бы подключаться сразу к нескольким серверам имея всего лишь один комплект клавиатуры, мышки и монитора. Таким решением стали KVM-переключатели. Первые KVM-переключатели (или kvm-switch/свитч) были  механическими приборами, которые при помощи гальванической развязки буквально физически отключали консоль от одного сервера к другому, с чем было связано множество неудобств. С переходом на электронику многие KVM-переключатели стали активными устройствами с гибкой настройкой и множеством дополнительных полезных функций. Использование электрических схем и матриц коммутации позволило увеличить количество подключаемого оборудования — на данный момент существуют модели, к которым можно подключать до 64х серверов, а в случае применения каскадирования, количество возрастает до 512. Многочисленные активные удаленные сеансы перестали быть проблемой с переходом на протокол IP ( KVM over IP).   На сегодняшний день KVM устройства вышли за рамки оборудования для дата-центров и широко применяются в домашних условиях, а также в условиях малого офиса, позволяя управлять несколькими компьютерами с одной консоли.  Также KVM-переключатели и консоли просто незаменимы в промышленности при мониторинге технологических линий, систем безопасности и видеонаблюдения, активно встраиваются в банкоматы и вендинговые аппараты для удаленного контроля.  В общих чертах принцип работы всех KVM состоит в  преобразовании, усилении  и передаче сигналов,  между консолью и сервером, к которому подключен KVM переключатель Практически во всех современных компьютерах в момент включения и загрузки операционной системы происходит инициализация периферийных устройств. В случае отключения клавиатура/мышь/дисплей повторная инициализация при подключении занимает ощутимый промежуток времени, что вносит неудобство при работе с большим количеством оборудования. Чтобы решить данный вопрос, была разработана технология, при помощи которой KVM-переключатели стали буквально эмулировать сигналы периферии (Signal Simulation Technology). На временно неиспользуемое устройство посылаются сигналы, имитирующие активный сеанс подключения консоли, чтоб сократить время переключения, если оно вновь будет выбрано пользователем.   Одним из важнейших преимуществ в использовании удаленного подключения через KVM-переключатель является то, что он независим от операционной системы. В связи с этим, в отличии от программных средств удаленного доступа (Radmin, VNC, Hamachi, AnyDesktop и тд), KVM дает доступ на уровне BIOS. Посредством KVM возможен мониторинг системы и запуск диагностических тестов, инсталляция ОС, перезагрузка сервера, обновление программного обеспечения. Еще одной важной особенностью любого уважающего себя KVM-переключателя является мультиплатформенность, то есть совместимость с большинством существующих операционных систем. Также для комфортной работы KVM-переключатель должен поддерживать подключение различных брендов клавиатур, мышей и мониторов. Как упоминалось выше, KVM-переключатель должен поддерживать подключение периферии от различных брендов, а раз к нему подключаются клавиатура, мышь и монитор, значит, должны быть и определенные требования к консольным портам.  Мышь и клавиатура Подключение мыши и клавиатуры возможно через интерфейсы типа USB  или же PS/2. В причину своей распространённости и внедряемости практически во все, что движется и не движется, наличие USB Type-A в KVM-переключателе является предпочтительней, чем PS/2. Также на многих серверах либо полностью отсутствует PS/2,  либо есть лишь один порт, что, мягко говоря, не совсем удобно, если ты собираешься использовать KVM.  Как вывод, в случае выбора KVM-переключателя с PS/2 или USB, следует опираться на наличие тех или иных интерфейсов в устройствах, к которым вы будете в дальнейшем удаленно подключаться. Видеовыходы KVM-переключатели в зависимости от модели поддерживают различные виды цифровых и аналоговых видео-выходов (CatX KVM, HDMI, VGA, DisplayPort, DVI, USB-C, Thunderbolt). Максимально передаваемое разрешение картинки через KVM-переключатель на нынешний момент ограничено форматом Ultra HD (3840×2160).  Видеоинтерфейс Максимальное разрешение  Максимальная длина кабеля VGA 1280×1024 3 метра DVI 1920×1200 10 метров HDMI 3840×2160 10 метров DisplayPort 3840×2160 3 метра Технология, позволяющая передавать видео сигнал, а также сигналы клавиатуры и мыши  от сервера не по разным кабелям, а по одному кабелю (UTP cat5/6) при помощи CAM-модуля. При этом сам сервер может быть удален от KVM-переключателя на десятки метров (до 300м). Подключение через витую пару позволяет передавать сигнал на значительное расстояние без  потерь. Данное решение универсально, так как существует огромное количество CAM-модулей (Computer Access Module) с различными наборами интерфейсов.  Данная технология, благодаря экономии пространства, занимаемого на KVM-переключателе (один порт под RJ-45 вместо трех  портов под монитор/клавиатуру/мышь), позволяет значительно увеличить количество подключаемых устройств, что является весомым плюсом при выборе KVM-переключателя. Но не клавиатурой, мышкой и монитором едиными. Существует множество моделей KVM-переключателей, способных подключать аудио-девайсы, принтеры, съемные накопители и так далее.  KVM-переключатели, предназначенные для подключения до четырех устройств, зачастую являются пассивными и запитываются непосредственно от самого оборудования  через интерфейс USB или PS/2. Более дорогим, но и в то же время более надежным является вариант подключения через собственный  адаптер питания, которым всегда снабжены активные KVM-переключатели. Хорошо, сервера к KVM-переключателю мы подключили, теперь и самим бы как-то подключиться надо. Подключение, в зависимости от модели KVM-переключателя, возможно локальное или же удаленное. аналоговые KVM-переключатели – предоставляют только локальное подключение. Обязательным условием для передачи сигнала является наличие прямого подключения между сервером, KVM-переключателем и  пользовательской консолью. Для соединения KVM  с пользовательским ПК может использоваться витая пара или коаксиальный кабель. цифровые (KVM over IP / IP-KVM) –поддерживают удаленное подключение. Конвертируют аналоговый сигнал, поступающий от мышки, клавиатуры и монитора в цифровой и передают его поверх протокола IP через Internet на целевое устройство. Таким образом пользователь может управлять своим сервером с любой точки мира, где есть доступ к сети Интернет. Сколько людей может пользоваться KVM одновременно?  По количеству возможных пользовательских режимов KVM-переключатели делятся на: – однопользовательские – один пользователь может управлять группой удаленных устройств; – многопользовательские – группа пользователей может одновременно управлять группой удаленных устройств.  Современные KVM-переключатели поддерживают до 16 одновременных сеансов. При удаленном подключении через сеть Интернет всегда следует рассмотреть риски атаки на подключаемое устройство со стороны злоумышленников. При выборе KVM стоит особое внимание уделить этому вопросу и подробно ознакомиться с характеристиками.  Многие производители KVM-переключателей с функцией KVM over IP заботятся о том, чтоб их продукция поддерживать современные протоколы безопасности, такие как TLS 1.2-шифрование для браузеров и 128-битное RC4-шифрование для данных клавиатуры, мыши и видео. Также  с целью повышения удобства и эффективности работы пользователей KVM-переключатель должен поддерживать идентификацию и авторизацию через удаленные серверы, такие как LDAP, RADIUS, LDAPS и MS Active Directory. По ходу статьи упоминалась KVM-консоль, что же это такое, где она применяется и какие у неё особенности – рассмотрим ниже. KVM-консоль - оборудование для удаленного доступа с уже встроенными в него дисплеем, клавиатурой и аналогом мыши – тачпадом или тензометрическим джойстиком (трэкпоинтом).  По количеству портов KVM-консоли делятся на однопортовые и многопортовые. В многопортовых консолях обычно заранее встроен KVM-переключатель. По размеру диагонали на сегодняшний день наиболее популярны консоли с экранами 15,17,19 дюймов. Во всех KVM-консолях применяется экраны с LCD матрицы. Управление KVM-консоли может быть локальным, когда пользователь работает непосредственно за самой консолью или же удаленном (через протокол IP). Трансформирование консоли может быть по типу Dual Rail  – монитор и клавиатура могут отдельно друг от друга выезжать из стойки, или же  Single Rail – монитор и клавиатура могут выезжать только совместно. Подключение к серверам зачастую происходит по технологии CATx – когда CAM модуль с одной стороны подключен к серверу интерфейсами VGA, DVI, USB и др., а с другой стороны коннектором RJ-45 вставляется в консоль. KVM-консоли дают доступ к серверу на уровне BIOS, тем самым предоставляя широкие возможности конфигурации и удаленной настройки. Зачастую KVM-консоли применяют в дата-центрах, их монтируют непосредственно в стойку, при этом консоль в сложенном состоянии занимает всего лишь один юнит, чем помогает значительно сэкономить пространство и улучшить эргономику машинного зала.  IPMI Многие производители серверов позаботились о том, чтоб их клиенты могли в любое время получать доступ к своему оборудованию, не заботясь о приобретении KVM-переключателей и дополнительной коммутации.  Для реализации данной идеи был разработан стандарт IPMI (Intelligent Platform Management Interface) – специализированный интеллектуальный интерфейс для удаленного мониторинга и управления физическим состоянием сервера. Важной особенностью IPMI является его автономность – работа данного интерфейса не зависит от процессора, операционной системы, встроенного программного обеспечения (BIOS или UEFI). При помощи IPMI возможно включения/выключения питания на сервере, аппаратный сброс устройства, мониторинг состояния всех компонентов материнской платы. Реализация IPMI основывается на использовании встроенного в плату контроллера BMC (Baseboard Management Controller) – абсолютно автономного  модуля  с собственным процессором, операционной системой и памятью. Наличие дежурного напряжения (+5V Standby) на блоке питания достаточно, чтоб схема BMC корректно работала, то есть при этом сам сервер может быть выключен, что является важным преимуществом данной технологии. Контроллер BMC через различные интерфейсы соединен со всеми компонентами материнской платы, чтоб считывать показатели их состояния и предоставлять администратору подробную информацию о системе. Взаимодействие между удаленным пользователем и BMC контроллером осуществляется через специальный сетевой интерфейс, отдельно встраиваемый в материнскую плату, обычно он находится отдельно от остальных сетевых портов, рядом с разъемами для подключения периферии. Для обмена сообщениями используется протокол RMCP (Remote Management Control Protocol)  –  простой протокол запроса-ответа, реализуемый посредством дейтаграмм по протоколу UDP.  Такой способ обмена данными носит название “IPMI over LAN”. Крупные вендоры серверного оборудования, с целью коммерциализации, дорабатывали  данный стандарт под своё видение прекрасного и на выходе получился небольшой зоопарк в наименованиях одной и той же технологии, но с различными проприетарными модификациями: iDRAC (integrated Dell Remote Access Controller) –  DELL; iLO (Integrated Lights-Out) – Hewlett-Packard; IMM (Integrated Management Module) – у фирм Lenovo и IBM; IMC (Integrated Management Controller) – Cisco; SIM (Supermicro Intelligent Management) – Supermicro; iRMC (integrated Remote Management Controller) –  Fujitsu; и тд. и тп. …  Intel vPro Также свое решение в области удаленного администрирования представили специалисты компании Intel  в виде платформы Intel vPro в таком близком, но уже далеком 2007 году. По своей сути vPro это понятие, обобщающее под собой целый набор различных технологий (TXT, VT, AMT, XD-Bit, Turbo Boost, WiDi), направленных на облегчение обслуживания информационных систем и повышение безопасности доступа.  Стандартная линейка технологий, входящих в платформу Intel vPro состоит из: - Intel VT (Intel Virtualization Technology) — набор инструкций для процессора, позволяющий значительно повысить скорость работы виртуальной машины за счет аппаратной виртуализации. Инструкции Intel VT-x позволили виртуальным машинам работать напрямую с процессором, тем самым сокращая задержки и избегая потерь производительности. В свою очередь инструкции Intel VT-d отвечает за безопасное подключение гостевой OC к периферии, выделяя защищенные кластеры адресного пространства виртуальной памяти; - Intel TXT (Intel Trusted Execution Technology) — технология отвечающая за безопасность кода, выполняемого в виртуальной среде. В случае обнаружения несанкционированного изменения исполняемого кода,  Intel TXT позволяет отследить его и отсечь, таким образом эффективно борясь с вирусами, руткитами и прочим вредоносным ПО; - Intel AMT (Intel Active Management Technology)  - отвечает за удаленный доступ к системе. Так как AMT реализована как набор аппаратных функций на одной микросхеме с BIOS, это позволяет управлять устройством даже если на него не установлена операционная система или даже если оно выключено. Подключение через AMT происходит по отдельному независимому каналу обмена данными; - Intel Turbo Boost — механизм автоматического разгона процессора в моменты краткосрочных нагрузок. Данная технология позволяет увеличивать тактовую частоту до значений, превышающих допустимые по TDP (Thermal Design Power). Работа Intel Turbo Boost очень зависит от качественной работы системы охлаждения; - Intel XD-Bit (Intel Execute Disable Bit) — еще одно средство, позволяющее повысить безопасность работы с vPro. XD-Bit предотвращает атаки, использующие уязвимость переполнение буфера, с помощью  NX-Bit (No Execute Bit) «бита запрета на исполнение»; - Intel WiDi / Intel Wireless Docking — технологии подключения к периферии, мониторам, проекторам и прочему по выделенному беспроводному каналу. Как видно, технология представленная Intel действительно является достойным конкурентом IPMI и KVM-переключателям, но стоит не забывать, что для использования платформы vPro вся ваша IT-инфраструктура должна быть построена на технике с поддержкой  vPro (обычно, такая техника имеет маркировку Intel vPro®). Популярность технологии KVM действительно заслужена, ведь благодаря ей многие пользователи могут работать со своими устройствами, находясь в разных точках земного шара. KVM позволяет практически без ограничений настраивать, мониторить и обслуживать сотни удаленных серверов, имея под рукой стандартный набор периферии. KVM-переключатели и консоли  позволяют с максимальной пользой использовать место в серверных стойках, снижают электропотребление и сокращают материальные затраты на обслуживание IT-инфраструктуры.  Этот, зачастую незаметный, но стойкий «оловянный солдатик» уже десятилетиями с достоинством и честью выполняет возложенные на него функции, каждый день облегчая жизнь и работу тысячам людей.