Задача автоматизированного управления сетевой инфраструктурой решалась в части выполнения повторяющихся формализуемых операций по изменению конфигураций значительного числа сетевых устройств:
- Ресурсы и ограничения:
-
- Наличие на сетевом оборудовании режима управления путем ввода консольных команд.
- Возможность сетевого подключения к алфавитно-цифровым интерфейсам сетевых устройств (консолям) с использованием защищенных протоколов (ssh).
- Наличие централизованного оборудования (с возможностью запуска на нем программных процедур), имеющего доступ ко всей номенклатуре сетевых устройств.
- Необходимость баланса гибкости, универсальности, скорости внедрения, простоты сопровождения в выбираемом решении.
- Решение:
-
- Выбор в качестве платформы Linux, используемой, в том числе, для построения высокопроизводительных центральных программных маршрутизаторов, расположенных в дата-центрах.
- Выбор в качестве инструмента автоматизации expect - расширения к скрипт-языку tcl, для работы с интерактивными консольными приложениями.
- Создание нескольких шаблонов-скриптов, работающих со списками IP-адресов управляемых сетевых устройств во внешних файлах и обеспечивающих быстрое и прозрачное изменение программного кода в зависимости от конкретной задачи.
- В качестве примера реализации приведена задача массового обновления версии программных маршрутизаторов:
-
- Загрузка ВМ.
На гипервизор криптошлюза загружается подготовленный образ новой версии виртуальной машины (ВМ) - программного маршрутизатора.
- Сохранение конфигурации ВМ.
Действующая индивидуальная конфигурация виртуальной машины (учитывающая индивидуальные особенности настройки) сохраняется в виде файла и вместе с ключевой информацией по сети переносится на гипервизор виртуальной машины.
- Остановка ВМ.
Останавливаются все запущенные на криптошлюзе виртуальные машины.
- Развертывание ВМ.
Разворачивается из образа и запускается загруженная ранее виртуальная машина.
- Настройка сети ВМ.
Через консоль гипервизора производится вход на консоль виртуальной машины и настройка сетевого интерфейса.
- Восстановление конфигурации ВМ.
С гипервизора на виртуальную машину переносятся файлы настройки и ключевой информации.
- Изменение конфигурации ВМ.
Производится контекстная замена параметров в файле конфигурации виртуальной машины для работы с новой версией.
- Применение конфигурации ВМ.
Новая конфигурация виртуальной машины загружается в память из файла и применяется.
Скрипт, производящий обновление, автоматически выполнялся на центральном маршрутизаторе в ночной период - время наименьшей загрузки систем. В качестве дочерних задач запускаются стандартные Linux-процедуры ssh (для консольного управления удаленным устройством), scp (для копирования файлов) и т.п. с которыми программная логика скрипта осуществляет интерактивное взаимодействие.
Аналогичным образом проводились работы по обновлению отдельных пакетов, ключевой и лицензионной информации, настроек криптошлюзов.