Если спросить обычного человека, как он себе представляет сервер, в большинстве случаев ответ будет содержать слова «большой компьютер». Да и близкие к теме люди привыкли, что в большинстве случаев сервер — это как минимум «мини-башня» или одноюнитовый «стоечник».
Куда компактнее решения сегмента SOHO — для малого или домашнего офиса, часто это небольшие кубики, исполняющие несложные, но важные роли — хранилище данных, почтовый или веб-сервер, фаерволл или сервер VPN-доступа и многие другие. Компактное серверное решение есть даже у Apple — сервер на базе Mac Mini. Серверы-малыши начали входить в обиход на стыке «нулевых» и «десятых», с появлением экономичных процессоров Intel Atom.
Но один из первых мини-серверов появился почти на 10 лет раньше, в 2000 году. Проект «Соленая река» («Salt River»), получивший замысловатое официальное имя «Intel 440MX Communications Appliance Reference Design» изначально не был рассчитан на массовое производство, он должен был лишь продемонстрировать возможность создания полноценных, но компактных и экономичных серверов для выполнения задач, не требующих высокой производительности.
Эти машины должны были стать образцом для создания серийных моделей, большая часть их была разослана производителям оборудования, учебным заведениям, крупным системных интеграторам, потенциальным пользователям из числа больших корпоративных заказчиков.
К сожалению, на тот момент идея, как говорится «не зашла» — что часто бывает с решениями, опередившими свое время. Наш экземпляр сохранился чудом — выпущены были в очень небольшом количестве и для реального использования они не предназначались, лишь для тестов, потому отправились на списание довольно быстро. Сервер был подарен коллекции «Digital Vintage» пожелавшим остаться анонимным дарителем. К сожалению, история сервера также осталась тайной.
Волшебная коробочка
Внешне, девайс больше похож на что-то из сетевого оборудования. Небольшой металлический корпус серебристого цвета с возможностью установки в стойку — вот только не привычную 19-дюймовую, а компактную телекоммуникационную — 10-дюймовую (с использованием полки — монтажных креплений или отверстий для них нет). Высота тоже стандартная — 1U. Отличный вариант для небольших филиалов — можно разместить в одном шкафчике коммутаторы, маршрутизатор и пару-тройку таких машинок.
Передняя панель оформлена в фирменных цветах Intel — голубой пластик и белые надписи. Слева — двухстрочный экран и пять кнопок управления, справа — линейка светодиодных индикаторов, шесть из которых стандартные — индикаторы питания, активности диска и состояния сетевых интерфейсов, а восемь — управляемые программно. Для работы с дисплеем, кнопками и индикаторами используется интерфейс I2C. Задняя панель еще утилитарнее: последовательный порт, два сетевых интерфейса, два USB порта и разъем питания. Видеовыход — не предусмотрен.
Внутри все очень просто — небольшая материнская материнская плата, обычный IDE 3.5-дюймовый жесткий диск (в нашем случае Seagate U-series на 10 ГБайт) и 40-мм вентилятор для отвода нагретого воздуха. Плата, сердце и разум сервера, заслуживает особого внимания. Она очень миниатюрна — всего 4 на 7 дюйма (примерно 10х18 см). Компоновка довольно плотная — в центре чипсет, одночиповое решение Intel 440MX-100 (фактически 440BX без поддержки AGP и PIIX4E в одном корпусе).
Под скромным пассивным радиатором расположен процессор. Использован чип Intel Embedded Celeron ULV с тактовой частотой 300 МГц и 128 КБайт кэша второго уровня, выделяющий при работе всего лишь 5.7 Вт тепла. В отличие от своих собратьев, он использует системную шину с частотой 100 МГц. Процессор имеет маркировку QDB2, соответствующую квалификационным образцам, а не серийной продукции (серийный процессор имел бы обозначение SL5LG).
Рядом с процессором расположен SO-DIMM разъем для памяти SDRAM, стандартно устанавливалось 32 МБайт, официально поддерживается до 128 МБайт памяти (именно такой объем установлен на данный момент). Также на плате расположены два чипа сетевых контроллеров Intel 82559ER и чип MultiIO (на обратной стороне платы). Для микросхемы BIOS предусмотрена довольно необычная, но удобная «кроватка».
Из интересного: микросхему BIOS можно было легко поменять, сдвинув фиксатор и раздвинув две половинки элемента крепления. Очень удобно для отладки прошивки! В нашем случае микросхема BIOS имела обозначение E28F002BC-T80.
Из разъемов присутствуют пара IDE — обычный и «ноутбучный», внутренний COM-порт, 6-контактный I2C порт, разъемы питания жесткого диска и вентилятора. С обратной стороны — интерфейс для подключения мезонинных плат PMC (PCI Mezzanine Board), достаточной популярного промышленного формата. В целом плата конструктивно очень близка именно к промышленным решениям.
Игры разума
Вероятно, вы уже заметили, что чего-то очень привычного не хватает? Да, это не упущение невнимательного автора, здесь действительно не предусмотрено никакого видеоконтроллера. Весьма необычно для мира IBM PC, но совершенно обычная история в мире серьезной серверной техники — например, многие серверы Sun также не имели видеоконтроллера. Вот только «сан-техника» нативно умеет работать с последовательными терминалами и использует соответствующий порт в качестве консоли по умолчанию.
В случае с нашим героем, это отразилось на поддержке операционных систем — Windows Server (на тот момент актуальными были NT 4.0 и 2000) в списке совместимости отсутствует, зато есть серьезные альтернативы — FreeBSD, QNX и Linux, а также разнообразные специализированные решения. В большинстве известных примеров, сервер работает под FreeBSD или QNX.
К сожалению, изначальная инсталляция FreeBSD была повреждена, поэтому был установлен Linux, а точнее дистрибутив для построения сетевых устройств — OpenWRT. Пока не удалось разобрать с работой I2C устройств, а в остальном устройство готово к полноценной работе (конечно, с учетом производительности сетевых интерфейсов).
Это вполне соответствует изначальной концепции устройства, ведь Appliance подразумевает устройство, выполняющее одну определенную роль, управляемое как правило через веб-интерфейс или утилиту управления с рабочего места администратора.
По меркам 2000 года, производительность системы не поражала воображение, но для обеспечения потребностей небольшого офиса была вполне достаточна. А для работы в качестве маршрутизатора (тут можно было даже добавить 4-портовую мезонинную сетевую плату), пожалуй даже была избыточна — в то время большинство соединений не использовало шифрование и не создавало такой нагрузки, как сейчас. О хорошей производительности можно судить даже по скорости загрузки — довольно современная версия OpenWRT загружается менее чем за минуту.
Самые производительные серверы на PC платформе тогда имели 8 процессоров с частотой 700 МГц (Intel Xeon 700/2M), но даже для мощных файловых серверов нормой было иметь на борту пару Pentium III на 500-800 МГц. Разница значительная, но не огромная. Объем памяти тоже не был критически мал. Основной проблемой могла стать дисковая подсистема — всего один диск и никаких средств обеспечения отказоустойчивости. Но и требования к доступности такой системы не в пример ниже, чем у сервера масштаба предприятия.
QNX
Рабочий стол QNX 6 (Neutrino) после установки. Источник
В свое время, эта система наделала немало шума — ее демо-версия помещалась на одной дискете, при этом предоставляла пользователю полноценный рабочий стол, доступ в интернет и современный на момент выхода браузер. Многие неискушенные пользователи возлагали на нее большие надежды, как на будущую альтернативу на рынке настольных операционных систем. Но система изначально предназначалась для других целей и красивое демо лишь демонстрировало ее гибкость.
QNX — операционная система реального времени, предназначенная для встраиваемых и промышленных решений. Именно она виделась Intel основной ОС для построения нового сегмента компактных устройств, включая и рассматриваемый в этой статье девайс. Ее ключевые свойства — надежность, гибкость и возможность работы в режиме реального времени могли оказаться очень кстати и для серверных приложений.
К сожалению, планы в полной мере не сбылись — серверный рынок активно стала занимать быстро развивающаяся ОС Linux. Именно ради проектов на базе QNX мини-серверы поставлялись учебным заведениям. В России, например, известны работы Института электронной техники и машиностроения СГТУ.
Изначальный рынок промышленных решений QNX сохранила и успешно развивается. Последняя мажорная версия (7.0) датирована 2017 годом, новые версии находятся в разработке. Система портирована на множество архитектур, в том числе и российский Эльбрус.
Она активно применяется в бортовых транспортных системах, от автомобилей до авиалайнеров и больших морских судов, в медицинском оборудовании, в управлении производственными процессами, радиолокационных системах и даже в космических устройствах. Кастомизированная версия QNX легла в основу систем Cisco IOS XR, управляющей самыми производительными коммутаторами компании — Cisco CRS-1.
Путь длиной в два года
Сервер попал в коллекцию поздней осенью 2018 года, но долгое время считался безнадежным устройством. Первые проблемы была устранена быстро — пришлось заменить разъем питания и батарею CMOS. Но дальше дело серьезно застопорилось. Причин было несколько. Основная — полное отсутствие документации на устройство. Удалось найти только упоминание в каталогах и информационный буклет. Не помогло даже обращение в коллегам из Intel — они смогли предоставить лишь тот же самый буклет.
Приходилось действовать методом «научного тыка». К сожалению, сервер «молчал» на обоих COM-портах и не пытался начать загрузку системы. В процессе исследований пала жертвой микросхема BIOS (благо с сервером в комплекте была запасная материнская плата). В результате, девайс большую часть времени просто пролежал на полке, в ожидании очередного озарения.
Прорыв наступил в ноябре 2020 года, когда машинка попала в руки коллеге автора по работе и по увлечению, Darksa. Он рассудил, что вполне возможно, это устройство является обычным персональным компьютером и имеет вполне обычный, а не кастомный BIOS. Последний, при сбросе настроек входит в ступор, который лечится входом в утилиту и сохранением хотя бы дефолтных настроек.
Так оно и вышло — сервер отреагировал на подключенную USB клавиатуру и после сохранения настроек попытался загрузиться с диска. Дальше — дело техники: проверить состояние разделов и самого диска, залить образ OpenWRT и запустить сервер.
Заключение
На данный момент сервер полностью «здоров». В дальнейших планах — установить более аутентичную ОС, научиться работать с I2C устройствами и создать демонстрационный сервис с минимальными возможностями управления через меню на встроенном экране.
Но это дело будущего — на данный момент в коллекции «Digital Vintage» проходят восстановление несколько довольно интересных машин, готовятся с постройке новые необычные проекты в линейке «SERVERGHOST». А главное — дальнейшее развитие дружбы и коллаборации с Selectel. Оставайтесь с нами, будет интересно!