Wedge 100: avoimempi ja monipuolisempi kuin koskaan – Facebook Engineering

Me Facebookilla painotamme datakeskustemme rakentamista täysin avoimilla ja erillisillä laitteistoilla, jotka suunnittelijamme ovat suunnitelleet ja jotka ovat Open Compute Projectin (OCP) kautta hankittuja. Erittelemällä pinomme voimme korvata laitteiston tai ohjelmiston heti, kun parempaa teknologiaa on saatavilla. Tämä lähestymistapa on mahdollistanut vaikuttavan suorituskyvyn voitot koko laskenta -, varastointi-ja verkottumiskerroksissa.

datakeskuksiimme kohdistuvien vaatimusten kasvaessa pyrimme jatkuvasti käsittelemään dataa tehokkaammin ja yhä nopeammilla nopeuksilla. Strategiamme on rakentaa 100g datakeskukset, ja Wedge 100, meidän toisen sukupolven top-of-rack verkkokytkin, on yksi tärkeimmistä osista auttaa meitä saavuttamaan tämän tavoitteen.

tänään on ilo ilmoittaa, että Wedge 100-spesifikaatio on hyväksytty OCP: hen. Ala on jo rakentanut tukevan ohjelmistoekosysteemin ympärilleen, ja toivomme, että tämä lisäys yhteisöön nopeuttaa innovointia ja antaa muille mahdollisuuden tuoda 100g: tä myös datakeskuksiinsa.

tässä blogikirjoituksessa hahmotellaan nykyinen laitteisto-ja ohjelmistoekosysteemi, ja kerromme kokemuksistamme Wedge 100: n käyttämisestä tuotannossa.

Wedge 100 Facebookilla

Facebookilla käytämme Wedge 100: aa tuotantoympäristöissämme, ja otamme sen edelleen käyttöön mittakaavaltaan kaikissa datakeskuksissamme. Se on osa 100G-datakeskusverkostostrategiaamme, mutta mahdollistaa myös taaksepäin yhteensopivuuden ylläpitämisen olemassa olevien 40g-laitteiden kanssa. Ohjelmistopuolella käytämme edelleen fbossia ja OpenBMC: tä, omia verkostopino-ja sokkelinhallintatoteutuksiamme, mikä antaa meille joustavuutta iteroida nopeasti ja tuoda uusia ominaisuuksia ja innovaatioita verkostoomme.

Wedge 100: n luominen oli monimutkaista, mutta onnistuimme iteroimaan laitteistoa ja ohjelmistoa luottavaisin mielin, koska opimme luomaan ja ottamaan käyttöön Wedge 40: n. Käytimme uudelleen monia samoja laitteistokomponentteja ja teimme avainmuutoksia käsitelläksemme kipupisteitä, joita tunsimme Wedge 40: llä. Wedge 100: ssa meillä on myös sama fboss-ohjelmisto kuin Wedge 40: ssä, mutta laajensimme sitä tukemaan uutta alustaa 100G ASIC-siruilla ja optiikalla.

laitteistopäivitykset

rakensimme Wedge 100: n com-Express Type 6-moduulilla kompaktikertoimella (95mm x 95mm) mikroserveriksi; tämä enteilee hyvää 100G: n ja suurempien nopeuksien kytkinalustoille. Wedge 100 tukee myös COM-Express-moduulin muotokerrointa (95mm x 125mm), mikä mahdollistaa joustavan suunnittelun, jos erikoiskohteisiin tarvitaan kehittyneempiä suorittimia.

huollettavuus on meille Facebook-palvelussa keskeinen fokus. Meillä on tuhansia Kiilakytkimiä käytössä ja vain muutama konesaliteknikko, mikä tarkoittaa, että meidän on kyettävä huoltamaan ja korjaamaan kytkin nopeasti ja vaivattomasti ilman työkaluja. Teimme merkittäviä parannuksia Wedge 100-Kytkimen huollettavuuteen. Yläkansi voidaan nyt poistaa ilman työkaluja, mikä tarjoaa helpon pääsyn kytkin sisäosat meidän datakeskuksen teknikot. Kuumakiinnitettävät Tuulettimet voidaan nyt irrottaa painamalla klipsiä vs. poistamalla peukaloruuvi. Lisäksi konesaliteknikot voivat helposti tarkastella Tuulettimen tilaa kunkin tuulettimen vieressä olevan LED-tilan kautta. Näiden yhdistelmä mahdollistaa erittäin nopean debugin ja kentän vaihdon tarvittaessa.

