Хорошо

Сорок минут кошмара после quit Популярное

Последний ответ июл 13, 2021 09:49:10 1301 8 12 0 0

Сотни и сотни больших и малых предприятий торгового города на Западе страны оставались без связи в течение сорока минут!

 

Около трёх часов дня дежурный инженер по имени Н. вбежал в серверную весь в поту с одышкой курильщика, чтобы перезагрузить центральный коммутатор. Это было единственным способом остановить широковещательный шторм (broadcast storm), возникший на spanning-tree сети.

 

Когда дежурный инженер Н. приступал к работе -адцатого дня, он не мог и подумать, что через несколько часов будет бежать куда-то со всех ног с полным послеобеденным желудком через улицы, дома и кварталы, и что вся эта физкультура будет вызвана одной-единственной командой “quit”.

 

Вот как всё произошло…

Около двенадцати дня на его рабочий стол поступило сообщение об исходе времени жизни (dead time) OSPF соседства в 40 секунд. И следом за ним сообщение о падении соседства в 666 VLAN’e. Инженер посуетился в кресле, открыл схемы и через некоторое время изобразил VLAN 666 на таком примерно рисунке:


MSTP


На схеме он отметил, что все используемые VLANs как для данных (data plane), так и для управления, и маршрутизации (control plane и management plane) принадлежат одному instance. А это значит, что для них всех действует одна топология spanning-tree. И топология эта построена так, что все VLANs отдаются в порт стороннего оператора, который разделяет их по своей сети. VLANs 100-500 оператор отдаёт в одно направление, а VLAN 666 в другое. Такая странность объяснялась тем, что 666 в основном направлении у оператора был занят, и он решил отдать его в другое кольцо. Иными словами, сделал крюк. Для оператора это было дешевле, чем модернизировать сеть до QinQ. Изюминка этого альтернативного направления для 666-го была в том, что проходил он по участку с сомнительной отказоустойчивостью. Поэтому, когда Аннушка разлила масло (отрывок из “Мастер и Маргарита” Булгакова М., помните?), на участок между портом стороннего оператора и коммутатором Горькая, то канал в 666 VLAN’е отвалился. При этом для мышления spanning-tree топология осталась прежней, ведь чтобы произошло перестроение отвалиться должен был канал от Будёновки до порта стороннего оператора. 

 

Каким-то образом дежурный инженер знал об этом костыле с 666 VLAN’ом (и огромное уважение ему за это!). И поскольку 666 отвечал за работоспособность целого сетевого объекта, который после падения ospf, естественно, был скорее мёртв, чем жив, то он решил действовать незамедлительно. А именно, выделить VLAN 666 в отдельный instance и применить для него различные с instance 1 атрибуты, так чтобы порт на Заре блокировался для всех VLAN'ов, но только не для 666. Идеальное решение! - подумал дежурный инженер и принялся воплощать задуманное!


MSTP


Однако на последней команде он остановился. До него дошло, что он пытается применить незнакомую для него команду на центральном коммутаторе сети! И авария на другом объекте - это не повод так рисковать, да ещё в разгар рабочего дня! А если вся топология spanning-tree начнёт перестраиваться?! Это 30 секунд прерывания всех сервисов - не меньше! Он вытер каплю пота со лба, запустил eNSP и применил эти команды на симуляторе:


MSTP


Уф, всё хорошо! Ещё понажимал Enter, чтобы убедиться, что управление не потеряно.

Казалось бы, всё нормально: создание нового instance не влияет на текущий процесс. Ага, как бы не так! Тут и крылась роковая ошибка дежурного инженера Н. Он не вышел из режима конфигурирования mst региона. Все изменения применяются только после команды quit!

 

Тем не менее обрадованный дежурный инженер побежал применять эти команды на центральном коммутаторе Будёновка и через пару минут потерял управление над всей сетью. Вся топология сети начала перестраиваться, запустился процесс полной калькуляции ролей и всего, всего, всего…

 

Покрывшись потом и покраснев со стыда, он ждал тридцать секунд, потом минуту, другую, но доступ ни до центрального, ни других коммутаторов не восстанавливался. Ещё через минуту пришло сообщение о шторме в VLAN’e управления 107. Он понял, что spanning tree не функионирует больше. Схватив куртку, он выбежал на улицу в сторону Будёновки, сожалея при этом о многом, но ещё и о том, что не сделал отложенного рестарта:

 

<Budenovka>schedule reboot delay 15

 

Где “15” это значение в минутах


schedule reboot


Почему произошла петля в 107 VLAN’e и почему не восстановилась spanning-tree топология попробую рассказать в отдельной статье “Хоровод фреймов. Последствия отказа Spanning-Tree”. Проходите по этой ссылке, чтобы узнать об STP немного больше. Я расскажу как возникают петли и почему они могут скручивать мозги вашего коммутатора вечно!


Вопрос. А вы используете отложенный рестарт в своей работе в качестве страховочной меры?


  • x

NikitamatveeV
Админ Опубликовано 2021-4-5 14:07:17
Само название VLAN 666 говорит о том, что с ним надо поаккуратнее Сорок минут кошмара после quit-3868229-1
Развернуть
  • x

Vasyo
Vasyo Опубликовано 2021-4-5 16:17 (1) (0)
Ха-ха, это точно!)  
2559godji
Опубликовано 2021-4-5 16:14:46
Отложенный рестарт часто отключают на реальной сети, особенно, если это крупная сеть и администрируют ее часто сменяющиеся люди. Ну типа чтобы новичок случайно не отправил роутер в ребут)
Развернуть
  • x

Vasyo
Vasyo Опубликовано 2021-4-5 16:21 (1) (0)
Да, я сам встречал такое. По мне так эта функция должна быть включенной. Я встречал инженеров, которые даже добавляя влан на порт, запиливали 15-ти минутный рестарт, а потом отключали его  
Kelebrimber
Админ Опубликовано 2021-4-5 16:28:53
С VLAN 666 шутки реально плохи))))

А если серьезно, хороший материал, спасибо!
Развернуть
  • x

A_Litvin
Author Опубликовано 2021-6-5 01:10:08
Очень интересно!
Развернуть
  • x

Grigory
Опубликовано 2021-7-13 09:49:10
Сетевик - филолог? ))
Развернуть
  • x

Vasyo
Vasyo Опубликовано 2021-7-13 10:03 (0) (0)
Да имеется несколько пар штанов, за пять лет просиженных до дыр на филфаке)  

Комментарий

Выполните вход в систему, чтобы ответить на пост. Вход | Регистрация
Отправить

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

My Followers

Авторизуйтесь и пользуйтесь всеми преимуществами участника!

Вход

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