Portfolio

Задача автоматизированного управления сетевой инфраструктурой решалась в части выполнения повторяющихся формализуемых операций по изменению конфигураций значительного числа сетевых устройств:

Ресурсы и ограничения:
  • Наличие на сетевом оборудовании режима управления путем ввода консольных команд.
  • Возможность сетевого подключения к алфавитно-цифровым интерфейсам сетевых устройств (консолям) с использованием защищенных протоколов (ssh).
  • Наличие централизованного оборудования (с возможностью запуска на нем программных процедур), имеющего доступ ко всей номенклатуре сетевых устройств.
  • Необходимость баланса гибкости, универсальности, скорости внедрения, простоты сопровождения в выбираемом решении.
Решение:
  • Выбор в качестве платформы Linux, используемой, в том числе, для построения высокопроизводительных центральных программных маршрутизаторов, расположенных в дата-центрах.
  • Выбор в качестве инструмента автоматизации expect - расширения к скрипт-языку tcl, для работы с интерактивными консольными приложениями.
  • Создание нескольких шаблонов-скриптов, работающих со списками IP-адресов управляемых сетевых устройств во внешних файлах и обеспечивающих быстрое и прозрачное изменение программного кода в зависимости от конкретной задачи.
В качестве примера реализации приведена задача массового обновления версии программных маршрутизаторов:
  1. Загрузка ВМ.
  2. На гипервизор криптошлюза загружается подготовленный образ новой версии виртуальной машины (ВМ) - программного маршрутизатора.
  3. Сохранение конфигурации ВМ.
  4. Действующая индивидуальная конфигурация виртуальной машины (учитывающая индивидуальные особенности настройки) сохраняется в виде файла и вместе с ключевой информацией по сети переносится на гипервизор виртуальной машины.
  5. Остановка ВМ.
  6. Останавливаются все запущенные на криптошлюзе виртуальные машины.
  7. Развертывание ВМ.
  8. Разворачивается из образа и запускается загруженная ранее виртуальная машина.
  9. Настройка сети ВМ.
  10. Через консоль гипервизора производится вход на консоль виртуальной машины и настройка сетевого интерфейса.
  11. Восстановление конфигурации ВМ.
  12. С гипервизора на виртуальную машину переносятся файлы настройки и ключевой информации.
  13. Изменение конфигурации ВМ.
  14. Производится контекстная замена параметров в файле конфигурации виртуальной машины для работы с новой версией.
  15. Применение конфигурации ВМ.
  16. Новая конфигурация виртуальной машины загружается в память из файла и применяется.

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

Аналогичным образом проводились работы по обновлению отдельных пакетов, ключевой и лицензионной информации, настроек криптошлюзов.