Facebook-datakeskusten Wedge 100-laitteen ylätasoissa käytetään optiikkaa, jonka alemmat kotelolämpötilarajat ovat 55 C, toisin kuin tavallisen 70 C: n kaupallisen lämpötila-alueen. Laitoimme paljon vaivaa järjestelmän lämpösuunnitteluun, mukaan lukien lisäämällä yhden Tuulettimen tarjotin, air baffles erottaa ilman polkuja virtalähteen ja pääkytkimen aluksella, ja etupaneelin aukon suunnittelu maksimoida ilmavirran.

Wedge 100-alusta on suunniteltu alan standardin mukaiselle 19″ telineelle, joten verkostoituva yhteisö voi helposti ottaa sen käyttöön. Datakeskuksissamme käytetään kuitenkin avoimia telineitä, ja haluaisimme myös power Wedge 100: n erittäin tehokkailla, Titaaniluokitelluilla avoimilla teline V2-virtalähteillä telineen takaosassa olevan 12V: n väyläpalkin kautta. Joten suunnittelimme 21 ” avoin teline adapteri tarjotin, joka auttaa asentaa Wedge 100 tällaisessa telineessä. Suunnittelimme myös virtalähteen läpivientimoduulin, joka yhdistää 12V: n väylän 100-pääkytkinlevyn 12V-tuloon. Se on samassa muodossa tekijä kuin standardi AC / DC PSU, ja sisältää 12V hot swap ohjain.

Wedge 100: n suunnittelutiedot löydät täältä.

Wedge100 Open Rack V2 Adapter

ohjelmistopäivitykset

wedge100: n ohjelmistopino on lähes samanlainen kuin Wedge 40: n. Käytämme samoja fboss-kytkentä-ja reititysdeemoneja, ja käytämme samoja työkaluja kytkimien hallintaan tuotannossa. On aina työtä, joka on tehtävä tukemaan uuden alustan, mutta yksi ohjaavista periaatteista FBOSS on rakentaa minimaalinen ominaisuuksia tarvitsemme ympäristömme. Näin voimme pitää koodimme vähärasvaisena ja helposti mukauttaa sen uusiin ympäristöihin ja alustoihin sen sijaan, että aloittaisimme alusta tai hallitsisimme rinnakkaisia koodipohjia. Saada joukko protokollia tuemme-NDP, DHCP, ARP, LLDP, ECMP, ICMP — ja ominaisuuksia, joita tarvitsemme toimimaan — lämmin boot-työskentely Wedge100 oli enemmän iteratiivinen harjoitus, koska meillä oli kokemusta käynnissä Wedge 40 tuotannossa. Tämä antoi meille mahdollisuuden päästä vauhtiin wedge100-projektissa ja käyttää sitä mahdollisuutena kovettaa fboss-ohjelmistopinomme.

koska olimme hallinnoineet Wedge 40s: ää tuotannossa lähes kaksi vuotta ja koska meillä oli infrastruktuuri valmiina, aloitimme wedge100: n testaamisen tuotantoympäristössä lähes välittömästi. Tuotantoliikennettä palvelevat Kytkimet antavat meille parhaan signaalin muutoksista, joita meidän on tehtävä. Kuten kävi ilmi, suurin haasteemme oli operatiivisella puolella-erityisesti Wedge 40: n ja Wedge 100: n konfigurointi, varaaminen ja hallinta rinnakkain verkostossamme. Facebookilla fboss-tiimi kirjoittaa sekä paketin huolintaa suorittavan ohjelmiston että työkalupaketin, jolla kytkimiä voi hallita toiminnallisesti. Tästä johtuen meillä oli positiivinen palautesilmukka ja lopulta tuotannossa saadut opit informoivat ohjelmisto — ja jopa laitteistopäätöksiä. Näin pystyimme keskittymään oikeasti tarvitsemiimme ominaisuuksiin ja saamaan Wedge 100 switches forwarding-tuotantoliikenteen hyvin nopeasti.

