Автоматизация управления коммутаторами

в 8:03, , рубрики: etegro, white box, автоматизация, Блог компании ETegro Technologies, ит-инфраструктура, Сетевые технологии

Автоматизация управления коммутаторами
Мы уже много писали о возможностях, которые предоставляют современные коммутаторы с загрузочной средой ONIE и открытые ОС на базе Linux для них. Построение L3-фабрик, оверлейные виртуальные сети L2, — все это уже было. Но осталась нераскрытой одна важная тема, о которой много упоминалось — возможности по автоматизации.

Командная строка — это, конечно, здорово и вообще классика, но в 2014 году хочется уже большего. Особенно если работать приходится с десятками и сотнями устройств в одной сети.

Так что же мы получаем при использовании коммутатора c ОС на основе Linux, такой как Cumulus?

Автоматизация начинается уже на этапе подключения коммутатора в сетевую среду. И за это стоит благодарить установочную среду ONIE, пришедшую на смену PXE. При первой загрузке при помощи опции 239 DHCP запрашивается URL-адрес, с которого будет получаться образ системы. А вместе с ним запрашивается скрипт, который будет выполнен при установке. В список поддерживаемых языков входят Bash (Shell), Perl, Python, Ruby. Типичный пример выглядит примерно так:

Автоматизация управления коммутаторами

Zero Touch Provisioning

Такой вариант способен сильно облегчить процесс разворачивания или расширения сети, в которой есть большое количество однотипных настроек. Впрочем, залить набор необходимого софта «по умолчанию» — уже весьма ценно, это знает любой человек, которому приходилось собирать компьютеры или сервера в количестве, отличном от «один для личного использования».

Но вот мы прорвались за этап установки, и тут уже начинается все самое интересное, что есть в мире Linux.

Маршрутизация
Здесь есть выбор из:

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

Автоматизация управления коммутаторами

Маршрутизация на узлах обмена траффиком

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

Про VMware NSX мы писали в нашем предыдущем материале, а OpenStack — настолько объемная тема, что требует даже не отдельной статьи, а целого цикла статей, так что эту часть мы, пожалуй, оставим без дополнительных комментариев.

Автоматизация управления интерфейсами
Когда дело касается непосредственно автоматизации управления, то здесь мы имеем:

  • Puppet — написанная на Ruby одна из самых известных клиент-серверных систем управления конфигурациями ОС и ПО при помощи специального языка Guide
  • Chef — еще одна широко известная система конфигурации
  • CFEngine — третья конфигурационная система с мировой известностью

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

И еще несколько слов о популярных пакетах управления сетевыми интерфейсами. Наверняка многим известен такой пакет Debian, как ifupdown. В Cumulus используется его обновленная версия ifupdown2:

Автоматизация управления коммутаторами

ifupdown2

По большому счету, это все тот же пакет, с сохраненной обратной совместимостью, но переписанный на python и обладающий расширенной функциональностью. В новой версии был значительно упрощен синтаксис команд. Но, пожалуй, самой полезной особенностью является возможность внесения инкрементальных изменений в конфигурацию сетевых интерфейсов, без рестарта интерфейсов.

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

Для тех, кто привык с Linux'овым утилитам, есть целый сонм многофункциональных давно разрабатываемых пакетов:

Ну а «сетевикам» скорее по вкусу придется привычный sFlow.

Prescriptive Topology Manager (PTM)
Еще одной полезной функцией на стыке мониторинга и автоматизации является PTM. Этот пакет позволяет при помощи LLDP опроса ближайших соседей и BFD (Bidirectional Forwarding Detection) найти сбои в существующих путях, построить реально существующую топологию сети и сравнить ее с заранее заданной файлом topology.dot. Последний представляет собой файл формата graphviz-DOT — сравнительно распространенный способ текстового описания графа соединений, достаточно удобный как для работы с ним в качестве текста, так и для преобразования в графическое отображение топологии.

Автоматизация управления коммутаторами

Prescriptive Topology Manager

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

Ну вот как-то так выглядит ситуация с автоматизацией в современных сетевых открытых ОС.
А чем пользуетесь вы?

Автор: ETegro_Technologies

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js