Неограниченные возможности удаленного администрирования по доступной цене
Крис Касперски
В настоящее время широко используемые программные средства удаленного администрирования годятся лишь для «подсобных» работ по хозяйству. Ни залезть в настройки BIOS, ни переустановить операционную систему они не в состоянии. Для этого нужен физический доступ к серверу, а ведь до него еще добраться нужно! Но если обзавестись системой аппаратного администрирования, то никуда добираться и не потребуется…
Содержание:
- Введение или попытка классификации
- Усы, лапы и хвосты KVM систем
- Интегрированные ISA/PCI платы или Remote Boards
- Remote Insight
- Боковые выносы
Введение или попытка классификации
Системы удаленного администрирования делятся на программные и аппаратные. Первые, как и следует из их названия, представляют собой простую программу, работающую «поверх» операционной системы и опирающуюся на предоставляемые ею ресурсы (выделение памяти, установка сетевых соединений и т.д.). Если же при загрузке Windows вспыхивает Голубой Экран (ядро Linux впадает в панику), или же система работает нестабильно, то утилиты удаленного администрирования оказываются бесполезным балластом, не говоря уже о том, что все они представляют потенциальную брешь в безопасности. Но не будем критиковать то, на чем сидим…
Удаленные системы аппаратного администрирования достаточно разнообразны и образуют, по меньшей мере, две обособленные группы, функционирующие на разных физических принципах, среди которых с большим отрывом лидируют KVM’ы — устройства, подключаемые к VGA, PS/2 Keyboard, PS/2 Mouse разъемам и заворачивающие сигнал либо в простой экранированный кабель, протяженностью до нескольких сотен метров, либо в Ethernet-порт (доступный из любой точки локальной сети), либо же (в самом сложном случае) реализующих собственный TCP/IP стек, позволяющий администрировать сервер хоть из соседней комнаты, хоть с побережья Флориды.
Менее популярны ISA/PCI платы, встраиваемые непосредственно внутрь компьютера и перехватывающие клавиатурный ввод/вывод вместе с текстовыми (реже — графическими) видеорежимами. Главное их достоинство в том, что они способны работать даже при отказе одного или нескольких узлов компьютера, в частности, перешивать «слетевший» Flash-BIOS, даже если материнская плата не реагирует ни на клавиатуру, ни на что другое. К тому же, если KVM’ы вынуждены передавать аналоговый видеосигнал, требующий широких каналов, то передача содержимого видеопамяти в «нэйтивном» режиме (точнее, даже не самой видеопамяти, а ее изменений) позволяет передавать 1280×1024 по хлипкому модемному каналу на 19.200, сохраняя при этом до 13-16 fps, что вполне достаточно для комфортной работы. Плюс ко всему, цифровой видеоряд довольно хорошо сжимает по алгоритму MPEG4 с коэффициентом квантования равным единице, при котором он превращается в lose-less алгоритм.
Теперь, после краткого введения в курс дела, рассмотрим каждую из этих систем во всех подробностях.
Аббревиатура KVM расшифровывается как Keyboard, Video-monitor & Mouse. Первоначально эти устройства предназначались для объединения нескольких компьютеров в одну консоль (что намного удобнее, чем держать несколько мониторов и клавиатур на одном столе). Они выпускаются многими компаниями, и их довольно часто можно увидеть на витрине магазинов. Так что у продавцов спрашивай KVM-switcher’ы или, по-русски, свичи или переключали.
Самые простые свичи — механические — состоят из простого переключателя, обвешанного такими же простыми фильтрами, призванными исключить помехи, возникающие при переключении. Но, как показывает практика, помехи все-таки возникают и часто интерпретируются компьютером как «мусорный» клавиатурный или мышиный ввод, создающий вполне реальную угрозу потери данных (надеюсь, не нужно объяснять почему?).
Чуть более сложные (а, значит, и дорогие) свичи основаны на электронных ключах и помех уже не вызывают, однако, и электронным, и механическим свичам присущи серьезные недостатки, а именно — крайне ограниченная длина кабеля, в среднем составляющая пару десятков метров. При этом на мониторе наблюдается устойчивая рябь и 1280х1024 — это предельное разрешение. При увеличении длины кабеля до 100 метров помехи существенно возрастают, и приходится переключаться в режим 800×600 или даже ниже. CRT-мониторам — хорошо. Они работают на (практически) любом разрешении, а вот LCD изначально затачиваются под одно конкретное разрешение и под всеми остальными либо показывают экран, размером с почтовую марку, либо занимаются экстраполяцией, что так же не добавляет качества.
Короче говоря, для удаленного администрирования KVM-свичи непригодны, поскольку радиус их действия не выходит за стены конторы, в которой установлен сервер, и хотя существует (теоретическая) возможность кинуть шматок кабеля в соседний корпус, сразу же возникают проблемы с безопасностью, поскольку никакой защиты от несанкционированного доступа тут нет, и злоумышленнику ничего не стоит захватить управление сервером.
Продвинутые KVM-свичи имеют встроенный Ethernet-контроллер, позволяющий передавать информацию по локальной сети в открытом или зашифрованном виде. Естественно, стоят они намного дороже и, что самое неприятное, съедают львиную долю пропускной способности 100 Мегабитного Ethernet’а. И даже если в локальной сети установлен сервер, обеспечивающий выход в интернет, администратору (для управления из дома) потребуется, по меньшей мере, DSL-модем (Dial-Up соединения будет уже не достаточно).
На рынке соседствуют десятки, если не сотни, моделей KVM-свичей с поддержкой Ethernet или даже встроенным TCP/IP стеком. Достаточно набрать в Гугле слово «KVM» и поискать в «Sponsored Links» модель подешевле и посимпатичнее.
К слову, существует даже открытый проект Opengear, бесплатно распространяющий референсную схему вместе с печатной платой и встраиваемой операционной системой, под которой все это хозяйство работает: .
Как бы там ни было, KVM-свичи с поддержкой Ethernet’а реализуют удаленное администрирование в полном масштабе. Вставляем в CD-ROM диск с любимым дистрибутивом, а в дисковод — дискету с образом Flash-BIOS и… отключаем дисковод в BIOS’е (в самом деле, зачем дисковод серверу?!). Он не будет мешать нормальной работе сервера, но если вдруг что-то случится с BIOS (которую, кстати, можно перешивать удаленно с помощью KVM), система после перезагрузки «увидит» флоп и после подтверждения администратора, переданного все через тот же KVM, совершит откат к правильному образу.
Некоторые модели матерей реализуют процедуру восстановления BIOS’а путем переключения перемычки на плате. Тут KVM отдыхают и единственное, что можно посоветовать администратору — не выбирать такую плату или использовать интегрированные устройства удаленного управления, о которых речь пойдет ниже.
Интегрированные ISA/PCI платы или Remote Boards
Недостатки KVM-свичей особенно очевидны при администрировании *nix-серверов, управляемых преимущественно из командной строки, весь ввод/вывод которой свободно вмещается в 9600 бод/сек. Однако, даже в текстовом видеорежиме аналоговый видеосигнал требует достаточно широкой полосы пропускания и высококачественных АЦП/ЦАП на свиче, видеокарте и мониторе, в противном случае текст будет невозможно читать. Бывает и так, что некоторые модели свичей несовместимы с определенными мониторами/видеокартами или страдают хронической термонестабильностью, т.е. меняют свои свойства в зависимости от температуры, вынуждая подстраивать LCD монитор по мере прогревания/охлаждения всех устройств. Кому это нужно?!
К тому же, при «тяжелых» зависаниях сервера спасает только «reset», а его через KVM-свич никак не нажмешь. Про прочие переключатели, расположенные на плате, мы уже говорили. Выход? Вставить внутрь компьютера специальную плату, имеющую физический доступ к видеопамяти и прочему оборудованию.
Такие платы не имеют устоявшегося названия и производятся сравнительно небольшим количеством фирм (преимущественно размещенных внутри гаража), обычно маркирующих их как «Remote Board». Но это ничего не говорящее название может быть присвоено практически любому устройству, так что при заказе товара через интернет следует соблюдать особую осторожность.
А что же гиганты? Почему они до сих пор игнорируют этот сектор рынка? Ответ — не хотят составлять конкуренцию своим же серверам. Ведь настоящий сервер отличается от PC в первую очередь тем, что изначально поддерживает обширные возможности удаленного управления. Физический доступ требуется только в критических случаях (ну или при плановом техническом обслуживании).
Чтобы понять, как устроена и работает Remote Board, необходимо хотя бы в общих чертах разобраться, что происходит в процессе загрузки машины, и какую роль при этом играет BIOS. Материнские платы от EPOX хороши тем, что отображают ход загрузки в виде быстро сменяющих друг друга шестнадцатеричных цифр на двухразрядном восьми-сегментном индикаторе. Нет, следить за ходом загрузки с помощью индикатора мыщъх не предлагает (для этого потребовалось бы снимать его на высокоскоростную камеру). Намного проще открыть приложение к мануалу, где перечислены все цифры вместе с соответствующими им стадиями загрузки системы.
Первым получает управление загрузочный блок (boot-block), который, выполнив инициализацию критически важных узлов, приступает к сканированию ISA шины, отыскивая контроллеры устройств и проецируя ПЗУ каждого из них на адресное пространство процессора. На поздних стадиях загрузки подключается модуль, ответственный за поддержку шины PCI, инициализирующий PCI-устройства.
Ладно, забудем об ISA-шине и сосредоточим все внимание на PCI. Любое PCI-устройство имеет полный доступ к адресному пространству ЦП, на которое всегда отображается видеопамять текстового режима, причем отображается она заранее определенным образом. То же самое относится и к графическим VGA-режимам. А вот с появлением SVGA начинается полный разброд и чехарда. На адресное пространство отображается лишь часть внутренней памяти видеокарты, и нет никакой возможности отобразить всю ее целиком. Единственный путь — воздействуя на PCI-регистры карты (с точки зрения процессора — порты ввода/вывода), переключать банки, но стратегия переключения банков не стандартизирована и варьируется от одной карты к другой.
Следовательно, мы вынуждены либо встраивать драйвера всех (ну или не всех, а хотя бы самых популярных видеокарт) в ПЗУ нашей Remote-Board (представляющей собой обыкновенную PCI-плату), либо довольствоваться только текстовыми и VGA-режимами. С некоторой натяжной можно замахнуться на работу в VESA, но тут свои проблемы. Хотя формально все современные видеокарты являются VESA-совместимыми, но далеко не все из них поддерживают VESA-режимы правильно.
Как вариант, можно встроить систему удаленного управления в ПЗУ видеокарты. Некоторые производители именно так и поступают. Но этот путь связан со многими патентными и лицензионными ограничениями, поэтому не очень-то популярен.
Кроме доступа к видеопамяти, нам необходимо перехватывать мышь и клавиатуру. В случае PS/2 шины это решается без проблем, поскольку порты PS/2 шины проецируется на адресное пространство ввода/вывода процессора, доступное для чтения/записи остальным PCI-устройствам. С USB клавиатурами и мышами ситуация намного более напряженная, поскольку они еще плохо стандартизированы, к тому же «оседлать» USB в техническом плане намного сложнее, чем PS/2, однако, поскольку речь идет о внутреннем перехвате управления, то плате удаленного управления совершенно все равно, какие физические устройства подключены к компьютеру. Главное, чтобы BIOS (и/или драйвер операционной системы) был настроен на работу с PS/2, что всегда можно сделать.
Остается только прицепить к плате удаленного управления COM-порт, повесить на него модем, запитать их обоих от внешнего источника питания, и мы почти у цели. Для администрирования всего лишь потребуется модем плюс терминал. Модем — это, конечно, хорошо (тем более для прокладки модемного кабеля можно воспользоваться незадействованными проводами в витой паре, которые, собственно говоря, для телефона и предназначены), однако, во многих случаях удобнее администрировать сервер через локальную сеть. Ну, это не проблема! Достаточно встроить систему удаленного управления в сетевую карту, благо, большинство из них снабжено Flash-BIOS’ом, и свободное место в нем есть!
Таким образом, существующие модели Remote Board базируются либо на автономной PCI-плате, имеющей доступ к PCI-регистрам остальных устройств, либо на базе видео или сетевой карты с доработанным BIOS’ом. Наличие внешнего источника питания позволяет «нажимать» на Reset через реле или электронный ключ, аналогичным образом поступая с кнопкой Power и перемычками на плате.
Разобравшись с матчастью обратим свой взор к витринам магазинов и посмотрим, что хорошего из готовых изделий нам предлагают.
По соотношению функционала к цене бесспорным лидером является модель Remote Insight (от Hewlett-Packard) для PCI-слота, несущая на своем борту интегрированный 10/100 Мегабитный Ethernet-контроллер. Поддерживаются как текстовые, так и графические видеорежимы (причем графические — вплоть до 1280х1024 и 256 цветов в придачу — это, конечно, не True Color, но мы же не «Шрека» собираемся смотреть!). Управление — мышь, да клавиатура, плюс традиционная (для данного класса устройств) возможность удаленного нажатия на Power и Reset. В качестве приятного бонуса предлагается виртуальный дисковод и привод CD-ROM, образ которого можно заранее положить на жесткий диск или передать по Ethernet. Вроде бы мелочь, а приятно. Компьютер, оснащенный Remote Insight может вообще не иметь никаких съемных носителей, что существенно усиливает безопасность, а к безопасности в Hewlett-Packard подходят с головой, не забывая о шифровании. Как говорится, свинья не выдаст, а 128-битный SSL будет сниться хакерам в ночных кошмарах. Внешний источник питания также входит в комплект, и заботиться о его приобретении не нужно.
Удаленное администрирование осуществляется либо через telnet, либо через web-браузер. Список поддерживаемых операционных систем довольно велик и включает в себя: Windows 2000/2003 (Advanced Server, Data Center, Terminal Server, Standard или Enterprise Edition), Novell NetWare 5.1, 6.0, Red Hat Advanced Server 2.1, Red Hat Linux 7.3/8.0, SuSE Linux Enterprise Server V7/V8 и многие другие клоны *nix.
Карту можно приобрести в магазине или заказать по интернету непосредственно в самой Hewlett-Packard. Все это удовольствие обойдется в $399 (цена указана на момент написания статьи и может варьироваться как в ту, так и в другую сторону).
Существуют и открытые варианты плат удаленного управления, например, PC Weasel 2000, поставляемой в ISA и PCI-вариантах вместе с принципиальной схемой и исходным кодом прошивки по цене в $250 и $350 соответственно, причем, вместо Ethernet-контроллера имеется только тормозной UART (т.е. контроллер COM-порта), а блок питания в комплект не входит, в свете чего становится непонятно — за что платить такие деньги?
Впрочем, не будем навязывать выбор читателю. Open Source имеет столько же прав на существование, сколько корпорация Hewlett-Packard со всеми своими патентами.
INFO
-
При наличии некоторого усердия и умения держать паяльник в руках, спаять Remote Board можно и самостоятельно, но далеко не всякий шеф позволит поставить в критический сервер не сертифицированный агрегат, да еще собранный в кустарных условиях.
WWW
-
Описание устройства и принципов работы различных типов KVM-свичей на
-
Обзор систем удаленного управления Remote Insight «Lights Out» boards:
-
Описание платы удаленного управления Remote Insight Lights-Out Edition II:
-
Описание альтернативной платы удаленного управления PC Weasel 2000, микрокод, который распространяется по открытой лицензии:
-
Технические характеристики огромного количества систем удаленного управления (преимущественно KVM-коммутаторов):
-
Описание хорошего KVM-коммутатора Raritan IP-Reach TR364:
Статья опубликована в мартовском номере журнала «Xakep» за 2007 год.





