Добрый день. Возникла следующая проблема. В нашей сети используется несколько десятков DGS-3627 в качестве агрегирующих L2-свитчей. Не так давно возникла необходимость в обновлении прошивок на DGS с неприлично старых до чего-то более вменяемого и введении report_suppression. Около месяца это все тестилось примерно на 5 dgs3627, стоящих в сети. Вот версия fw, воторую мы используем (и которую использовали около года):
Версия FW: Build 2.55.B05
BootVer: Build 1.10-B09
3 дня назад производилось обновление прошивки на еще одном: 2.50.B21->2.52.B45->2.55.B05. Выглядело это примерно так:
save
down firm 2.52.b45
reboot
save
down firm 2.55.b05
reboot
save
reboot
Т.е. ресет не производился (для минимизации простоя). В логах ни о каких ошибках в конфиге не писалось.
Далее производилась следующая настройка:
Код:
enable snmp
delete snmp community public
delete snmp community private
create snmp community snmp1 view CommunityView read_only
create snmp community snmp2 view CommunityView read_write
disable ssh
disable web
enable password encryption
delete account view
delete account admin
create account admin admin
blablabla
blablabla
create account user view
blablabla
blablabla
enable sntp
config time_zone operator + hour 3 min 0
config sntp primary 1.2.3.4
config dst repeating s_week last s_day sun s_mth 3 s_time 02:00 e_week last e_day sun e_mth 10 e_time 03:00 offset 60
config safeguard_engine state enable utilization rising 100 falling 80 trap_log enable
config traffic control 2-24 broadcast enable multicast enable threshold 5000
config traffic control 1 broadcast disable multicast disable
config traffic trap both
delete access_profile all
create access_profile ip tcp dst_port_mask 0xFFFF profile_id 5
config access_profile profile_id 5 add access_id 5 ip tcp dst_port 135 port 1-24 deny
config access_profile profile_id 5 add access_id 10 ip tcp dst_port 137 port 1-24 deny
config access_profile profile_id 5 add access_id 15 ip tcp dst_port 138 port 1-24 deny
config access_profile profile_id 5 add access_id 20 ip tcp dst_port 139 port 1-24 deny
config access_profile profile_id 5 add access_id 25 ip tcp dst_port 445 port 1-24 deny
create access_profile ip dscp udp dst_port_mask 0xFFFF profile_id 10
config access_profile profile_id 10 add access_id 5 ip udp dst_port 67 port 1-24 permit
config access_profile profile_id 10 add access_id 10 ip udp dst_port 68 port 1 permit
config access_profile profile_id 10 add access_id 15 ip udp dst_port 68 port 2-24 deny
config access_profile profile_id 10 add access_id 20 ip udp dst_port 135 port 1-24 deny
config access_profile profile_id 10 add access_id 25 ip udp dst_port 137 port 1-24 deny
config access_profile profile_id 10 add access_id 30 ip udp dst_port 138 port 1-24 deny
config access_profile profile_id 10 add access_id 35 ip udp dst_port 139 port 1-24 deny
config access_profile profile_id 10 add access_id 40 ip udp dst_port 445 port 1-24 deny
enable syslog
config system_severity trap information
config system_severity log information
create syslog host 1 ipaddress 1.2.3.4 severity all facility local7 udp_port 514 state enable
config loopdetect interval 10
config loopdetect recover_timer 300
config loopdetect ports 2-24 state enable
config loopdetect ports 1 state disable
enable loopdetect
config stp ports 1-24 fbpdu disa
config stp fbpdu disable
disable stp
config lldp ports all basic_tlvs all enable
config lldp ports all notification enable
config lldp ports all admin_status tx_and_rx
config lldp ports all dot1_tlv_pvid enable
enable lldp
config multicast filtering_mode all filter_unregistered_groups
#Дальше набрасываю от руки, т.к. эта чать конфига пока не является стандартной для нашей сети
ena igmp_snooping
cre igmp_snooping multicast_vlan v111 111
conf igmp_snooping multicast_vlan v111 source_port 1 tagged_member_port 2-24 sta ena
conf multicast filtering_mode v111 filter_unregistered_groups
conf igmp_snooping querior vlan v111 version 2
cre multicast_range iptv from 224.0.222.0 to 224.0.222.255
conf igmp_snooping multicast_vlan_range v111 add multicast_range iptv
conf igmp_snooping vlan v998 report_suppression ena
Т.е. фактически обычная l2-молотилка. На коммутаторе порядка 50 юзерских вланов. Около 4к маков (из них около 1,5к приходится на мультикастовый влан на аплинке). Загрузка аплинка в ЧНН: 100k pps unicast, 4k pps nonunicast, 800Mb/s. Далее трафик расходится на несколько домов и на следующий узловой свитч (около 500 Mb/s). Менеджмент в отдельном влане, в нем крутится порядка 600-800 свитчей, характер трафика в нем - arp, icmp, telnet, snmp.
Сегодня данный DGS повис. Причем, как L2 молотилка он продолжал работать (т.е. коммутитровать пакеты во вланах). Но у него напрочь отвалилось управление, и он перестал пропускать мультикаст. К нему отправили человека с задаем подрубиться к консоли. Я так понимаю, он вывалился в exception mode (вот часть вывода, который он получил на консоли):
Код:
...
t a s k P r i C h a n g e : < t a s k p t r > < n e w p r i o r i t y > c h a n g e t o n e w p r i o r i t y
t a s k : D i s p l a y i n g i n t e r n a l t a s k i n f o r m a t i o n
s u s p e n d T a s k < t a s k _ a d d r > : S u s p e n d t a s k
r e s u m e T a s k < t a s k _ a d d r > : R e s u m e t a s k
t e r m i n a t e T a s k < t a s k _ a d d r > : T e r m i n a t e T a s k
h i s r : D i s p l a y i n g i n t e r n a l H I S R i n f o r m a t i o n
m e m a n a l y z e : A n a l y z e i n t e r n a l m e m o r y i n f o r m a t i o n
m e m o r y : D i s p l a y i n t e r n a l m e m o r y i n f o r m a t i o n
m e m d u m p : D u m p i n t e r n a l m e m o r y c o n t e n t . m e m d u m p < n a m e > < c o u n t e r >
m e m f l a g : S e t m e m d u m p p r i n t f l a g s
e v e n t : D i s p l a y i n t e r n a l e v e n t s
...
b g p A s P a t h A C : S h o w B G P A S P a t h A c c e s s l i s t i n f o r m a t i o n
b g p C a l c < i n t > : C A L C l o g , l o g 1 0 , e x p f u n c t i o n v a l u e
b g p I F : S h o w Z e b r a i n t e r f a c e i n f o r m a t i o n
b g p T i m e r : S h o w B G P t i m e r l i n k i n f o r m a t i o n
b g p A T T R : S h o w B G P A t t r i n f o r m a t i o n
b g p R e d i s t < i n t > < i n t > : S h o w B G P R e d i s t l i s t i n f o r m a t i o n
b g p M e m c n t : S h o w B G P M e m o r y c o u n t e r
#
# s h o w i p i f
E R R O R
# s h a r p e
E R R O R
# s h ?
E R R O R
# s h
E R R O R
# s h o w
E R R O R
# s h l o g
E R R O R
#
К сожалению мы тогда не сориентировались и никаких действительно полезных комманд не ввели. Этот dgs перезагрузили. Он прекрасно поднялся, логи были девственно чисты. На нем был l3 интерфейс поднят в абонентском влане с ip 10.90.90.89/30. Я его опустил (т.к. грешил на абонентский трафик). Через 20 минут после ребута dgs снова повис, в этот момент я внимательно пролистывал sh tech_support на протяжении около 10 минут. Снова с теми же симптомами. В cacti, где с этого dgs снимается загрузка, с момента обновления стали появляться пробелы (т.е. статистика с него не всегда собиралась). Хотя обычно загрузка cpu на наших dgs находится в районе 10-15%. Завтра его снова поедут ребутать. Уже запросил новую версию firmware и changelog. Но все-таки интересны комментарии от представителей dlink.
P.S. Скажу сразу, что report_suppression был добавлен не просто так. Т.к. уже возникли проблемы с масштабированием мультикастового влана (собственно ради этого все это и затевалось, т.к. сейчас кол-во mac в мультикастовом влане составляет примерно 8-10к, report_suppresion позволяет на аплинк подавать вместо всех абонентских mac только 1). Пардон за сумбурность.
Так же добавлю, что это последний пример. на прошлой неделе так себя вел еще 1 dgs. Но тогда это списали на случайность.