Как выглядит изнутри и какие преимущества модульных ОС сетевых устройств, на примере XOS от Extreme Networks

от автора

В последние годы производители активного сетевого оборудования продвигают свои продукты которые работают на модульных ОС, при этом CLI если и отличается, то незначительно.

Основные различия, как правило, скрыты от администраторов и пользователей по вполне логичным причинам (защита технологий, авторских прав, а также возможных необратимых последствий, к которым могут привести действия пытливых умов). О том как такие логические структуры реализуются практически чуть ниже.


Как правило модульные ОС работают поверх:
• MontaVista Linux (Cisco NX-OS, Extreme XOS)
• FreeBSD (JunOS)
• OpenBSD (Dell-Force10 OS)
• и других …

Но работа непосредственно с самой файловой системой заблокирована и требует дополнительных привилегий.

Такой режим работы в Extreme XOS называется «debug-mode».
Для входа в “debug-mode” необходимо вбить вручную команду полностью , так как подсказка в этом случае не работает. После этого консоль выдаст приглашение на ввод пароля, получить который нужно у инженеров ТАС (если этого требует сервисный случай и есть действующий сервисный контракт). Пароль будет действителен в течении 59 минут, и генерируется на основе выдаваемого системой “challenge”.

После входа в “debug-mode” пользователю становиться доступна подсказка с помощью <ТАВ> пары дополнительных скрытых веток команд настроек.

И если ветка в большей своей части доступна к просмотру и в обычном режиме работы,

то вот ветка (сразу почему-то вспоминается мультфильм 🙂 является полностью скрытой и предназначена для отладки разработчиками XOS.

Стоит также заметить что, если знать скрытые команды ветки , то прописав их полностью в CLI их можно применить, а вот с командами такое не пройдет.

Но самое главное это то, что исключительно из этого режима есть возможность попасть в shell.

Набор команд встроенного BusyBox представлен на картинке

И достаточно привычная для всех Linux-систем структура корневых каталогов

Все подмонтировано на предустановленную в коммутаторе CF.

При установке XOS из BootRom можно увидеть как идет форматирование этих восьми логических разделов. Девятая позиция это внешняя USB флешка подключенная в порт на лицевой панели.

Ниже ответ на вопрос – «В чем разница при установке ОС в разделы „primary “ и „secondary“ ?», а также почему один файл XOS подходит для установки на все коммутаторы одной линейки независимо
от модели и функционала.

До выпуска семейства коммутаторов Summit X460 на коммутаторах устанавливались CPU от Broadcom с архитектурой MIPS 64, сейчас это более производительные процессоры от RMI с подобной архитектурой. Именно поэтому в файл операционной системы включены два ядра, каждое из которых скомпилировано под свой процессор. В качестве ядра выбрана версия 2.6.98.6.

Файлы alphadiags помогают продиагностировать аппаратную часть, начиная от работоспособности портов, внутренних шин и заканчивая светодиодами. Диагностика бывает простой и расширенной и запускается из CLI с помощью команды < run diagnostic { normal | extended } > (запуск вызывает обрыв трафика на портах !!!).

Вполне возможно что название alphadiags каким то образом связано с тем, что все оборудование Extreme Networks собирается на конвейерах заводов «Alpha».

Процессор который установлен в коммутаторе Summit X460-24t

Ниже собственно, те процессы и модули ядра благодаря которым операционная система и называется модульной.

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

Авторство некоторых модулей ядра. Так как Extreme Networks использует в своем оборудовании ASICs от Broadcom, то для работы с ними необходимы модули ядра от первоисточника.

Каждый коммутатор имеет идентификатор своей платформы который хранится в EEPROM, поэтому после установки идет проверка на соответствие платформы и уровня лицензии. Информация о том какой функционал необходимо запустить содержится в соответствующих файлах. Удобство такого подхода в том что после ввода лицензионного ключа просто подается команда на запуск соответствующих модулей, без необходимости полной переустановки образа ОС.

Последний файл это скрипт который загружает конфигурацию «по-умолчанию».

С помощью встроенного редактора «vi» можно посмотреть структуру таких файлов. Там всё достаточно просто: описание процесса/модуля, путь запуска, возможность ручного перезапуска, возможность самовосстановления процесса после сбоя, а также некоторые другие параметры.

Вывод:

1. Модульные ОС являются более интеллектуальными чем их предшественники — монолитные ОС, со всеми вытекающими маркетинговыми последствиями. Однако для их установки необходима соответствующая аппаратная поддержка, что в свою очередь увеличивает конечную стоимость продуктов. Особенно это заметно на коммутаторах доступа, которые в таком случае не могут конкурировать по цене с аналогами на монолитных ОС, а некоторые производители даже не делают в этом сегменте предложения.

2. Сложность при желании установить образ системы на виртуальную машину: во-первых пользователю недоступны установочные скрипты встроенные в ОС, во–вторых не все производители используют в своих решениях процессора с архитектурой х86. И поэтому данный вопрос с эмуляторами решается только производителями, которые вносят необходимые исправления и компилируют исходники под х86.

В целом ситуация в чем-то (по личному мнению автора) напоминает рынок мобильных телефонов, где с появлением модульных ОС типа IOS и Android произошел де-факто отказ от старых платформ,
которые сейчас занимают нишу в нижнем ценовом сегменте. Рынок сетевых устройств конечно не будет столь динамичным, но тенденции и преимущества от такого перехода очевидны.

Так что давайте вместе следить за анонсами от Extreme Networks, Cisco Systems, Juniper Networks и другими лидерами рынка, которые активно развивают и используют рассмотренный нами функционал.

ссылка на оригинал статьи http://habrahabr.ru/company/muk/blog/159485/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *