klink0v (klink0v) wrote,
klink0v
klink0v

Categories:

Cisco vs Juniper #2

Знакомьтесь, это Juniper SRX-345 кишками наружу. Сто́ит примерно как моё автоведро.

Проработал около трёх лет (может, чуть дольше). Потом в нём сдохла флешка. Вот эта. Скорее всего потому, что кто-то не подумавши настроил запись логов на неё. Примерно по 50 мегабайт в сутки. Но хватило, чтобы убить сабж.

Она же, с другой стороны.

А это скриншот, подтверждающий, что код JunOS-и писали обдолбанные кумары. Одно слово "summery" чего стоит.

Это всё были картинки для привлечения внимания (КДПВ). Теперь мои размышления на тему.

У Cisco есть два конфига: "running-config" и "startup-config". Первый хранится в оперативной памяти, второй на флешке. Любые действия по перенастройке применяются на конфиге в оперативке, моментально. Плохо то, что можно случайно сделать "упс", выстрелить себе в ногу, потерять доступ и т.п. Хорошо то, что проблемы с флешкой никак не влияют на работоспособность агрегата в целом. Он просто откажется сохранять изменения в постоянную память. Ну то есть ты говоришь ему такой: "copy running-config startup-config". А тебе в ответ: "ну не шмагла я, извиняй". Я это видел сам, своими глазами. Но при этом всё продолжает работать. Можно, например, экспортировать куда-нибудь конфиг, заменить пресловутую флешку, потом закчать конфиг обратно. В стареньких Cisco ASA вообще стояли Compact Flash. Эх, где те времена?

В Juniper-ах конфига в оперативной пямяти нет. Ты пишешь "кандидата" на применение изменений. Как дописал, делаешь "commit". Или "commit confirmed 10", например. Выстрелил себе в ногу? Потерял доступ? Не страшно. Через 10 минут всё вернётся взад, в состояние "как было". При этом Juniper внутри себя просто "тасует" файлы на внутренней флешке. Тот что был "кандидатом", стал "релизом" и наоборот. Да-да, на той самой флешке, что на фото выше. С интерфейсом USB 2.0.

С одной стороны, удобно. С другой стороны, он (Juniper) на эту флешку постоянно пишет. Всегда. По любому поводу, по любому чиху. На неё пишет даже встроенный watchdog (хз зачем). И если с этой флешкой внезапно начинаются какие-нибудь проблемы... йу-хууу, добро пожаловать в Kernel Panic!

Невкусная флешка? Kernel Panic! Отъехала прошивка контроллера флешки? Kernel Panic! Вместо флешки с USB 2.0 подключил флешку с USB 3.0 ? Kernel Panic!

Причём, он может работать в таком состоянии с "побитой" флешкой довольно долго: дни и недели (особенно если отключить запись логов). И вроде даже с виду всё нормально. Но внёс изменения в конфигурацию, сказал "commit"... йу-хуу, Kernel Panic!

А главное, там внутри есть SATA-интерфейс. И к нему можно даже подцепить SSDшку. Но шосукахарактерно, с неё нельзя загрузиться! С USB-порта на морде можно, а с SATA — нельзя. Зато на неё можно писать логи. Замечательно! Поразительно! Гениально!

Ещё очень похоже, что эта дрянь различает откуда именно она загрузилась: с внутренней флешки или с "наружной". Не уверен на 100%, но по-моему, режим работы с загрузкой с внешней флешки он расценивает как "типа аварийный". Поэтому при таком раскладе ни в коем случае нельзя включать WatchDog. Иначе тут же огребёте бесконечный цикличный ребут. Повторяю, это не точно, но всё на это указывает. Возможно, в каких-то версиях прошивки это исправлено, но экспериментировать уже не хочется.

Теперь прикиньте, что у вас типа кластер из двух таких "джуников". Вы наивно думаете, что у вас типа всё нормально и надёжно. Но проходит сколько-то лет, и в обеих нодах одновременно деградируют флешки. У вас падает одна нода. Вы при помощи консоли, перезаливки дампов и какой-то там матери поднимаете её удалённо, но ещё пока не очень хорошо понимаете что произошло. Не осознаёте масштаб бедствия, не бьёте тревогу и не мчитесь сломя голову в датацентр. Потом у вас падает другая нода. Но вам всё равно пока ещё не слишком страшно: у вас же есть на случай чего запасная. И вы её тоже вполне успешно поднимаете аналогичным образом. И тут в один прекрасный момент вас чёрт дёргает что-то поменять в конфигурации и сделать commit. Одна нода падает в kernel panic, вторая уходит в цикличный ребут. Занавес.

Короче говоря, чем дольше я работаю со всеми этими узкоспециализированными сетевыми железками, тем сильнее укрепляюсь в мысли, что абсолютно все они являются суть разными сортами говна: что Cisco, что Juniper, что FortiNet или Huawei. А Mikrotik и Ubiquiti вообще вне конкуренции: это даже уже и не говно, а давно перебродивший, покрывшийся плесенью и обсиженный мухами компост. И если ты не являешься телекомом-магистралом или провайдером уровня датацентра, то лучше купи себе два обычных, только не самых дешевых (хотя бы вторых после самых дешевых) сервака с Intel-евыми сетевыми платами и сделай маршрутизаторы-терминаторы на их основе. Будет и дешевле, и надежнее, и функциональнее, и куда предсказуемее. И не **и никому мозг.

Вангую, что скоро в комменты придут hvostat_hvostat и kvazimoda24, которые будут объяснять мне что я не прав. И вообще, ничего не понимаю в колбасных обрезках, просто не умею их готовить. Но блин... у меня уже просто нет слов, один мат.

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

P.S. Автор фоток — kvazimoda24. Он же герой-победитель этих сраных жуников и источник бесценной информации по теме. Похоже, он теперь знает всё о том, как их перепрошивать и восстанавливать из пепла.

P.P.S. Всех, кто победобесится — с праздником.

Tags: cisco, it, juniper, грабли, железо, сети, трудовыебудни
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 15 comments