w Facebooku kładziemy nacisk na budowanie naszych centrów danych przy użyciu w pełni otwartego i zdezagregowanego sprzętu zaprojektowanego przez naszych inżynierów i Open-sourcingu w ramach Open Compute Project (OCP). Dezagregując nasz stos, możemy wymienić sprzęt lub oprogramowanie, gdy tylko pojawi się lepsza technologia. Takie podejście umożliwiło imponujący wzrost wydajności w warstwach obliczeniowych, pamięci masowej i sieci.
ponieważ wymagania stawiane naszym centrom danych stale rosną, nieustannie poszukujemy sposobów na wydajniejsze i szybsze przetwarzanie danych. Naszą strategią jest budowa centrów danych 100G, a Wedge 100, nasz top-of-rack przełącznik sieciowy drugiej generacji, jest jednym z kluczowych elementów pomagających nam osiągnąć ten cel.
dziś z przyjemnością ogłaszamy, że specyfikacja Wedge 100 została zaakceptowana do OCP. Przemysł zbudował już wokół siebie solidny ekosystem oprogramowania i mamy nadzieję, że ten dodatek do społeczności przyspieszy tempo innowacji i pozwoli innym na wprowadzenie 100G do swoich centrów danych.
w tym poście na blogu przedstawimy aktualny ekosystem sprzętu i oprogramowania, a także podzielimy się naszymi doświadczeniami z używania Wedge 100 w produkcji.W Facebook Facebooku używamy Wedge 100 w naszych środowiskach produkcyjnych i nadal wdrażamy go na dużą skalę w naszych centrach danych. Jest to element naszej strategii sieci 100g data center, a jednocześnie pozwala nam zachować kompatybilność wsteczną z istniejącymi urządzeniami 40g. Po stronie oprogramowania nadal korzystamy z FBOSS i OpenBMC, naszych własnych wdrożeń stosu sieciowego i zarządzania tablicami bazowymi, co daje nam elastyczność w szybkim iterowaniu oraz wprowadzaniu nowych funkcji i innowacji w naszej sieci.
Tworzenie Wedge 100 było złożonym przedsięwzięciem, ale byliśmy w stanie z ufnością iterować na sprzęcie i oprogramowaniu dzięki naszym doświadczeniom z tworzenia i wdrażania Wedge 40. Ponownie wykorzystaliśmy wiele tych samych komponentów sprzętowych i wprowadziliśmy kluczowe zmiany, aby rozwiązać problemy, które odczuliśmy przy użyciu Wedge 40. Na Wedge 100 uruchomiliśmy również to samo oprogramowanie FBOSS, co Wedge 40, ale rozszerzyliśmy je, aby obsługiwać nową platformę z układami 100g ASIC i optyką.
aktualizacje sprzętu
zbudowaliśmy Wedge 100 z modułem COM-Express Type 6 w kompaktowej obudowie (95 mm x 95 mm) jako mikroserwer; to dobrze wróży platformom przełączników 100g i wyższych prędkości. Wedge 100 obsługuje również moduł com-Express (95 mm x 125 mm), co pozwala na elastyczną konstrukcję w przypadku, gdy bardziej zaawansowane procesory są wymagane do specjalnych zastosowań.
serwisowanie jest dla nas kluczowym celem na Facebooku. Mamy tysiące przełączników klinowych i tylko kilku techników centrum danych, co oznacza, że musimy być w stanie szybko i bez wysiłku serwisować i naprawiać przełącznik, bez użycia narzędzi. Wprowadziliśmy znaczne ulepszenia w obsłudze przełącznika z klinem 100. Górną pokrywę można teraz zdjąć bez użycia narzędzi, zapewniając naszym technikom centrum danych łatwy dostęp do elementów wewnętrznych przełączników. Tace wentylatora z możliwością podłączenia na gorąco można teraz usunąć, naciskając klips, a następnie usuwając śrubę kciuka. Ponadto technicy centrum danych mogą łatwo przeglądać status tacy wentylatora za pomocą diody LED stanu obok każdej tacy wentylatora. Połączenie ich pozwala na bardzo szybkie debugowanie i wymianę pola w razie potrzeby.
w przypadku połączeń klina 100 w centrach danych Facebooka używamy optyki z niższym limitem temperatury 55 C, w przeciwieństwie do standardowego zakresu temperatur komercyjnych 70 C. Włożyliśmy wiele wysiłku w konstrukcję termiczną systemu, w tym dodanie jeszcze jednej tacy wentylatora, przegród powietrznych, aby oddzielić ścieżki powietrza między zasilaczem a główną płytą przełącznika, a także projekt otwarcia panelu przedniego, aby zmaksymalizować przepływ powietrza.
Obudowa Wedge 100 jest przeznaczona do Standardowej szafy 19″, dzięki czemu może być łatwo przyjęta przez społeczność sieciową. Jednak nasze centra danych wykorzystują Otwarte Szafy, a także chcielibyśmy zasilać Wedge 100 za pomocą wysoce wydajnych, tytanowych zasilaczy Open Rack V2 przez szynę 12V z tyłu szafy. Zaprojektowaliśmy więc 21-calową tacę adaptera Open Rack, która pomaga zamontować Wedge 100 W takim stojaku. Zaprojektowaliśmy również moduł przejścia zasilacza, który łączy szynę 12V z wejściem 12V głównej płyty przełącznika Wedge 100. Jest w tej samej formie co standardowy zasilacz AC / DC i zawiera kontroler hot swap 12V.
specyfikacje projektu Wedge 100 można znaleźć tutaj.
aktualizacje oprogramowania
nasz stos oprogramowania dla Wedge100 jest prawie identyczny ze stosem dla Wedge 40. Używamy tych samych demonów przełączania i routingu FBOSS i używamy tego samego zestawu narzędzi do zarządzania przełącznikami w produkcji. Zawsze jest praca, którą należy wykonać, aby wesprzeć nową platformę,ale jedną z głównych zasad fboss jest zbudowanie minimalnego zestawu funkcji, którego potrzebujemy dla naszego środowiska. Pozwala nam to zachować szczupły kod i łatwo dostosować go do nowych środowisk i platform, zamiast zaczynać od zera lub zarządzać równoległymi bazami kodu. Uzyskanie zestawu protokołów, które obsługujemy-NDP, DHCP, ARP, LLDP, ECMP, ICMP — oraz funkcji, których potrzebujemy do działania — warm boot — praca nad Wedge100 była bardziej iteracyjnym ćwiczeniem, ponieważ mieliśmy doświadczenie w uruchamianiu Wedge 40 w produkcji. Pozwoliło nam to rozpocząć pracę nad projektem Wedge100 i wykorzystać go jako okazję do wzmocnienia naszego stosu oprogramowania FBOSS.
ponieważ zarządzaliśmy Wedge 40s w produkcji od prawie dwóch lat i dysponowaliśmy infrastrukturą, prawie natychmiast rozpoczęliśmy testowanie Wedge100 w środowisku produkcyjnym. Uruchamianie przełączników obsługujących ruch produkcyjny daje nam najlepszy sygnał do zmian, które musimy wprowadzić. Jak się okazało, naszym największym wyzwaniem była strona operacyjna — w szczególności konfiguracja, udostępnianie i zarządzanie klinem 40 i klinem 100 równolegle w naszej sieci. Na Facebooku zespół FBOSS pisze zarówno oprogramowanie, które wykonuje przekazywanie pakietów, jak i zestaw narzędzi, których używamy do operacyjnego zarządzania przełącznikami. Z tego powodu mieliśmy pozytywne sprzężenie zwrotne, a w końcu doświadczenia zdobyte w produkcji wpłynęły na decyzje dotyczące oprogramowania, a nawet sprzętu. W ten sposób mogliśmy skupić się na funkcjach, których faktycznie potrzebowaliśmy i bardzo szybko uzyskać Przełączniki Wedge 100 przekierowujące ruch produkcyjny.
kolejnym wyzwaniem, przed którym stanęliśmy podczas tworzenia klina 100, było uelastycznienie naszej platformy programowej. Kiedy wdrożyliśmy Klin 40, skorzystaliśmy z faktu, że zestaw konfiguracji, które musieliśmy obsługiwać, był dość ograniczony i mogliśmy je łatwo obsługiwać. Z klinem 100 tak nie było. Chcieliśmy zrzucić Klin 100 w dowolnym miejscu w naszej sieci, które miało Klin 40. Prędkości łącza w dół i typy kabli mogą się różnić. Prędkości łącza w górę mogą się różnić w zależności od starych i nowych klastrów. Prawidłowa konfiguracja jest szczególnie ważna w przypadku łączy 100g, ponieważ mają one znacznie mniejszy margines mocy optycznej i mogą stanowić więcej wyzwań w tworzeniu połączenia i optymalizacji wydajności, wymagając znacznie bardziej starannej konfiguracji niż 40G. Obsługa tych nowych środowisk wymagała zmian od warstwy fizycznej aż po nasz stos monitorowania. Rozszerzyliśmy nasze wsparcie dla specyfikacji SFF, aby móc obsługiwać optykę CWDM4 działającą z różnymi prędkościami, zmieniając klasę mocy, CDR, rate-select, FEC, Pre-emphasis i inne dynamicznie, aby obsługiwać te różne ustawienia. Przerobiliśmy również wiele naszych procesów konfiguracji i udostępniania, aby móc obsługiwać wszystkie te możliwości.
wreszcie, posiadanie własnego stosu oprogramowania sprawia, że naprawianie błędów lub dodawanie funkcji do tych urządzeń jest znacznie szybsze dla Facebooka. Na przykład zaobserwowaliśmy, że optyka 100g osiąga wyższe temperatury pracy, więc zmieniliśmy logikę sterowania wentylatorami w naszym sterowniku zarządczym OpenBMC, aby uzyskać lepszy profil termiczny, gdy te moduły są obecne. Innym razem natknęliśmy się na panikę jądra na mikroserwerze. Ponieważ mamy zespół inżynierów, który zarządza naszymi własnymi wydaniami jądra, możemy wykorzystać ich wiedzę do debugowania problemów. Posiadanie całego stosu pozwala nam również na inne interesujące rzeczy, takie jak uproszczenie procedur konserwacji urządzeń poprzez modyfikację znaczenia diod LED na panelu przednim na tych przełącznikach, w oparciu o informacje zwrotne, które otrzymujemy od zespołu operacyjnego centrum danych.
cały kod FBOSS jest open source i dostępny na GitHub. W zeszłym roku otworzyliśmy nasze oprogramowanie i od tego czasu przeszliśmy do ciągłego cyklu wydawniczego, automatycznie wysyłając wewnętrzne Dyfuzory do GitHub. Jeśli chcesz dowiedzieć się więcej o tym, nad czym pracujemy, sprawdź kod.
ekosystem sprzętu i oprogramowania
Przełącznik Wedge 100 jest teraz dostępny jako produkt komercyjny od Edgecore Networks i jej partnerów dystrybucyjnych na całym świecie. Wedge 100-32x firmy Edgecore jest w pełni zgodny ze specyfikacją Wedge 100 OCP i jest produkowany przez spółkę dominującą Edgecore, firmę Accton Technology, która produkuje również Wedge 100 do wdrażania naszej sieci. Przełącznik sprzętowy Wedge 100-32x jest objęty trzyletnią gwarancją i jest dostarczany wraz z diagnostyką, oprogramowaniem układowym OpenBMC i otwartym środowiskiem instalacji sieciowej universal NOS loader.
zauważyliśmy również duże zainteresowanie ze strony dostawców nadajników-odbiorników, aby zakwalifikować swoje moduły na platformie. Aby sprostać temu zapotrzebowaniu, współpracujemy z University of New Hampshire InterOperability Laboratory (UNH-IOL), dzięki czemu wszelkie moduły mogą być profesjonalnie testowane w ich obiektach. UNH-IOL nadal jest liderem w dostarczaniu neutralnych, szerokich usług testowania i zgodności z normami dla branży sieciowej.
po stronie oprogramowania wiele firm buduje swoje rozwiązania na platformie Wedge 100. Na warstwie systemu operacyjnego mamy duże sieci przełączników i Canonical; a na górnych częściach stosu mamy SnapRoute, FRINX i Apstra.
- Big Switch Networks nadal napędza Open Network Linux (ONL), pierwszy sieciowy system operacyjny open-source obsługujący oryginalny Wedge 40, a teraz Wedge 100; Fboss Facebooka jest już dostępny na onl na klinie 40 i wkrótce klinie 100. ONL jest częścią projektu Open Compute i obsługuje ponad 30 różnych otwartych przełączników sieciowych OCP i innych niż OCP. Używają również onl wewnętrznie jako podstawy swoich produktów komercyjnych Big Monitoring Fabric i Big Cloud Fabric.
- Canonical wprowadzi Ubuntu Core, nowy system operacyjny dla urządzeń w chmurze i IoT, na platformę Wedge 100. Ubuntu Core może uruchamiać wiele różnych stosów sieciowych, takich jak FBOSS lub SnapRoute jako Snapy, i włączać obsługę bare-metal dla dużych programów, takich jak OpenStack, Hadoop i Kubernetes w warstwie obliczeniowej centrum danych z przełącznika top-of-rack.
- SnapRoute ogłosił dostępność oprogramowania FlexSwitch na platformie Wedge 100. FlexSwitch to otwarty stos sieciowy L2 / L3, który może być uruchamiany na wielu platformach sprzętowych. Jego celem jest zmiana ekonomiki działania sieci poprzez zapewnienie w pełni konfigurowalnej i programowalnej płaszczyzny sterowania oraz oferowanie kompleksowych ram do automatyzacji cyklu życia i analizy sieci. Opiera się na koncepcji pełnej modułowości, promując ideę uruchamiania tylko zestawu funkcjonalności, których wymaga sieć, w przeciwieństwie do tradycyjnego podejścia one size fits all.
- FRINX koncentruje się na integracji OpenDaylight, platformy SDN open source, na klinie 100. Pracują nad stworzeniem gotowego do użycia rozwiązania dla wdrożeń centrów danych, opartego w całości na komponentach open source.
- Apstra działa w górnej warstwie z systemem operacyjnym Apstra (aos), niezależnym od dostawcy rozproszonym systemem operacyjnym, który może przełożyć intencje użytkownika na stale sprawdzaną infrastrukturę. Pracują nad rozwiązaniem, które może zarządzać stosami w oparciu o ONL i Snaproute, a także inne Sieciowe systemy operacyjne, dostępne na początku 2017 roku.
cieszymy się, że mamy tak kompletny i zróżnicowany zestaw technologii w otwartej przestrzeni sprzętu sieciowego i będziemy kontynuować współpracę z innymi firmami nad klinem 100. Na początku przyszłego roku planujemy zaprezentować te oprogramowanie sieciowe i rozwiązania sprzętowe społeczności OCP, w tym te zbudowane na klinie 100, i nadal będziemy dzielić się naszymi doświadczeniami z rozproszonymi sieciami. Zostańcie z nami!
Dziękuję wszystkim zespołom i osobom, które przyczyniły się do tego projektu.