toinen haaste, jonka kohtasimme, Kun Wedge 100: n rakentaminen teki ohjelmistoalustastamme joustavamman. Kun otimme käyttöön Wedge 40: n, hyödyimme siitä, että tarvitsemamme kokoonpanot olivat melko rajoittuneita, ja pystyimme helposti tukemaan niitä. Wedge 100: n kohdalla näin ei ollut. Halusimme pudottaa kiilan 100 mihin tahansa kohtaan verkostossamme, jossa on kiila 40. Laskeutumisnopeudet ja kaapelityypit voivat vaihdella. Siirtonopeudet voivat vaihdella vanhan ja uuden klusterin välillä. Oikea kokoonpano on erityisen tärkeää 100g-linkeille, koska niillä on paljon pienempi optinen tehomarginaali ja ne voivat aiheuttaa enemmän haasteita linkin luomisessa ja suorituskyvyn optimoinnissa, mikä vaatii paljon huolellisempaa konfigurointia kuin 40G. Näiden uusien ympäristöjen tukeminen vaati muutoksia fyysisestä kerroksesta aina seurantapinoomme asti. Laajensimme tukea SFF spec pystyä käyttämään cwdm4 optiikka käynnissä eri nopeuksilla muuttamalla teholuokka, CDR, rate-select, FEC, pre-painotus ja muut dynaamisesti tukemaan näitä eri asetuksia. Olemme myös muokanneet paljon konfigurointi ja provisioning työnkulkuja pystyä tukemaan kaikkia näitä mahdollisuuksia.

Oman ohjelmistopinon omistaminen tekee bugien korjaamisesta tai toimintojen lisäämisestä näihin laitteisiin paljon nopeampaa Facebookille. Havaitsimme esimerkiksi, että 100g-optiikalla saavutetaan korkeammat toimintalämpötilat, joten muutimme Tuulettimen ohjauslogiikkaa hallintaohjaimessamme, OpenBMC: ssä, paremman lämpöprofiilin saavuttamiseksi, kun kyseiset moduulit ovat läsnä. Muina aikoina, kohtasimme kernel panics on microserver. Koska meillä on insinööritiimi, joka hallinnoi omia ydinjulkaisujamme, voisimme hyödyntää heidän asiantuntemustaan ongelmien vianetsinnässä. Koko pinon omistaminen antaa meille myös mahdollisuuden tehdä muita mielenkiintoisia asioita, kuten yksinkertaistaa laitteen huoltotoimenpiteitä muuttamalla etupaneelin LEDien merkitystä näissä kytkimissä, perustuen palautteeseen, jonka saamme datakeskuksen toimintatiimiltä.

FBOSS-koodi on kaikki avoimia lähteitä ja saatavilla GitHubissa. Avasimme ohjelmistomme viime vuonna ja olemme sen jälkeen siirtyneet jatkuvaan julkaisusykliin, työntäen sisäiset diffit automaattisesti GitHubiin. Jos haluat tietää lisää työstämme, tarkista koodi.

laitteisto-ja ohjelmistoekosysteemi

Wedge 100-kytkin on nyt saatavilla kaupallisena tuotteena edgecore Networksilta ja sen kanavakumppaneilta ympäri maailmaa. Edgecoren Wedge 100-32x on täysin Wedge 100 OCP-spesifikaation mukainen ja sen valmistaa Edgecoren emoyhtiö Accton Technology, joka valmistaa myös Wedge 100: n verkon käyttöönottoon. Wedge 100-32X laitekytkin sisältää kolmen vuoden takuun ja toimitetaan diagnostiikka, openbmc firmware, ja avoimen verkon asennus ympäristö universal NOS loader.

