la Facebook, punem accentul pe construirea centrelor noastre de date cu hardware complet deschis și dezagregat proiectat de inginerii noștri și open-source prin Open Compute Project (OCP). Prin dezagregarea stivei noastre, putem înlocui hardware-ul sau software-ul imediat ce devine disponibilă o tehnologie mai bună. Această abordare a permis câștiguri impresionante de performanță în straturile de calcul, stocare și rețea.
pe măsură ce cererile din centrele noastre de date continuă să crească, urmărim în permanență modalități de a gestiona datele mai eficient și la viteze din ce în ce mai mari. Strategia noastră este de a construi centre de date 100G, iar Wedge 100, comutatorul nostru de rețea de a doua generație, este una dintre componentele cheie care ne ajută să atingem acest obiectiv.
astăzi, suntem încântați să anunțăm că specificațiile Wedge 100 au fost acceptate în OCP. Industria a construit deja un ecosistem software robust în jurul său și sperăm că această adăugare la comunitate va accelera ritmul inovației și va permite altora să aducă 100G și în centrele lor de date.
în această postare pe blog, vom prezenta ecosistemul hardware și software actual și vom împărtăși câteva dintre experiențele noastre folosind Wedge 100 în producție.
Wedge 100 la Facebook
la Facebook, folosim Wedge 100 în mediile noastre de producție și continuăm să o implementăm la scară în centrele noastre de date. Este o componentă a strategiei noastre de rețea a centrelor de date 100g, permițându-ne în același timp să menținem compatibilitatea înapoi cu dispozitivele 40g existente. În ceea ce privește software-ul, continuăm să folosim fboss și OpenBMC, propriile noastre implementări de gestionare a stivei de rețea și a tabloului de bază, ceea ce ne oferă flexibilitatea de a itera rapid și de a introduce noi caracteristici și inovații în rețeaua noastră.
crearea Wedge 100 a fost un efort complex, dar am reușit să repetăm hardware-ul și software-ul cu încredere datorită învățăturilor noastre de la crearea și implementarea Wedge 40. Am reutilizat multe dintre aceleași componente hardware și am făcut modificări cheie pentru a aborda punctele de durere pe care le-am simțit cu Wedge 40. Pe Wedge 100, rulăm și același software FBOSS ca Wedge 40, dar l-am extins pentru a susține noua platformă cu cipuri și optică ASIC de 100g.
actualizări Hardware
am construit Wedge 100 cu un modul COM-Express de tip 6 în factorul de formă compact (95mm x 95mm) ca microserver; acest lucru este de bun augur pentru platformele de comutare de viteză 100G și mai mari. Wedge 100 acceptă, de asemenea, factorul de formă al modulului COM-Express (95mm x 125mm), care permite un design flexibil în cazul în care sunt necesare procesoare mai avansate pentru aplicații speciale.
Serviceability este un obiectiv cheie pentru noi la Facebook. Avem mii de comutatoare Wedge implementate și doar câțiva tehnicieni de centre de date, ceea ce înseamnă că trebuie să putem repara și repara un comutator rapid și fără efort, fără instrumente. Am făcut îmbunătățiri majore la funcționalitatea comutatorului cu Wedge 100. Capacul superior poate fi acum îndepărtat fără instrumente, oferind acces ușor la comutarea internă pentru tehnicienii noștri din centrele de date. Tăvile ventilatorului conectabile la cald pot fi acum îndepărtate apăsând pe o clemă față de scoaterea unui șurub cu degetul mare. În plus, tehnicienii centrelor de date pot vizualiza cu ușurință starea tăvii ventilatorului printr-un LED de stare lângă fiecare tavă a ventilatorului. Combinația dintre acestea permite depanarea foarte rapidă și înlocuirea câmpului, dacă este necesar.
pentru uplink-urile Wedge 100 din centrele de date Facebook, folosim optica care vine cu o limită de temperatură mai mică de 55 C, spre deosebire de intervalul de temperatură comercial standard de 70 C. Am depus mult efort în proiectarea termică a sistemului, inclusiv adăugarea unei alte tăvi de ventilator, deflectoare de aer pentru a separa căile de aer între alimentator și placa de comutare principală și designul de deschidere a panoului frontal pentru a maximiza fluxul de aer.
șasiul Wedge 100 este proiectat pentru un rack standard industrial de 19″, astfel încât să poată fi adoptat cu ușurință de comunitatea de rețea. Cu toate acestea, centrele noastre de date folosesc rafturi deschise și, de asemenea, am dori să alimentăm Wedge 100 folosind unitățile de alimentare Open Rack V2 cu o eficiență ridicată, cu titan, prin bara de autobuz 12V din spatele raftului. Așa că am proiectat o tavă de adaptor pentru Rack deschis de 21 ” care ajută la montarea Wedge 100 într-un astfel de rack. De asemenea, am proiectat un modul de trecere PSU care conectează bara de autobuz 12V la intrarea 12V a plăcii principale de comutare Wedge 100. Este în același factor de formă ca alimentatorul standard AC/DC și conține un controler hot swap de 12V.
puteți găsi specificațiile de proiectare pentru Wedge 100 aici.
actualizări de Software
stiva noastră de software pentru Wedge100 este aproape identică cu stiva pentru Wedge40. Rulăm aceiași demoni de comutare și rutare FBOSS și folosim același set de instrumente pentru a gestiona comutatoarele în producție. Există întotdeauna de lucru care trebuie făcut pentru a sprijini o nouă platformă, dar unul dintre principiile directoare pentru FBOSS este de a construi setul minim de caracteristici de care avem nevoie pentru mediul nostru. Acest lucru ne permite să ne menținem codul slab și să îl adaptăm cu ușurință la medii și platforme noi, în loc să începem de la zero sau să gestionăm baze de cod paralele. Obținerea setului de protocoale pe care le susținem — NDP, DHCP, ARP, LLDP, ECMP, ICMP — și caracteristicile de care avem nevoie pentru a funcționa — boot cald — lucrul la Wedge100 a fost mai mult un exercițiu iterativ, deoarece am avut experiență în rularea Wedge 40 în producție. Acest lucru ne-a permis să lovim terenul care rulează pe proiectul Wedge100 și să-l folosim ca o oportunitate de a ne întări stiva de software FBOSS.
pentru că gestionam Wedge 40s în producție de aproape doi ani și aveam infrastructura în vigoare, am început să testăm Wedge100 într-un mediu de producție aproape imediat. Rularea comutatoarelor care deservesc traficul de producție ne oferă cel mai bun semnal pentru modificările pe care trebuie să le facem. După cum se dovedește, am descoperit că cea mai mare provocare a noastră a fost pe partea operațională — în special configurarea, furnizarea și gestionarea Wedge 40 și Wedge 100 în paralel în rețeaua noastră. La Facebook, echipa FBOSS scrie atât software-ul care efectuează redirecționarea pachetelor, cât și suita de instrumente pe care le folosim pentru a gestiona comutatoarele operațional. Din acest motiv, am avut o buclă de feedback pozitiv și, în cele din urmă, lecțiile învățate în producția informată software — și chiar hardware — decizii. În acest fel, am reușit să ne concentrăm asupra caracteristicilor de care aveam nevoie și să obținem comutatoare Wedge 100 care redirecționează traficul de producție foarte repede.
o altă provocare cu care ne-am confruntat atunci când am construit Wedge 100 a fost să facem platforma noastră software mai flexibilă. Când am implementat Wedge 40, am beneficiat de faptul că setul de configurații pe care trebuia să le susținem erau destul de constrânse și le puteam susține cu ușurință. Cu Wedge 100, nu a fost cazul. Am vrut să aruncăm o pană 100 în orice locație din rețeaua noastră care avea o pană 40. Vitezele de legătură descendentă și tipurile de cabluri pot varia. Vitezele de Uplink pot varia între clusterele vechi și cele noi. Configurarea corectă este deosebit de importantă pentru legăturile 100g, deoarece acestea au o marjă de putere optică mult mai mică și pot prezenta mai multe provocări în stabilirea legăturilor și optimizarea performanței, necesitând o configurație mult mai atentă decât 40G. Sprijinirea acestor noi medii a necesitat modificări de la stratul fizic până la stiva noastră de monitorizare. Ne-am extins suportul pentru spec SFF pentru a putea opera optica CWDM4 care rulează la diferite viteze prin schimbarea clasei de putere, CDR, rate-select, FEC, pre-accent și altele dinamic pentru a sprijini aceste setări diferite. De asemenea, am refăcut o mulțime de fluxuri de lucru de configurare și aprovizionare pentru a putea susține toate aceste posibilități.
în cele din urmă, deținerea propriului nostru stivă de software face ca remedierea erorilor sau adăugarea de funcționalități la aceste dispozitive să fie mult mai rapidă pentru Facebook. De exemplu, am observat că optica 100G atinge temperaturi operaționale mai ridicate, așa că am schimbat logica de control a ventilatorului pe controlerul nostru de gestionare a Consiliului, OpenBMC, pentru a obține un profil termic mai bun atunci când aceste module sunt prezente. Alteori, am întâlnit panică de kernel pe microserver. Deoarece avem o echipă de ingineri care gestionează propriile versiuni de kernel, am putea folosi expertiza lor pentru a depana problemele. Deținerea întregii stive ne permite, de asemenea, să facem alte lucruri interesante, cum ar fi simplificarea procedurilor de întreținere a dispozitivului prin modificarea semnificației LED-urilor panoului frontal pe aceste comutatoare, pe baza feedback-ului pe care îl primim de la echipa de operațiuni a Centrului de date.
codul FBOSS este deschis și disponibil pe GitHub. Am deschis software-ul nostru anul trecut și de atunci ne-am mutat într-un ciclu de eliberare continuă, împingând automat diff-urile interne către GitHub. Dacă doriți să aflați mai multe despre ceea ce lucrăm, vă rugăm să verificați codul.
ecosistem Hardware și software
comutatorul Wedge 100 este acum disponibil ca produs comercial de la Edgecore Networks și partenerii săi de canal din întreaga lume. Edgecore Wedge 100 – 32x este pe deplin compatibil cu specificațiile Wedge 100 OCP și este fabricat de compania-mamă Edgecore, Accton Technology, care produce, de asemenea, Wedge 100 pentru implementarea rețelei noastre. Comutatorul hardware Wedge 100-32x include o garanție de trei ani și este livrat cu diagnostics, firmware OpenBMC și Open Network Install environment universal nos loader.
am văzut, de asemenea, un interes puternic din partea furnizorilor de transceiver pentru a-și califica modulele pe platformă. Pentru a satisface această cerere, suntem parteneriat cu Universitatea din New Hampshire interoperabilitatea Laboratory (UNH-IOL), astfel încât orice module pot fi testate profesional la instalațiile lor. UNH-IOL continuă să fie un lider în furnizarea de servicii de testare și Conformitate a standardelor neutre, bazate pe scară largă pentru industria de rețele.
pe partea de software, mai multe companii își construiesc soluțiile pe platforma Wedge 100. Pe stratul sistemului de Operare, avem rețele mari de comutare și Canonical; iar pe părțile superioare ale stivei, avem SnapRoute, FRINX și Apstra.
- rețele mari de comutare continuă să conducă Open Network Linux (ONL), primul sistem de operare de rețea open-source pentru a sprijini original Wedge 40, iar acum Wedge 100; Facebook FBOSS este, de asemenea, disponibil chiar acum pe partea de sus a ONL pe Wedge 40 și în curând Wedge 100. ONL face parte din Proiectul Open Compute și acceptă peste 30 de comutatoare de rețea deschise OCP și non-OCP. De asemenea, folosesc ONL intern ca bază a produselor lor comerciale Big Monitoring Fabric și Big Cloud Fabric.
- Canonical va aduce Ubuntu Core, noul lor sistem de operare pentru dispozitive cloud și IoT, pe platforma Wedge 100. Ubuntu Core poate rula o serie de stive de rețea diferite, cum ar fi FBOSS sau SnapRoute, și permite furnizarea de metale goale pentru software-uri mari, cum ar fi OpenStack, Hadoop și Kubernetes, pe stratul de calcul al Centrului de date din comutatorul de sus al rack-ului.
- SnapRoute a anunțat disponibilitatea software-ului FlexSwitch pe partea de sus a platformei Wedge 100. FlexSwitch este o stivă de rețea open source L2/L3 care poate fi rulată pe mai multe platforme hardware. Acesta își propune să schimbe economia funcționării rețelei, oferind un plan de control complet personalizabil și programabil și oferind un cadru cuprinzător pentru automatizarea ciclului de viață și analiza rețelei. Este construit în jurul conceptelor de modularitate completă, promovând ideea de a rula doar setul de funcționalități pe care le necesită rețeaua, spre deosebire de abordarea tradițională one size fits all.
- FRINX este axat pe integrarea OpenDaylight, o platformă SDN open source, pe Wedge 100. Ei lucrează la crearea unei soluții out-of-the-box acceptate pentru implementările centrelor de date, bazate în întregime pe componente open source.
- Apstra funcționează la un nivel superior cu sistemul de Operare Apstra (AOS), un sistem de operare distribuit de furnizor-agnostic care poate traduce intenția utilizatorului într-o infrastructură validată continuu. Ei lucrează la o soluție care poate gestiona stive bazate pe ONL și Snaproute, precum și alte sisteme de operare de rețea, disponibile la începutul anului 2017.
suntem încântați să avem un set complet și divers de tehnologii în spațiul hardware de rețea deschis și vom continua să lucrăm cu alte companii pe Wedge 100. La începutul anului viitor, intenționăm să prezentăm aceste soluții software și hardware de rețea din comunitatea OCP, inclusiv cele construite pe Wedge 100 și vom continua să împărtășim experiențele noastre cu rețelele dezagregate. Stay tuned!
mulțumesc tuturor echipelor și oamenilor care au contribuit la acest proiect.