Nexus TCAM: dlaczego region tłumienia ARP potrzebuje dwóch wycinków
Wpisy logiczne to tylko połowa budżetu. Funkcja wycięta jako podwójnie szeroka potrzebuje pary wycinków, a jeden wolny wycinek w złym miejscu nie wystarczy.
Określasz rozmiar regionu tłumienia ARP, liczysz wpisy potrzebne projektowi, znajdujesz region z większą wolną pojemnością niż to, a zmiana nadal się nie mieści. Nic nie zostało źle policzone. Budżet, który czytasz, jest mierzony w wycinkach, a funkcja wycięta jako podwójnie szeroka potrzebuje dwóch z nich, zanim zostanie rozważony jakikolwiek wpis.
Traktuj przydział jako problem układu ze stałą liczbą jednostek, a arytmetyka zacznie się zachowywać poprawnie.
Region posiada wycinki, a nie wpisy
TCAM na tych platformach jest podzielona na wycinki, a każdy wycinek należy dokładnie do jednego regionu. Regiony są wymiarowane w wycinkach, a szerokość funkcji określa, ile wycinków zużywa co najmniej. Funkcja o pojedynczej szerokości może żyć w jednym wycinku; funkcja o podwójnej szerokości potrzebuje sąsiadującej pary.
| Concept | What it means when you plan |
|---|---|
| Slice | The indivisible unit; it belongs to one region and cannot be shared |
| Feature width | Single or double; a double-width feature must have two slices available |
| Logical entries | What the feature wants to store, which only matters after the slices are allocated |
Wolny wycinek nie jest więc automatycznie użyteczną pojemnością. Dwa regiony o pojedynczej szerokości na osobnych wycinkach nie łączą się w parę, której wymaga nowy region o podwójnej szerokości, a tabela pokazująca dużo nieużywanej przestrzeni w sumie mówi o puli, której nie możesz wydać.
Zapisz stan bazowy, zanim zaczniesz wycinać
Zbierz dokładny model sprzętu, wersję NX-OS, bieżące szerokości i rozmiary regionów oraz funkcje zużywające każdy region. Zrób to przed jakąkolwiek zmianą, ponieważ po przeładowaniu poprzedni stan jest wspomnieniem, a nie faktem.
show version
show hardware capacity
show running-config | include hardware profile
Nazwy poleceń różnią się w zależności od platformy i wersji, a przewodnik wycinania wymienia te, które dotyczą jego własnego sprzętu. Czytaj dane wyjściowe, które faktycznie otrzymujesz, zamiast zakładać, że polecenie z innego modelu daje tę samą tabelę.
Następnie zapisz, do czego służy każdy region. Region VACL jest pojemnością filtrowania z jakiegoś powodu, a region QoS istnieje, ponieważ ktoś wymiarował go pod politykę, która nadal obowiązuje. Plan, który traktuje te przestrzenie jako odzyskiwalne miejsce bez sprawdzenia, jest planem cichego usunięcia funkcji. Wskaż właściciela każdego regionu, który zamierzasz zmniejszyć, i przekaż temu właścicielowi nowy rozmiar przed oknem.
Weź pod uwagę także kierunek. Tam, gdzie platforma sprzęga przydział ruchu przychodzącego i wychodzącego, zmiana po jednej stronie może zużyć budżet po drugiej, a plan liczący tylko tabelę przychodzącą będzie wyglądał poprawnie i zawiedzie przy przeładowaniu.
Czego nie robi zwolnienie jednego dużego wycinka
Zmniejszenie dużego regionu o pojedynczej szerokości zwalnia jeden wycinek. Jeśli docelowy region potrzebuje pary, ten pojedynczy wycinek może być bezużyteczny, chyba że sąsiaduje z innym wolnym wycinkiem, a sąsiedztwo jest cechą układu, a nie sumy.
To jest punkt, w którym ludzie dochodzą do wniosku, że platforma jest zepsuta albo dokumentacja jest błędna. Żadne z tych nie jest prawdą. Model przydziału robi dokładnie to, co mówi, a błąd polegał na liczeniu wolnego miejsca zamiast wolnych wycinków w odpowiednich pozycjach. Gdy narysujesz układ na papierze, dostępna para albo istnieje, albo nie, i to jest znacznie łatwiejsza rozmowa z właścicielem platformy niż spór o sumy.
Istnieje też pułapka wersji, którą warto nazwać. Przewodnik wycinania Cisco opisuje konkretną generację sprzętu i wyraźnie stwierdza, że jego model nie jest ani Cloud Scale, ani Silicon One. Nazwy regionów, domyślne rozmiary, a nawet to, które funkcje są podwójnie szerokie, różnią się gdzie indziej, więc ostrzeżenie o konkretnym regionie na jednej platformie jest dowodem o tej platformie i wersji, a nie uniwersalną receptą.
Zmiana regionu to zmiana funkcji
Każde wycięcie to wymiana pojemności. Zmniejszenie regionu, aby zrobić miejsce na tłumienie ARP zmniejsza to, czego ten region chronił, a skutek może pojawić się dopiero, gdy polityka potrzebująca miejsca zostanie zastosowana ponownie.
Przed oknem uzyskaj pisemną zgodę właściciela każdej dotkniętej funkcji. To nie biurokracja: osoba, która pierwotnie wymiarowała region VACL, wie, co on filtruje, a osoba robiąca miejsce zwykle tego nie wie.
Spodziewaj się przeładowania przy zmianach, które zmieniają układ sprzętu. Niektóre platformy tego wymagają, a inne nie, ale planowanie bez okna konserwacyjnego, gdy przeładowanie jest możliwe, jest sposobem, w jaki zmiana routingu staje się awarią. Zaplanuj okno wokół przeładowania, a nie wokół polecenia, i przechowuj tekst poprzedniego profilu gdzieś, gdzie możesz go odczytać z konsoli, która utraciła sesję zarządzania.
Zastosuj i zweryfikuj względem stanu bazowego
Zastosuj plan przez obsługiwany proces platformy, a następnie zweryfikuj funkcje, które zachowałeś, nie tylko tę, którą dodałeś. Nowo wycięty region, który działa, podczas gdy filtrowanie po cichu przestało pasować, jest gorszym wynikiem niż pierwotna awaria.
Odczytaj ponownie dane wyjściowe pojemności i porównaj je ze stanem bazowym, który zapisałeś, a następnie przetestuj funkcję, która zmotywowała zmianę. Przewodnik wycinania Nexus TCAM jest odniesieniem dla opisanego tutaj modelu szerokości i wycinków, w tym generacji sprzętu, którą obejmuje.