olemme myös nähneet lähettimien myyjien olevan hyvin kiinnostuneita saamaan moduulinsa käyttöön alustalla. Vastataksemme tähän kysyntään teemme yhteistyötä New Hampshiren yliopiston Yhteentoimivuuslaboratorion (UNH-IOL) kanssa, jotta kaikki moduulit voidaan testata ammattimaisesti niiden tiloissa. UNH – IOL on edelleen johtava toimija puolueettomien, laajapohjaisten testaus-ja standardointipalvelujen tarjoamisessa verkostoituvalle teollisuudelle.

ohjelmistopuolella useat yritykset rakentavat ratkaisujaan Wedge 100-alustan päälle. Käyttöjärjestelmäkerroksessa meillä on isot Kytkinverkot ja Canonical; ja pinon ylemmissä osissa on SnapRoute, FRINX ja Apstra.

  • Big Switch Networks ajaa edelleen Open Network Linuxia (ONL), joka oli ensimmäinen avoimen lähdekoodin verkkokäyttöjärjestelmä, joka tuki alkuperäistä Wedge 40: ää, ja nyt Wedge 100; Facebook – FBOSSISTA löytyy juuri nyt myös ONL: n päälle kiila 40 ja pian kiila 100. ONL on osa Open Compute-projektia ja tukee 30 + erilaista OCP-ja ei-OCP-avointa verkottumiskytkintä. He käyttävät ONL: ää myös sisäisesti kaupallisten tuotteidensa Big Monitoring Fabric ja Big Cloud Fabric perustana.
  • Canonical tuo uuden pilvi-ja IoT-laitteille tarkoitetun käyttöjärjestelmänsä Ubuntu Core: N Wedge 100-alustalle. Ubuntu Core voi suorittaa useita erilaisia verkkopinoja, kuten fboss tai SnapRoute, napsahtaa, ja mahdollistaa paljasmetallivaraukset suurille ohjelmistoille, kuten OpenStack, Hadoop ja Kubernetes, datakeskuksen laskentakerroksessa telinekytkimestä.
  • SnapRoute ilmoitti Flexswitch-ohjelmiston saatavuuden Wedge 100-alustan päälle. FlexSwitch on avoimen lähdekoodin L2 / L3-verkostopino, jota voidaan käyttää useilla laitteistoalustoilla. Sen tavoitteena on muuttaa verkon käytön taloudellisuutta tarjoamalla täysin muokattavissa ja ohjelmoitavissa oleva ohjaustaso ja tarjoamalla kattavat puitteet elinkaariautomaation ja verkkoanalytiikan tekemiseen. Se on rakennettu täyden modulaarisuuden käsitteiden ympärille, edistäen ajatusta ajaa vain verkon vaatimia toimintoja, toisin kuin perinteinen one size fits all-lähestymistapa.
  • FRINX on keskittynyt integroimaan avoimen lähdekoodin SDN-Alustan Opendaylightin Wedge 100: aan. He pyrkivät luomaan tuetun, avoimen lähdekoodin komponentteihin perustuvan ratkaisun datakeskusten käyttöönottoon.
  • Apstra toimii yläkerroksessa apstra-käyttöjärjestelmän (aos) kanssa, joka on toimittajan agnostinen hajautettu käyttöjärjestelmä, joka voi kääntää käyttäjän aikeet jatkuvasti validoiduksi infrastruktuuriksi. He työskentelevät ratkaisun, joka voi hallita pinoja perustuu ONL ja Snaproute sekä muita verkon käyttöjärjestelmiä, saatavilla alkuvuodesta 2017.

olemme innoissamme, että meillä on näin kattava ja monipuolinen teknologiakokonaisuus avoimessa verkostoitumistilassa, ja jatkamme yhteistyötä muiden yritysten kanssa Wedge 100: ssa. Ensi vuoden alussa suunnittelemme esittelevämme näitä OCP-yhteisön verkko-ohjelmisto-ja laitteistoratkaisuja, mukaan lukien Wedge 100: lle rakennetut, ja jatkamme kokemustemme jakamista hajautetusta verkostoitumisesta. Pysykää kuulolla!

Kiitos kaikille tiimeille ja ihmisille, jotka ovat osallistuneet tähän projektiin.

You might also like

Vastaa

Sähköpostiosoitettasi ei julkaista.