Несколько особенностей работы Cisco Nexus Fabric Extender (FEX) которые могут испортить вам жизнь.
1. На всех FEX-портах по умолчанию включен BPDU Guard
С самого начала предпологается, что к FEX-портам будут подключаться только конечные устройства, поэтому логичным выглядит решение – отключать порт в случае получения на нём BPDU-пакета.
Если мы попытаемся отключить BPDU Guard на устройстве, то получим следующее сообщение:
1 2 |
n5k-dc0-02(config-if)# spanning-tree bpduguard disable ERROR: Command not supported on FEX interfaces. BPDUGuard is enabled by default for FEX interfaces |
Не удивительно, что в описании FEX используется словосочетание “host interfaces” – 24 100/1000BASE-T host interfaces and 2 10 Gigabit Ethernet fabric interfaces (SFP+)
2. FEX pinning
Возьмём, для примера, Cisco Nexus 2224TP с 24 100/1000BASE-T host interfaces and 2 10 Gigabit Ethernet fabric interfaces.
Во всех руководствах по настройке, рекомендуется использовать оба аплинка, но не уточняется о такой “маленькой” детали, что каждый 10G fabric interface, отвечает только за часть host interface’ов. Это означает, что используя всего один аплинк, вы не сможете использовать все 24 FEX-порта!
Взглянем как это выглядит на деле:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
n5k-dc0-02# show fex FEX FEX FEX FEX Number Description State Model Serial ------------------------------------------------------------------------ 100 FEX0100 Online N2K-C2224TP-1GE JAF1731AMBC n5k-dc0-02# show fex 100 FEX: 100 Description: FEX0100 state: Online FEX version: 5.0(3)N1(1c) [Switch version: 5.0(3)N1(1c)] Extender Model: N2K-C2224TP-1GE, Extender Serial: JAF1731AMBC Part No: 73-13373-01 pinning-mode: static Max-links: 2 Fabric port for control traffic: Eth1/1 Fabric interface state: Eth1/1 - Interface Up. State: Active |
Мы видим, что используется 1 FEX под номером 100, модель с 24 хост-портами, подключенная к Nexus5k через 1 аплинк.
Посмотрим статус FEX-портов:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
n5k-dc0-02# show interface brief | include Eth100 Eth100/1/1 1 eth access up none 1000(D) -- Eth100/1/2 1 eth access down Link not connected auto(D) -- Eth100/1/3 1 eth access down Link not connected auto(D) -- Eth100/1/4 1 eth access down Link not connected auto(D) -- Eth100/1/5 1 eth access down Link not connected auto(D) -- Eth100/1/6 1 eth access down Link not connected auto(D) -- Eth100/1/7 1 eth access down Link not connected auto(D) -- Eth100/1/8 1 eth access down Link not connected auto(D) -- Eth100/1/9 1 eth access down Link not connected auto(D) -- Eth100/1/10 1 eth access down Link not connected auto(D) -- Eth100/1/11 1 eth access down Link not connected auto(D) -- Eth100/1/12 1 eth access down Link not connected auto(D) -- Eth100/1/13 1 eth access down fabricIfDown auto(D) -- Eth100/1/14 1 eth access down fabricIfDown auto(D) -- Eth100/1/15 1 eth access down fabricIfDown auto(D) -- Eth100/1/16 1 eth access down fabricIfDown auto(D) -- Eth100/1/17 1 eth access down fabricIfDown auto(D) -- Eth100/1/18 1 eth access down fabricIfDown auto(D) -- Eth100/1/19 1 eth access down fabricIfDown auto(D) -- Eth100/1/20 1 eth access down fabricIfDown auto(D) -- Eth100/1/21 1 eth access down fabricIfDown auto(D) -- Eth100/1/22 1 eth access down fabricIfDown auto(D) -- Eth100/1/23 1 eth access down fabricIfDown auto(D) -- Eth100/1/24 1 eth access down fabricIfDown auto(D) -- |
Из вывода видно, что первый порт кем-то успешно используется, к следующим 11 никто не подключен, а последние 12 находятся в состоянии “fabricIfDown”.
Если подключить к любому из “fabricIfDown”-портов конечный хост, то ничего кроме порт-диода цвета amber не обнаружим. Сообщений в логах можно так же не искать, их там нет, так как предпологается, что вы знаете об описанном выше ньюансе.
Чтож, к счастью, теперь вы знаете.
Может оказаться и так, что аплинк захватит не с 1-12 порты, а с 13 по 24 (такое возможно, в случае игр с аплинками), в таком случае можно принудительно выполнить редистрибуцию:
1 |
nx5k-dc0-02# fex pinning redistribute 100 |
Если таковая не требуется, увидим сообщение:
1 |
No redistribution needed on FEX 100 |
3. FEX pinning max-links
В процессе настройки подключения через Port-Channel используя дизайн Single-Homed FEX
Вы можете обнаружить, что при ассоциации вашего Port-channel с FEX number получаете ошибку и присваивания не происходит
1 2 3 4 5 6 7 8 |
n5k-dc0-02(config)# interface Ethernet 1/1-2 n5k-dc0-02(config-if-range)# description # DOWNLINK TO FEX 100 # n5k-dc0-02(config-if-range)# channel-group 1 n5k-dc0-02(config-if-range)# exit n5k-dc0-02(config-)# interface Port-channel 1 n5k-dc0-02(config-if)# switchport mode fex-fabric n5k-dc0-02(config-if)# fex associate 100 ERROR: FEX max-links not configured to be one |
Это связано с тем что вам надо жёстко указать сколько будет интерфейсов в сторону FEX, не важно, физических или логических. Значение по умолчанию 2 и если вы “спускаете” вниз всего один интерфейс – Port-channel, следует изменить его на 1.
1 2 |
n5k-dc0-02(config)# fex 100 n5k-dc0-02(config-fex)# pinning max-links 1 |
и повторить ассоциирование.