junos dynamic-db
Nov. 14th, 2009 12:33 pmВ JunOs не так давно (9.4 или 9.5 - лень смотреть) появилась dynamic-db.
Фича интересная и полезная - в первую очередь для prefix-lists. Смысл в том, что некоторые части конфигурации, относящиеся только к bgp (prefix-lists и policy-statements) можно выносить в отдельный конфиг, а из основного туда делать ссылки. Это сильно уменьшает размер основного конфига, ускоряет коммит, не засоряет rollback history автообновлениями фильтров. У нас prefix-lists - это около 90% объёма конфига, коммит вместо пары минут стал проходить за ~20 секунд.
Однако, как оказалось, пока там не всё гладко. :-(
Первое, с чем столкнулся - нет возможности посмотреть этот самый dynamic config, кроме как войти туда и сказать show, что очень неудобно для скриптов, и требует привилегий изменения конфигурации, когда нужен только просмотр. Пришлось сделать op script show-dyn-conf.slax, показывающий dynamic config (правда, проблему с привилегиями это не решает).
А примерно через месяц использования dynamic-db у него без каких-либо видимых причин сорвало крышу (MX480, 9.5R2.7). :-(
Вылечилось удалением файла /var/run/db/juniper.dyn.
Пришлось отказаться от использования dynamic-db. По крайней мере, пока. :-(
UPD: По просьбам коллег выкладываю скрипт, который апдейтит префикс-листы на cisco и juniper. Вот. Он писан для себя, а не как продукт, пригодный для использования другими, поэтому с диагностикой не всё хорошо, с документацией ещё хуже, но можно попытаться запустить (предварительно заглянув внутрь - как минимум, там всякие умолчания прописаны в начале).
Фича интересная и полезная - в первую очередь для prefix-lists. Смысл в том, что некоторые части конфигурации, относящиеся только к bgp (prefix-lists и policy-statements) можно выносить в отдельный конфиг, а из основного туда делать ссылки. Это сильно уменьшает размер основного конфига, ускоряет коммит, не засоряет rollback history автообновлениями фильтров. У нас prefix-lists - это около 90% объёма конфига, коммит вместо пары минут стал проходить за ~20 секунд.
Однако, как оказалось, пока там не всё гладко. :-(
Первое, с чем столкнулся - нет возможности посмотреть этот самый dynamic config, кроме как войти туда и сказать show, что очень неудобно для скриптов, и требует привилегий изменения конфигурации, когда нужен только просмотр. Пришлось сделать op script show-dyn-conf.slax, показывающий dynamic config (правда, проблему с привилегиями это не решает).
А примерно через месяц использования dynamic-db у него без каких-либо видимых причин сорвало крышу (MX480, 9.5R2.7). :-(
[edit dynamic]
gul# run show ?
Possible completions:
\zп*\|п*192.121.086.000/024 Show multicast information
√п*( Show services information
╟п*-( Show Distance Vector Multicast Routing Protocol information
21.86.0/24 Show Open Shortest Path First version 3 information
[Enter] Execute this command
ancp Show ancp information
[...]
[edit dynamic]
gul# show
## Last changed: 2009-11-11 09:02:54 EET
policy-options {
error: session failure: unexpected termination
error: remote side unexpectedly closed connection
Connection to quoll.itsinternet.net closed.
Nov 13 16:32:52 /kernel: BAD_PAGE_FAULT: pid 49853 (mgd), uid 0: pc 0x8109a21 got a read fault at 0xbad006bc, x86 fault flags = 0x4
Nov 13 16:32:52 /kernel: Trapframe Register Dump:
Nov 13 16:32:52 /kernel: eax: baf4bd2e ecx: bad006bc edx: 08315890 ebx: 00000000
Nov 13 16:32:52 /kernel: esp: bfbe5270 ebp: bfbe52c8 esi: 00000000 edi: baf4bdf0
Nov 13 16:32:52 /kernel: eip: 08109a21 eflags: 00010206
Nov 13 16:32:52 /kernel: cs: 0033 ss: 003b ds: bfbd003b es: 831003b
Nov 13 16:32:52 /kernel: fs: 832003b trapno: 0000000c err: 00000004
Nov 13 16:32:52 /kernel: Page table info for PC address 0x8109a21: PDE = 0x2c460067, PTE = 60c31425
Nov 13 16:32:52 /kernel: Dumping 16 bytes starting at PC address 0x8109a21:
Nov 13 16:32:52 /kernel: 3a 01 75 1e 84 c0 74 15 8d 41 01 42 83 ec 08 50
Вылечилось удалением файла /var/run/db/juniper.dyn.
Пришлось отказаться от использования dynamic-db. По крайней мере, пока. :-(
UPD: По просьбам коллег выкладываю скрипт, который апдейтит префикс-листы на cisco и juniper. Вот. Он писан для себя, а не как продукт, пригодный для использования другими, поэтому с диагностикой не всё хорошо, с документацией ещё хуже, но можно попытаться запустить (предварительно заглянув внутрь - как минимум, там всякие умолчания прописаны в начале).
no subject
Date: 2012-06-17 01:24 pm (UTC)Скрипт выложил в апдейте поста.