Гаразд - боровся з цим щонайменше 20 годин поспіль. Вибачте, якщо це здається довгим розпустом чи публікацією в блозі, але я добираюся до виснаження.
Отже, ось угода. Ми використовуємо балансири навантаження KEMP, який використовує UCARP (клон Linux CARP, який є клоном VRRP) для серцебиття та стійких станів HA. Ми хочемо використовувати IGMP у нашому середовищі, щоб запобігти затопленню через центр обробки даних.
У нас є два вимикачі Dell PowerConnect 8124F, які працюють з SW 5.1.1.7, які діють як топ-стійки. Ці два підключені до складеної пари Cisco 3750-X, яка є нашим ядром.
Проблеми почалися, коли ми оновили до PowerConnect 5.1.x, де вони, мабуть, дефолтом залишили IGMP переслідування, якщо ви не скажете це інше. І ось - наші балансири навантажень перейшли в розвідний мозок, викликаючи всілякі нечіткі забави.
- Якщо я відключу прослуховування IGMP на VLAN, де балансири навантажень роблять багатоадресну передачу, нічого не відбувається, багатоадресна передача все ще мертва
- Якщо я встановив IP PIM на нашому ядрі, перемикачі PowerConnect бачать його на одній і тій же VLAN, але все ще немає трафіку для багатоадресної передачі
- Якщо я дозволю затоплення всього незареєстрованого багатоадресного трафіку, він все одно нічого не робить.
- Якщо я відключу прослуховування IGMP глобально за допомогою перемикачів PowerConnect, весь трафік багатоадресної передачі працює. Він працює настільки чудово, що ми отримуємо багатопотоковий трафік затопленим до кожного порту, який має однакові теги VLAN. Чудовий.
У нашій ядрі я помітив деякі дивні записи MAC-адреси у VLAN:
coresw#sh mac address-table vlan 367 | include 5e00
367 0000.5e00.0101 DYNAMIC Po13 seq_no:0
І я думаю .. Хіба це не адреса багатоадресної передачі? Чому це не в "sh mac адресному столовій таблиці"?
coresw#sh mac address-table multicast vlan 367
Vlan Mac Address Type Ports
---- ----------- ---- -----
coresw#
А потім я прочитав це у посібнику з програми CLC PowerConnect:
Багатоадресний трафік - це трафік, призначений для групи хостів. Групи хостів ідентифікуються за адресою MAC призначення, тобто діапазоном 01: 00: 5e: 00: 00: 00-01: 00: 5e: 7f: ff: ff: ff для багатоадресного трафіку IPv4 або 33: 33: xx: xx : xx: xx для багатоадресного трафіку IPv6.
Здається, нам не вистачає "01" на початку MAC-адреси, ні? Динамічний запис MAC вище починається з "00". На даний момент я думаю про те, щоб зателефонувати в KEMP і дати їм знати, що їхній продукт жахливо не налаштований. Але потім я іду читати RFC для VRRP - і ось:
MAC-адреса віртуального маршрутизатора, пов'язана з віртуальним маршрутизатором, є MAC-адресою IEEE 802 у наступному форматі:
Корпус IPv4: 00-00-5E-00-01- {VRID} (у шістнадцятковій версії, у Інтернет-стандартному порядку біт)
Гаразд - так комутатори зазвичай не підбирають діапазон адрес для багатоадресних адрес для VRRP. Добре, давайте налаштуємо статичну групу хостів на комутаторах Dell. Ні.
Неправильний вхід: MAC-адреса багатоадресної пошти повинна мати формат 01XX: XXXX: XXXX
Добре, тоді .. Наступний крок, спробуйте додати статичну мак-запис:
osl-sys-swrack03(config)#mac address-table multicast ?
forbidden forbid adding specific multicast addresses to
specific ports.
osl-sys-swrack03(config)#
Отже - жодного способу налаштувати статичний MAC запис бездротового зв'язку. Якщо я спробую зробити те ж саме з регулярним статичним записом MAC, я можу прив’язати його лише до одного порту - цей кластер, що врівноважує навантаження, працює через 4 різні порти 10 Gig.
Оновлення : Здається, існує деяка плутанина щодо MAC-адрес. 172.30.1.0/24 - це фронтальна мережа врівноважувача. 172.30.1.6 є спільним VIP для кластера, .7 - IP управління для першого балансира навантаження, а .8 - для другого балансира навантаження. Усі інші адреси (30, 40, 70, 80 тощо) - це VIP, які мають різні послуги. Коли виникає помилка, всі VIP змінюють свою MAC-адресу на фізичну MAC-адресу другого LB. Адреса багатоадресної передачі в нижній таблиці не змінюється.
coresw#sh ip arp vlan 367
Protocol Address Age (min) Hardware Addr Type Interface
Internet 172.30.1.6 78 0050.56b4.5004 ARPA Vlan367 <- VIP - Loadbalancer1 physical MAC
Internet 172.30.1.40 204 0050.56b4.5004 ARPA Vlan367 <- VIP - Loadbalancer1 physical MAC
Internet 172.30.1.80 167 0050.56b4.5004 ARPA Vlan367 <- VIP - Loadbalancer1 physical MAC
Internet 172.30.1.70 38 0050.56b4.5004 ARPA Vlan367 <- VIP - Loadbalancer1 physical MAC
Internet 172.30.1.66 12 0050.56b4.5004 ARPA Vlan367 <- VIP - Loadbalancer1 physical MAC
Internet 172.30.1.35 185 0050.56b4.5004 ARPA Vlan367 <- VIP - Loadbalancer1 physical MAC
Internet 172.30.1.60 97 0050.56b4.5004 ARPA Vlan367 <- VIP - Loadbalancer1 physical MAC
Internet 172.30.1.30 80 0050.56b4.5004 ARPA Vlan367 <- VIP - Loadbalancer1 physical MAC
Internet 172.30.1.61 33 0050.56b4.5004 ARPA Vlan367 <- VIP - Loadbalancer1 physical MAC
Internet 172.30.1.7 27 0050.56b4.5004 ARPA Vlan367 <- Management - Loadbalancer1 physical MAC
Internet 172.30.1.8 21 0050.56b4.08c2 ARPA Vlan367 <- Management - Loadbalancer2 physical MAC
osl-sys-coresw#sh mac address-table dynamic vlan 367
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
367 0000.5e00.0101 DYNAMIC Po13 seq_no:0 <- multicast HA mac (UCARP)
367 0050.56b4.08c2 DYNAMIC Po13 seq_no:0 <- Loadbalancer1 physical MAC
367 0050.56b4.5004 DYNAMIC Po13 seq_no:0 <- Loadbalancer2 physical MAC
І це історія. Що я маю з цим робити?
What on earth am I going to do with this?
<- Текіла. Багато цього.