Kumaha skala pusat data. laporan Yandex

Kami parantos ngembangkeun desain jaringan pusat data anu ngamungkinkeun panyebaran klaster komputasi langkung ageung tibatan 100 rébu server kalayan bandwidth bisection puncak langkung ti hiji petabyte per detik.

Tina laporan Dmitry Afanasyev anjeun bakal diajar ngeunaan prinsip dasar desain anyar, skala topologi, masalah anu timbul sareng ieu, pilihan pikeun ngarengsekeunana, fitur routing sareng skala fungsi pesawat neraskeun alat jaringan modern dina "padet disambungkeun" topologies kalawan jumlah badag ruteu ECMP. Salaku tambahan, Dima sakedap nyarios ngeunaan organisasi konektipitas éksternal, lapisan fisik, sistem kabel sareng cara pikeun ningkatkeun kapasitas.

Kumaha skala pusat data. laporan Yandex

- Wilujeng siang sadayana! Nami abdi Dmitry Afanasyev, abdi arsiték jaringan di Yandex sareng utamina ngarancang jaringan pusat data.

Kumaha skala pusat data. laporan Yandex

Carita kuring bakal ngeunaan jaringan anu diropéa tina pusat data Yandex. Éta pisan évolusi desain anu urang gaduh, tapi dina waktos anu sami aya sababaraha elemen énggal. Ieu mangrupikeun presentasi tinjauan kusabab seueur inpormasi anu kedah dibungkus dina waktos anu sakedik. Urang mimitian ku milih topologi logis. Teras bakal aya tinjauan pesawat kontrol sareng masalah sareng skalabilitas pesawat data, pilihan naon anu bakal kajadian dina tingkat fisik, sareng urang bakal ningali sababaraha fitur alat. Hayu urang toél saeutik dina naon anu lumangsung dina puseur data jeung MPLS, nu urang ngobrol ngeunaan sababaraha waktu ka tukang.

Kumaha skala pusat data. laporan Yandex

Janten, naon Yandex tina segi beban sareng jasa? Yandex mangrupakeun hyperscaler has. Lamun urang nempo pamaké, urang utamana ngolah requests pamaké. Ogé rupa layanan streaming sarta mindahkeun data, sabab urang ogé boga jasa gudang. Upami langkung caket kana backend, teras beban infrastruktur sareng jasa muncul di dinya, sapertos panyimpenan obyék anu disebarkeun, réplikasi data sareng, tangtosna, antrian pengkuh. Salah sahiji jinis beban kerja utama nyaéta MapReduce sareng sistem anu sami, pamrosésan aliran, diajar mesin, jsb.

Kumaha skala pusat data. laporan Yandex

Kumaha infrastruktur di luhur anu sadayana ieu kajantenan? Sakali deui, kami mangrupikeun hyperscaler anu cukup khas, sanaos urang sigana rada caket kana sisi hyperscaler anu langkung handap tina spéktrum. Tapi urang gaduh sadayana atribut. Kami nganggo hardware komoditi sareng skala horizontal dimana waé mungkin. Simkuring gaduh pooling sumberdaya pinuh: urang teu dianggo kalayan mesin individu, rak individu, tapi ngagabungkeun kana kolam renang badag sumberdaya ditukeurkeun kalawan sababaraha layanan tambahan nu nungkulan tata sarta alokasi, sarta gawéna kalayan sakabéh kolam renang ieu.

Janten urang gaduh tingkat salajengna - sistem operasi dina tingkat klaster komputasi. Hal ieu kacida penting yén urang pinuh ngadalikeun tumpukan téhnologi nu kami nganggo. Urang ngadalikeun titik tungtung (host), jaringan jeung software tumpukan.

Kami ngagaduhan sababaraha pusat data ageung di Rusia sareng mancanagara. Aranjeunna dihijikeun ku tulang tonggong anu ngagunakeun téknologi MPLS. Infrastruktur internal urang ampir sagemblengna diwangun dina IPv6, tapi saprak urang kudu ngalayanan lalulintas éksternal anu masih asalna utamana ngaliwatan IPv4, urang kudu kumaha bae nganteurkeun requests datang ngaliwatan IPv4 ka server frontend, sarta saeutik deui buka IPv4- Internét éksternal - pikeun contona, pikeun indexing.

Sababaraha iterasi terakhir tina desain jaringan pusat data parantos nganggo topologi Clos multi-lapisan sareng L3-hijina. Urang ninggalkeun L2 bari jeung breathed a Hhh lega. Tungtungna, infrastruktur urang ngawengku ratusan rébu tina komputasi (server) instansi. Ukuran klaster maksimum sababaraha waktu ka tukang éta ngeunaan 10 sarébu server. Ieu umumna alatan kumaha sistem operasi tingkat-kluster anu sami, penjadwal, alokasi sumberdaya, sareng sajabana tiasa jalan. Kusabab kamajuan parantos kajantenan dina sisi parangkat lunak infrastruktur, ukuran target ayeuna sakitar 100 rébu server dina hiji klaster komputasi, sareng Kami ngagaduhan tugas - pikeun tiasa ngawangun pabrik jaringan anu ngamungkinkeun pooling sumberdaya efisien dina klaster sapertos kitu.

Kumaha skala pusat data. laporan Yandex

Naon anu urang hoyongkeun tina jaringan pusat data? Anu mimiti, aya seueur rubakpita anu murah sareng disebarkeun sacara seragam. Kusabab jaringan mangrupikeun tulang tonggong dimana urang tiasa ngumpulkeun sumber daya. Ukuran target anyar nyaéta ngeunaan 100 rébu server dina hiji klaster.

Urang ogé, tangtosna, hoyong pesawat kontrol scalable tur stabil, sabab dina infrastruktur badag sapertos loba headaches timbul malah ti acara saukur acak, sarta kami teu hayang pesawat kontrol mawa urang headaches ogé. Dina waktos anu sami, urang hoyong ngaleutikan kaayaan di dinya. Kaayaan anu langkung alit, langkung saé sareng langkung stabil sadayana dianggo, sareng langkung gampang pikeun didiagnosis.

Tangtosna, urang peryogi automation, sabab teu mungkin pikeun ngatur infrastruktur sapertos sacara manual, sareng teu mungkin pikeun sababaraha waktos. Urang peryogi pangrojong operasional saloba mungkin sareng pangrojong CI / CD dugi ka tiasa disayogikeun.

Kalayan ukuran sapertos pusat data sareng klaster, tugas pikeun ngadukung panyebaran sareng ékspansi tambahan tanpa gangguan jasa parantos janten akut. Upami dina klaster ukuran sarébu mesin, sigana caket kana sapuluh rébu mesin, aranjeunna masih tiasa digulung salaku hiji operasi - nyaéta, urang ngarencanakeun ékspansi infrastruktur, sareng sababaraha rébu mesin ditambah salaku hiji operasi. mangka klaster ukuranana saratus rebu mesin teu timbul langsung kawas kieu, eta diwangun ngaliwatan hiji periode waktu. Sareng éta desirable yén sadaya waktos ieu geus ngompa kaluar, infrastruktur nu geus deployed, kudu sadia.

Sareng hiji sarat anu urang tinggalkeun: dukungan pikeun multitenancy, nyaéta, virtualisasi atanapi segmentasi jaringan. Ayeuna urang henteu kedah ngalakukeun ieu dina tingkat lawon jaringan, sabab sharding parantos angkat ka host, sareng ieu ngajantenkeun skala gampang pisan pikeun urang. Hatur nuhun kana IPv6 sareng rohangan alamat anu ageung, kami henteu kedah nganggo alamat duplikat dina infrastruktur internal; sadaya alamat parantos unik. Sareng hatur nuhun kana kanyataan yén kami parantos nyaring sareng segmentasi jaringan ka host, kami henteu kedah nyiptakeun éntitas jaringan virtual dina jaringan pusat data.

Kumaha skala pusat data. laporan Yandex

Hiji hal anu kacida penting nyaéta naon urang teu butuh. Lamun sababaraha fungsi bisa dihapus tina jaringan, ieu ngajadikeun hirup loba gampang, sarta, sakumaha aturan, expands pilihan parabot sadia tur software, sahingga diagnostics basajan pisan.

Janten, naon anu urang henteu peryogikeun, naon anu urang tiasa nyerah, sanés kalayan kabagjaan dina waktos éta, tapi kalayan lega nalika prosésna réngsé?

Anu mimiti, abandoning L2. Kami henteu peryogi L2, henteu nyata atanapi ditiru. Teu dipaké sakitu legana alatan kanyataan yén urang ngadalikeun tumpukan aplikasi. Aplikasi kami sacara horisontal, aranjeunna tiasa dianggo sareng alamat L3, aranjeunna henteu hariwang pisan yén sababaraha conto individu parantos kaluar, aranjeunna ngan saukur ngagulung anu énggal, éta henteu kedah digulung dina alamat anu lami, sabab aya tingkat misah tina kapanggihna jasa jeung ngawaskeun mesin lokasina di klaster. Kami henteu masihan tugas ieu ka jaringan. Tugas jaringan nyaéta ngirimkeun pakét ti titik A ka titik B.

Urang ogé teu boga kaayaan dimana alamat pindah dina jaringan, sarta ieu perlu diawaskeun. Dina loba desain ieu ilaharna diperlukeun pikeun ngarojong mobilitas VM. Kami henteu nganggo mobilitas mesin virtual dina infrastruktur internal Yandex ageung, sareng, komo deui, kami yakin yén sanaos ieu dilakukeun, éta henteu kedah lumangsung kalayan dukungan jaringan. Upami leres-leres kedah dilakukeun, éta kedah dilakukeun dina tingkat host, sareng nyorong alamat anu tiasa migrasi ka overlay, supados henteu nyabak atanapi ngadamel seueur teuing parobahan dinamis kana sistem routing tina underlay sorangan (jaringan transportasi). .

Téknologi sanés anu kami henteu anggo nyaéta multicast. Upami anjeun hoyong, abdi tiasa ngabejaan Anjeun di jéntré naha. Hal ieu ngajadikeun hirup loba gampang, sabab lamun batur geus diurus eta sarta nempo kahayang pesawat kontrol multicast Sigana mah, dina sakabéh tapi instalasi pangbasajanna, ieu téh nyeri sirah badag. Sareng naon deui, sesah milarian palaksanaan open source anu saé, contona.

Tungtungna, urang ngarancang jaringan urang supados aranjeunna henteu robih teuing. Urang tiasa ngandelkeun kanyataan yén aliran acara éksternal dina sistem routing leutik.

Kumaha skala pusat data. laporan Yandex

Masalah naon anu timbul sareng larangan naon anu kedah dipertimbangkeun nalika urang ngembangkeun jaringan pusat data? Ongkos, tangtu. Scalability, tingkat nu urang hayang tumuwuh. Kabutuhan pikeun dilegakeun tanpa ngeureunkeun jasa. Bandwidth, kasadiaan. Visibilitas naon anu lumangsung dina jaringan pikeun sistem monitoring, pikeun tim operasional. rojongan Automation - deui, saloba mungkin, saprak tugas béda bisa direngsekeun dina tingkat béda, kaasup bubuka lapisan tambahan. Nya, henteu [sigana] gumantung kana padagang. Sanajan dina période sajarah béda, gumantung kana bagian mana nu katingali, kamerdikaan ieu gampang atawa leuwih hese pikeun ngahontal. Lamun urang nyokot cross-bagian tina chip alat jaringan, lajeng nepi ka ayeuna éta pisan kondisional ngobrol ngeunaan kamerdikaan ti ngical paralatan, lamun urang ogé hayang chip kalawan throughput tinggi.

Kumaha skala pusat data. laporan Yandex

Topologi logis naon anu bakal kami anggo pikeun ngawangun jaringan kami? Ieu bakal Clos multi-tingkat. Kanyataanna, euweuh alternatif nyata dina momen. Sareng topologi Clos lumayan saé, sanaos dibandingkeun sareng rupa-rupa topologi canggih anu langkung seueur dina bidang minat akademik ayeuna, upami urang gaduh saklar radix ageung.

Kumaha skala pusat data. laporan Yandex

Kumaha jaringan Clos multi-tingkat kasarna terstruktur sareng naon unsur anu béda anu disebut di jerona? Mimitina, angin naek, pikeun orient diri anjeun mana kalér, mana kidul, mana wétan, mana kulon. Jaringan jinis ieu biasana diwangun ku jalma anu gaduh lalu lintas kulon-wétan anu ageung pisan. Sedengkeun pikeun elemen sésana, di luhur mangrupakeun switch maya dirakit ti switch leutik. Ieu mangrupikeun ide utama pangwangunan rekursif jaringan Clos. Kami nyandak elemen sareng sababaraha jinis radix sareng sambungkeunana supados naon anu urang kéngingkeun tiasa dianggap salaku saklar kalayan radix anu langkung ageung. Upami anjeun peryogi langkung seueur, prosedurna tiasa diulang deui.

Dina kasus, contona, kalawan Clos dua-tingkat, nalika kasebut nyaéta dimungkinkeun pikeun ngaidentipikasi jelas komponén anu nangtung dina diagram kuring, aranjeunna biasana disebut planes. Upami urang ngawangun Clos kalayan tilu tingkat saklar tulang tonggong (sadayana sanés wates atanapi saklar ToR sareng ngan ukur dianggo pikeun transit), maka pesawat bakal katingali langkung rumit; anu dua tingkat katingali sapertos kieu. Kami nelepon blok ToR atanapi saklar daun sareng saklar tulang tonggong tingkat kahiji anu aya hubunganana sareng Pod. Saklar tulang tonggong tina tingkat tulang tonggong-1 di luhureun Pod nyaéta luhureun Pod, luhureun Pod. Saklar anu aya di luhureun sakabeh pabrik nyaéta lapisan luhur pabrik, Top lawon.

Kumaha skala pusat data. laporan Yandex

Tangtosna, patarosan timbul: Jaringan Clos parantos diwangun pikeun sababaraha waktos; ideu sorangan umumna asalna tina jaman teleponi klasik, jaringan TDM. Panginten anu langkung saé parantos muncul, panginten anu tiasa dilakukeun langkung saé? Enya jeung henteu. Téoritis enya, dina prakna dina mangsa nu bakal datang pasti moal. Kusabab aya sababaraha topologies metot, sababaraha di antarana malah dipaké dina produksi, contona, Dragonfly dipaké dina aplikasi HPC; Aya ogé topologi anu pikaresepeun sapertos Xpander, FatClique, Jellyfish. Upami anjeun ningali laporan dina konperénsi sapertos SIGCOMM atanapi NSDI anyar-anyar ieu, anjeun tiasa mendakan jumlah karya anu lumayan ageung dina topologi alternatif anu gaduh sipat anu langkung saé (hiji atanapi anu sanés) tibatan Clos.

Tapi sadaya topologi ieu gaduh hiji sipat anu pikaresepeun. Ieu nyegah palaksanaan maranéhanana dina jaringan puseur data, nu urang nyoba ngawangun on hardware komoditi jeung nu hargana rada lumrah. Dina sakabéh topologi alternatif ieu, lolobana rubakpita hanjakalna teu bisa diasupan ngaliwatan jalur shortest. Ku alatan éta, urang langsung leungit kasempetan ngagunakeun pesawat kontrol tradisional.

Sacara téoritis, solusi pikeun masalah éta dipikanyaho. Ieu, contona, modifikasi kaayaan link ngagunakeun jalur k-pondok, tapi, sakali deui, teu aya protokol sapertos nu bakal dilaksanakeun dina produksi jeung sadia lega dina alat.

Leuwih ti éta, saprak lolobana kapasitas teu bisa diasupan via jalur shortest, urang kudu ngaropea leuwih ti saukur pesawat kontrol pikeun milih sakabéh jalur maranéhanana (jeung ku jalan kitu, ieu téh nyata leuwih kaayaan dina pesawat kontrol). Urang masih kudu ngaropéa pesawat diteruskeun, sarta, sakumaha aturan, sahenteuna dua fitur tambahan diperlukeun. Ieu mangrupikeun kamampuan pikeun nyandak sadaya kaputusan ngeunaan neraskeun pakét hiji waktos, contona, dina host. Kanyataanna, ieu sumber routing, sakapeung dina literatur dina jaringan interkonéksi ieu disebut kaputusan diteruskeun sadaya-sakaligus. Sarta routing adaptif mangrupakeun fungsi nu urang kudu dina elemen jaringan, nu bisul handap, Contona, pikeun kanyataan yén urang milih hop hareup dumasar kana informasi ngeunaan beban pangsaeutikna dina antrian. Salaku conto, pilihan séjén mungkin.

Janten, arahna pikaresepeun, tapi, sayangna, urang henteu tiasa nerapkeun ayeuna.

Kumaha skala pusat data. laporan Yandex

Oké, urang netep dina topologi logis Clos. Kumaha urang bakal skala? Hayu urang tingali kumaha gawéna sareng naon anu tiasa dilakukeun.

Kumaha skala pusat data. laporan Yandex

Dina jaringan Clos aya dua parameter utama nu urang kumaha bae bisa rupa-rupa tur meunangkeun hasil nu tangtu: radix elemen sarta jumlah tingkat dina jaringan. Kuring boga diagram schematic kumaha duanana mangaruhan ukuranana. Ideally, urang ngagabungkeun duanana.

Kumaha skala pusat data. laporan Yandex

Ieu bisa ditempo yén lebar ahir jaringan Clos mangrupakeun produk sadaya tingkatan saklar tulang tonggong tina radix kidul, sabaraha Tumbu kami geus handap, kumaha eta cabang. Ieu kumaha urang skala ukuran jaringan.

Kumaha skala pusat data. laporan Yandex

Ngeunaan kapasitas, khususna dina saklar ToR, aya dua pilihan skala. Boh urang tiasa, bari ngajaga topologi umum, nganggo tautan anu langkung gancang, atanapi urang tiasa nambihan langkung seueur pesawat.

Lamun nempo versi dimekarkeun tina jaringan Clos (di pojok katuhu handap) jeung balik deui ka gambar ieu jeung jaringan Clos handap ...

Kumaha skala pusat data. laporan Yandex

... lajeng ieu téh persis topologi sarua, tapi dina slide ieu ambruk leuwih compactly tur planes pabrik anu superimposed on unggal lianna. Éta sami.

Kumaha skala pusat data. laporan Yandex

Naon rupa skala jaringan Clos dina angka? Di dieu kuring nyadiakeun data dina naon lebar maksimum jaringan bisa diala, naon jumlah maksimum rak, switch ToR atawa switch daun, lamun maranéhna teu di rak, urang bisa meunang gumantung kana naon radix saklar kami nganggo pikeun tulang tonggong -levels, jeung sabaraha tingkat kami nganggo.

Di dieu nyaeta sabaraha rak urang tiasa gaduh, sabaraha server na kira sabaraha sadayana ieu bisa meakeun dumasar kana 20 kW per rak. A saeutik saméméhna kuring disebutkeun yen urang dimaksudkeun pikeun ukuran klaster ngeunaan 100 sarébu server.

Ieu bisa ditempo yén dina sakabéh desain ieu, dua satengah pilihan dipikaresep. Aya hiji pilihan jeung dua lapisan spines na 64-port switch, nu ragrag saeutik pondok. Lajeng aya pilihan sampurna pas pikeun 128-port (kalawan radix 128) saklar tulang tonggong jeung dua tingkat, atawa saklar kalawan radix 32 kalawan tilu tingkat. Sarta dina sagala hal, dimana aya leuwih radixes sarta leuwih lapisan, anjeun tiasa ngadamel jaringan anu kacida gedéna, tapi lamun nempo konsumsi ekspektasi, ilaharna aya gigawatts. Kasebut nyaéta dimungkinkeun pikeun iklas kabel, tapi urang saperti teu mirip meunang nu loba listrik dina hiji situs. Upami anjeun ningali statistik sareng data umum ngeunaan pusat data, anjeun tiasa mendakan sakedik pusat data anu diperkirakeun kapasitasna langkung ti 150 MW. Nu leuwih badag biasana kampus data center, sababaraha puseur data badag lokasina rada deukeut unggal lianna.

Aya parameter penting séjén. Upami anjeun ningali kolom kénca, bandwidth anu tiasa dianggo didaptarkeun di dinya. Ieu gampang pikeun nempo yén dina jaringan Clos nyangkokkeun sabagian signifikan tina palabuhan dipaké pikeun nyambungkeun switch ka silih. Rubakpita anu tiasa dianggo, jalur anu mangpaat, mangrupikeun hal anu tiasa dipasihkeun di luar, nuju server. Alami, kuring ngobrol ngeunaan palabuhan kondisional sareng khususna ngeunaan band. Sakumaha aturan, tautan dina jaringan langkung gancang tibatan tautan ka server, tapi per unit rubakpita, saloba urang tiasa ngirimkeunana ka alat pangladén urang, masih aya sababaraha rubakpita dina jaringan éta sorangan. Sareng langkung seueur tingkat anu urang damel, langkung ageung biaya khusus pikeun nyayogikeun belang ieu ka luar.

Leuwih ti éta, malah band tambahan ieu teu persis sarua. Bari bentang anu pondok, urang tiasa nganggo hal kawas DAC (langsung ngagantelkeun tambaga, nyaeta, kabel twinax), atawa optik multimode, nu hargana malah leuwih atawa kirang lumrah duit. Pas urang ngalih ka bentang anu langkung panjang - sakumaha aturan, ieu mangrupikeun optik mode tunggal, sareng biaya bandwidth tambahan ieu ningkat sacara signifikan.

Sareng deui, uih deui ka slide sateuacana, upami urang nyiptakeun jaringan Clos tanpa oversubscription, maka éta gampang pikeun ningali diagram, tingali kumaha jaringan diwangun - nambihkeun unggal tingkat saklar tulang tonggong, urang malikan sadayana jalur anu aya di handap. Tingkat tambah - tambah band sarua, jumlah sarua palabuhan on saklar sakumaha aya di tingkat saméméhna, sarta jumlah sarua transceiver. Ku alatan éta, éta kacida desirable pikeun ngaleutikan jumlah tingkat saklar tulang tonggong.

Dumasar kana gambar ieu, jelas yén urang hoyong pisan ngawangun dina hal sapertos saklar kalayan radix 128.

Kumaha skala pusat data. laporan Yandex

Di dieu, prinsipna mah, sadayana sami sareng naon anu kuring nyarioskeun; ieu mangrupikeun slide pikeun pertimbangan engké.

Kumaha skala pusat data. laporan Yandex

Pilihan naon anu urang tiasa milih salaku saklar sapertos kitu? Warta anu pikaresepeun pisan pikeun urang yén ayeuna jaringan sapertos kitu tungtungna tiasa diwangun dina saklar chip tunggal. Sareng ieu pisan keren, aranjeunna gaduh seueur fitur anu saé. Contona, aranjeunna ampir euweuh struktur internal. Ieu ngandung harti yén maranéhna megatkeun leuwih gampang. Aranjeunna megatkeun dina sagala sorts cara, tapi untung maranéhna megatkeun sagemblengna. Dina alat modular aya angka nu gede ngarupakeun faults (pisan pikaresepeun), lamun ti sudut pandang tatanggana jeung kontrol pesawat sigana jalan, tapi, contona, bagian tina lawon geus leungit tur teu bisa dipake. dina kapasitas pinuh. Jeung lalulintas ka dinya saimbang dumasar kana kanyataan yén éta téh pinuh hanca, sarta kami bisa meunang overloaded.

Atanapi, contona, aya masalah sareng backplane, sabab di jero alat modular ogé aya SerDes-speed tinggi - éta leres-leres kompleks di jero. Boh tanda-tanda antara elemen anu diteruskeun disingkronkeun atanapi henteu disingkronkeun. Sacara umum, naon waé alat modular produktif anu diwangun ku sajumlah ageung elemen, biasana ngandung jaringan Clos anu sami di jerona, tapi hésé pisan pikeun didiagnosis. Sering sesah bahkan anu ngajual nyalira pikeun ngadiagnosa.

Sarta eta boga angka nu gede ngarupakeun skenario gagalna nu alat degrades, tapi teu ragrag kaluar topologi nu lengkep. Kusabab jaringan urang badag, balancing antara elemen idéntik aktip dipaké, jaringan pisan teratur, nyaeta, hiji jalur on mana sagalana aya dina urutan teu béda ti jalur séjén, éta leuwih nguntungkeun pikeun urang saukur leungit sababaraha alat-alat ti topologi ti pikeun mungkas nepi dina kaayaan dimana sababaraha di antarana sigana jalan, tapi sababaraha aranjeunna henteu.

Kumaha skala pusat data. laporan Yandex

Fitur nice salajengna alat single-chip nyaeta aranjeunna mekar hadé tur gancang. Éta ogé condong mibanda kapasitas hadé. Upami urang nyandak struktur anu dirakit ageung anu aya dina bunderan, maka kapasitas per unit rak pikeun palabuhan laju anu sami ampir dua kali langkung saé tibatan alat modular. Alat anu diwangun dina hiji chip tunggal nyata langkung mirah tibatan anu modular sareng ngirangan énergi.

Tapi, tangtosna, ieu sadayana pikeun alesan, aya ogé kalemahan. Anu mimiti, radix ampir sok langkung alit tibatan alat modular. Upami urang tiasa ngadamel alat anu diwangun sakitar hiji chip kalayan 128 palabuhan, maka urang tiasa nampi anu modular sareng sababaraha ratus palabuhan ayeuna tanpa masalah.

Ieu ukuran noticeably leutik diteruskeun tabel sarta, sakumaha aturan, sagalana patali skala data pesawat. Panyangga deet. Jeung, sakumaha aturan, fungsionalitas rada kawates. Tapi tétéla yén upami anjeun terang larangan ieu sareng jaga dina waktosna pikeun ngagilekkeunana atanapi ngan ukur tumut kana akun, maka ieu sanés pikasieuneun. Kanyataan yén radix langkung alit henteu janten masalah dina alat-alat kalayan radix 128 anu tungtungna nembé muncul; urang tiasa ngawangun dua lapisan tulang tonggong. Tapi tetep teu mungkin pikeun ngawangun naon waé anu langkung alit ti dua anu pikaresepeun pikeun urang. Kalayan hiji tingkat, klaster leutik pisan dicandak. Malahan desain sareng sarat urang sateuacana masih ngaleuwihan aranjeunna.

Kanyataanna, lamun ujug-ujug leyuran aya di brink, masih aya cara pikeun skala. Kusabab panungtungan (atawa mimitina), tingkat panghandapna dimana server disambungkeun nyaéta switch ToR atawa switch daun, urang teu diperlukeun pikeun nyambungkeun hiji rak ka aranjeunna. Ku alatan éta, lamun leyuran ragrag pondok ku ngeunaan satengah, anjeun tiasa mikir ngeunaan saukur ngagunakeun switch kalawan radix badag dina tingkat handap sarta nyambungkeun, contona, dua atawa tilu rak kana hiji switch. Ieu oge hiji pilihan, eta boga waragad na, tapi gawéna cukup ogé sarta bisa jadi solusi alus mun anjeun kudu ngahontal ngeunaan dua kali ukuranana.

Kumaha skala pusat data. laporan Yandex

Pikeun nyimpulkeun, urang ngawangun topologi kalayan dua tingkatan spines, kalayan dalapan lapisan pabrik.

Kumaha skala pusat data. laporan Yandex

Naon anu bakal kajadian ka fisika? itungan basajan pisan. Upami urang gaduh dua tingkat spines, maka urang ngan ukur tilu tingkat saklar, sareng kami ngarepkeun bakal aya tilu bagéan kabel dina jaringan: ti server ka switch daun, ka tulang tonggong 1, ka tulang tonggong 2. Pilihan anu urang tiasa pamakéan anu - ieu téh twinax, multimode, mode tunggal. Sarta di dieu urang kudu mertimbangkeun naon strip sadia, sabaraha eta bakal ngarugikeun, naon dimensi fisik, naon bentang urang bisa nutupan, sarta kumaha urang bakal ningkatkeun.

Tina segi biaya, sadayana tiasa dijejeran. Twinaxes nyata langkung mirah ti optik aktip, langkung mirah ti transceiver multimode, lamun nyandak eta per hiber ti tungtung, rada langkung mirah ti port switch 100-gigabit. Sareng, punten perhatikeun, hargana kirang tina optik mode tunggal, sabab dina penerbangan dimana mode tunggal diperyogikeun, dina pusat data pikeun sababaraha alesan éta masuk akal ngagunakeun CWDM, sedengkeun modeu tunggal paralel (PSM) henteu cocog pisan pikeun dianggo. jeung, bungkusan kacida gedéna diala serat, sarta lamun urang difokuskeun téknologi ieu, urang meunang kira handap hirarki harga.

Hiji deui catetan: hanjakalna, teu pisan mungkin ngagunakeun disassembled 100 mun 4x25 port multimode. Kusabab fitur desain transceiver SFP28, éta henteu langkung mirah tibatan 28 Gbit QSFP100. Sareng disassembly ieu pikeun multimode henteu jalan pisan.

Watesan anu sanés nyaéta kusabab ukuran klaster komputasi sareng jumlah server, pusat data kami janten ageung sacara fisik. Ieu ngandung harti yén sahenteuna hiji hiber kudu dipigawé ku singlemod a. Sakali deui, kusabab ukuran fisik Pods, éta moal tiasa ngajalankeun dua bentang twinax (kabel tambaga).

Hasilna, lamun urang ngaoptimalkeun harga jeung tumut kana akun géométri desain ieu, urang meunang hiji bentang twinax, hiji bentang multimode sarta hiji bentang singlemode maké CWDM. Ieu tumut kana akun mungkin jalur pamutahiran.

Kumaha skala pusat data. laporan Yandex

Ieu kumaha sigana ayeuna, dimana urang nuju sareng naon anu mungkin. Ieu jelas, sahenteuna, kumaha carana pindah ka arah 50-Gigabit SerDes pikeun duanana multimode na singlemode. Sumawona, upami anjeun ningali naon anu aya dina transceiver mode tunggal ayeuna sareng ka hareup pikeun 400G, sering sanaos 50G SerDes sumping ti sisi listrik, 100 Gbps per jalur parantos tiasa angkat ka élmu optik. Ku alatan éta, rada mungkin yén tinimbang pindah ka 50, bakal aya transisi ka 100 Gigabit SerDes sareng 100 Gbps per jalur, sabab numutkeun janji seueur padagang, kasadiaanna diperkirakeun pas. Mangsa nalika 50G SerDes éta panggancangna, sigana, moal lila pisan, sabab salinan mimiti 100G SerDes bakal digulung kaluar ampir taun hareup. Sarta sanggeus sababaraha waktu sanggeus éta maranéhna meureun bakal patut duit lumrah.

Kumaha skala pusat data. laporan Yandex

Hiji deui nuansa ngeunaan pilihan fisika. Sacara prinsip, urang geus bisa ngagunakeun 400 atawa 200 palabuhan Gigabit ngagunakeun 50G SerDes. Tapi tétéla yén ieu teu make akal pikiran, sabab, sakumaha ceuk kuring tadi, urang hoyong radix cukup badag dina saklar, dina alesan, tangtosna. Simkuring hoyong 128. Tur upami urang boga kapasitas chip kawates sarta kami ningkatkeun laju link, lajeng radix nu alamiah nurun, euweuh miracles.

Sareng urang tiasa ningkatkeun total kapasitas nganggo pesawat, sareng teu aya biaya khusus; urang tiasa nambihan jumlah pesawat. Sareng upami urang kaleungitan radix, urang kedah ngenalkeun tingkat tambahan, ku kituna dina kaayaan ayeuna, kalayan kapasitas maksimum anu sayogi ayeuna per chip, tétéla yén éta langkung efisien ngagunakeun palabuhan 100-gigabit, sabab ngamungkinkeun anjeun pikeun meunangkeun radix nu leuwih gede.

Kumaha skala pusat data. laporan Yandex

Patarosan salajengna nyaeta kumaha fisika diatur, tapi ti sudut pandang infrastruktur kabel. Tétéla éta diatur dina cara rada lucu. Kabel antara saklar daun sareng spines tingkat kahiji - teu aya seueur tautan, sadayana diwangun sacara sederhana. Tapi upami urang nyandak hiji pesawat, naon anu lumangsung di jero nyaéta yén urang kedah nyambungkeun sadaya tulang tonggong tingkat kahiji sareng sadaya tulang tonggong tingkat kadua.

Tambih Deui, sakumaha aturan, aya sababaraha kahayang kumaha sakuduna kasampak di jero puseur data. Contona, urang hayang pisan ngagabungkeun kabel kana kebat sarta narik aranjeunna ambéh hiji panel patch dénsitas tinggi balik sagemblengna kana hiji panel patch, ku kituna teu aya kebon binatang dina watesan panjangna. Urang junun ngajawab masalah ieu. Lamun mimitina kasampak dina topologi logis, Anjeun bisa nempo yén planes bebas, unggal pesawat bisa diwangun sorangan. Tapi nalika urang nambihan bundling sapertos kitu sareng hoyong nyered sadayana panel patch kana panel patch, urang kedah nyampur pesawat anu béda dina hiji kebat sareng ngenalkeun struktur perantara dina bentuk sambungan silang optik pikeun ngepak deui tina kumaha aranjeunna dirakit. dina hiji ruas, kumaha aranjeunna bakal dikumpulkeun dina ruas anu sanés. Hatur nuhun kana ieu, kami nampi fitur anu saé: sadaya saklar kompleks henteu langkung ti rak. Lamun anjeun kudu intertwine hal pisan kuat, "ngabuka pesawat," sabab kadangkala disebut dina jaringan Clos, éta kabéh ngumpul di jero hiji rak. Urang teu boga kacida disassembled, turun ka Tumbu individu, pindah antara rak.

Kumaha skala pusat data. laporan Yandex

Ieu kumaha katingalina tina sudut pandang organisasi logis tina infrastruktur kabel. Dina gambar di kénca, blok multi-warna ngagambarkeun blok saklar tulang tonggong tingkat kahiji, masing-masing dalapan lembar, sareng opat kebat kabel anu asalna ti aranjeunna, anu angkat sareng motong sareng bundle anu asalna tina blok spine-2 saklar. .

Kotak leutik nunjukkeun parapatan. Di kénca luhur nyaéta ngarecahna unggal simpang misalna, ieu sabenerna ngarupakeun 512 ku 512 port modul cross-connect nu repacks kabel ambéh maranéhanana datang sagemblengna kana hiji rak, dimana aya ngan hiji tulang tonggong-2 pesawat. Sareng di sisi katuhu, scan gambar ieu sakedik langkung rinci dina hubungan sababaraha Pods dina tingkat tulang tonggong-1, sareng kumaha éta dibungkus dina sambungan silang, kumaha éta ka tingkat tulang tonggong-2.

Kumaha skala pusat data. laporan Yandex

Ieu naon eta Sigana mah. The henteu acan pinuh dirakit tulang tonggong-2 nangtung (di kénca) jeung cross-connect nangtung. Hanjakalna, teu aya seueur anu ningali di dinya. Sakabéh struktur ieu ayeuna dikintunkeun di salah sahiji pusat data ageung urang anu dilegaan. Ieu mangrupikeun padamelan, éta bakal katingali langkung saé, éta bakal dieusi langkung saé.

Kumaha skala pusat data. laporan Yandex

Patarosan penting: kami milih topologi logis sareng ngawangun fisika. Naon anu bakal kajadian ka pesawat kontrol? Hal ieu kacida dipikawanoh tina pangalaman operasi, aya sababaraha laporan yén protokol link kaayaan téh alus, éta senang pikeun digawe sareng aranjeunna, tapi hanjakalna, maranéhna teu skala ogé dina topology densely disambungkeun. Sareng aya hiji faktor utama anu nyegah ieu - ieu kumaha jalanna banjir dina protokol kaayaan link. Upami anjeun ngan ukur nyandak algoritma ngabahekeun sareng ningali kumaha jaringan kami terstruktur, anjeun tiasa ningali yén bakal aya fanout anu ageung pisan dina unggal léngkah, sareng éta ngan saukur banjir pesawat kontrol kalayan pembaruan. Sacara husus, topologis sapertos nyampur pisan goréng jeung algoritma banjir tradisional dina protokol link state.

Pilihanna nyaéta ngagunakeun BGP. Kumaha carana nyiapkeun eta leres dijelaskeun dina RFC 7938 ngeunaan pamakéan BGP di puseur data badag. Gagasan dasarna basajan: jumlah awalan minimum per host jeung umumna jumlah awalan minimum dina jaringan, make aggregation lamun mungkin, sarta ngurangan moro jalur. Kami hoyong pisan ati-ati, distribusi anu dikontrol pisan tina apdet, anu disebut gratis lebak. Kami hoyong apdet disebarkeun persis sakali nalika ngalangkungan jaringan. Mun aranjeunna asalna di handap, aranjeunna naek, unfolding teu leuwih ti sakali. Henteu kedah aya zigzags. Zigzags parah pisan.

Jang ngalampahkeun ieu, kami nganggo desain anu cukup basajan pikeun ngagunakeun mékanisme BGP kaayaan. Nyaéta, kami nganggo eBGP anu dijalankeun dina tautan lokal, sareng sistem otonom ditugaskeun sapertos kieu: sistem otonom dina ToR, sistem otonom dina sakumna blok spine-1 saklar hiji Pod, sareng sistem otonom umum dina sakabéh Top. tina Kain. Henteu hese ningali sareng ningali yén kabiasaan normal BGP masihan kami distribusi apdet anu dipikahoyong.

Kumaha skala pusat data. laporan Yandex

Alami, alamat sareng agrégasi alamat kedah dirarancang supados cocog sareng jalan ngawangun rute, supados mastikeun stabilitas pesawat kontrol. Alamat L3 dina angkutan dihijikeun ka topologi, sabab tanpa ieu mustahil pikeun ngahontal agrégasi; tanpa ieu, alamat individu bakal ngarayap kana sistem routing. Sareng hiji deui nyaéta yén aggregation, hanjakalna, henteu nyampur pisan sareng multi-jalur, sabab nalika urang gaduh multi-jalur sareng urang gaduh aggregation, sadayana henteu kunanaon, nalika sadayana jaringan séhat, teu aya anu gagal. Hanjakalna, pas kagagalan muncul dina jaringan sareng simétri topologi leungit, urang tiasa dugi ka titik dimana unit diumumkeun, dimana urang henteu tiasa langkung jauh ka tempat anu urang kedah angkat. Ku alatan éta, leuwih sae pikeun agrégat dimana teu aya deui multi-jalur, bisi urang ieu switch ToR.

Kumaha skala pusat data. laporan Yandex

Kanyataanna, kasebut nyaéta dimungkinkeun pikeun agrégat, tapi taliti. Lamun urang bisa ngalakukeun disaggregation dikawasa lamun gagal jaringan lumangsung. Tapi ieu téh tugas rada hese, urang malah wondered naha éta bakal mungkin pikeun ngalakukeun ieu, naha éta mungkin pikeun nambahkeun automation tambahan, sarta mesin kaayaan terhingga nu bener bakal najong BGP pikeun meunangkeun kabiasaan nu dipikahoyong. Hanjakal, ngolah kasus sudut pisan non-écés tur kompléks, sarta tugas ieu teu ogé direngsekeun ku ngalampirkeun kantétan éksternal ka BGP.

Karya anu pikaresepeun pisan dina hal ieu parantos dilakukeun dina kerangka protokol RIFT, anu bakal dibahas dina laporan salajengna.

Kumaha skala pusat data. laporan Yandex

Hal penting séjénna nyaéta kumaha data planes skala dina topologies padet, dimana urang boga angka nu gede ngarupakeun jalur alternatif. Dina hal ieu, sababaraha struktur data tambahan dipaké: grup ECMP, anu dina gilirannana ngajelaskeun grup Next Hop.

Dina jaringan anu biasa dianggo, tanpa gagal, nalika urang naek topologi Clos, cukup nganggo ngan hiji grup, sabab sadayana anu henteu lokal dijelaskeun sacara standar, urang tiasa naék. Nalika urang balik ti luhur ka handap ka kidul, teras sadaya jalur henteu ECMP, aranjeunna jalur jalur tunggal. Sagalana geus rupa. Masalahna nyaéta, sareng peculiarity tina topologi Clos klasik nyaéta upami urang ningal Top lawon, dina unsur naon waé, ngan ukur aya hiji jalur pikeun unsur naon waé di handap. Upami kagagalan lumangsung sapanjang jalur ieu, unsur khusus ieu di luhur pabrik janten sah pikeun awalan anu aya di tukangeun jalur rusak. Tapi pikeun sésana téh sah, sarta kami kudu parse grup ECMP sarta ngawanohkeun kaayaan anyar.

Naon rupa skalabilitas pesawat data dina alat modéren? Lamun urang ngalakukeun LPM (cocog awalan pangpanjangna), sagalana rada alus, leuwih 100k awalan. Upami urang nyarioskeun grup Next Hop, maka sadayana langkung parah, 2-4 rébu. Lamun urang ngobrol ngeunaan tabel nu ngandung pedaran Next Hops (atawa adjacencies), lajeng ieu tempat ti 16k mun 64k. Sareng ieu tiasa janten masalah. Sarta di dieu urang datang ka digression metot: naon anu lumangsung ka MPLS di puseur data? Sacara prinsip, urang hayang ngalakukeun eta.

Kumaha skala pusat data. laporan Yandex

Aya dua hal. Kami ngalakukeun micro-segmentation dina host; kami henteu kedah ngalakukeun deui dina jaringan. Ieu teu pohara alus kalayan rojongan ti ngical paralatan béda, komo deui ku palaksanaan kabuka dina kotak bodas kalayan MPLS. Jeung MPLS, sahenteuna palaksanaan tradisional na, hanjakalna, ngagabungkeun pisan kirang kalawan ECMP. Sareng sababna.

Kumaha skala pusat data. laporan Yandex

Ieu naon struktur diteruskeun ECMP pikeun IP Sigana mah. Sajumlah ageung awalan tiasa nganggo grup anu sami sareng blok Next Hops anu sami (atanapi adjacencies, ieu tiasa disebat béda dina dokuméntasi anu béda pikeun alat anu béda). Intina nyaéta yén ieu didadarkeun salaku port kaluar sareng naon anu kedah dituliskeun deui alamat MAC pikeun kéngingkeun ka Next Hop anu leres. Pikeun IP sagalana Sigana basajan, Anjeun tiasa make angka nu gede ngarupakeun awalan pikeun grup sarua, sarua blok Next Hops.

Kumaha skala pusat data. laporan Yandex

Arsitéktur MPLS klasik nunjukkeun yén, gumantung kana antarmuka anu kaluar, labélna tiasa ditulis deui kana nilai anu béda. Ku alatan éta, urang kudu tetep grup jeung blok Next Hops pikeun tiap labél input. Sareng ieu, sayangna, henteu skala.

Ieu gampang pikeun nempo yén dina rarancang urang diperlukeun ngeunaan 4000 switch ToR, lebar maksimum éta 64 jalur ECMP, lamun urang mindahkeun jauh ti tulang tonggong-1 nuju tulang tonggong-2. Urang bieu meunang kana hiji méja grup ECMP, lamun ngan hiji awalan kalawan ToR mana jauh, sarta kami teu meunang kana tabel Next Hops pisan.

Kumaha skala pusat data. laporan Yandex

Henteu sadayana asa, sabab arsitéktur sapertos Segment Routing ngalibatkeun labél global. Sacara resmi, éta bakal tiasa ambruk sadaya blok Next Hops ieu deui. Jang ngalampahkeun ieu, anjeun peryogi operasi tipe kartu liar: nyandak labél jeung nulis balik ka nu sarua tanpa nilai husus. Tapi hanjakalna, ieu teu pisan hadir dina palaksanaan sadia.

Sarta pamustunganana, urang kudu mawa lalulintas éksternal kana puseur data. Kumaha cara ngalakukeunana? Saméméhna, lalulintas diwanohkeun kana jaringan Clos ti luhur. Nyaéta, aya routers ujung anu nyambung ka sadaya alat dina Top lawon. Solusi ieu tiasa dianggo saé dina ukuran leutik dugi ka sedeng. Hanjakalna, pikeun ngirim lalu lintas sacara simetris ka sadaya jaringan ku cara ieu, urang kedah sumping sakaligus dina sadaya unsur Top lawon, sareng nalika aya langkung ti saratus di antarana, tétéla yén urang ogé peryogi anu ageung. radix dina routers ujung. Sacara umum, ieu waragad duit, sabab ujung routers leuwih hanca, palabuhan on aranjeunna bakal leuwih mahal, sarta desain teu geulis pisan.

Pilihan séjén nyaéta ngamimitian lalulintas sapertos ti handap. Gampang pariksa yén topologi Clos diwangun ku cara anu patalimarga anu datang ti handap, nyaéta, ti sisi ToR, disebarkeun merata di antara tingkat-tingkat sapanjang sakabéh Top lawon dina dua iterasi, ngamuat sakabéh jaringan. Ku alatan éta, kami ngenalkeun jinis Pod khusus, Edge Pod, anu nyayogikeun konektipitas éksternal.

Aya hiji deui pilihan. Ieu naon Facebook teu, contona. Aranjeunna nyauran éta Agrégator Kain atanapi HGRID. Tingkat tulang tonggong tambahan diwanohkeun pikeun nyambungkeun sababaraha pusat data. Desain ieu mungkin lamun urang teu boga fungsi tambahan atawa parobahan encapsulation dina interfaces. Upami aranjeunna mangrupikeun titik sentuhan tambahan, sesah. Ilaharna, aya langkung seueur fungsi sareng jinis mémbran anu misahkeun bagian anu béda tina pusat data. Henteu aya gunana pikeun ngadamel mémbran sapertos kitu ageung, tapi upami éta leres-leres diperyogikeun pikeun sababaraha alesan, maka masuk akal pikeun nganggap kamungkinan nyandak éta, ngajantenkeun salega-gancang sareng mindahkeun ka host. Hal ieu dilakukeun, contona, ku seueur operator awan. Aranjeunna mibanda overlays, aranjeunna mimitian ti sarwa.

Kumaha skala pusat data. laporan Yandex

Naon kasempetan pangwangunan anu urang tingali? Anu mimiti, ningkatkeun dukungan pikeun pipa CI / CD. Urang rék ngapung cara urang nguji sarta nguji cara urang ngapung. Ieu henteu tiasa dianggo saé, sabab infrastrukturna ageung sareng mustahil pikeun nyalin éta pikeun tés. Anjeun kedah ngartos kumaha cara ngenalkeun unsur-unsur tés kana infrastruktur produksi tanpa ngaleungitkeunana.

Instrumentasi anu langkung saé sareng ngawaskeun anu langkung saé ampir henteu kedah langkung. Sakabeh patarosan mangrupakeun kasaimbangan usaha jeung balik. Upami anjeun tiasa nambihanana kalayan usaha anu lumayan, saé pisan.

Buka sistem operasi pikeun alat jaringan. Protokol anu langkung saé sareng sistem rute anu langkung saé, sapertos RIFT. Panalungtikan ogé diperlukeun kana pamakéan skéma kontrol kamacetan hadé jeung sugan bubuka, sahenteuna dina sababaraha titik, rojongan RDMA dina klaster.

Ningali langkung jauh ka hareup, urang peryogi topologi canggih sareng kamungkinan jaringan anu nganggo kirang overhead. Tina hal-hal anu seger, nembe aya publikasi ngeunaan téknologi lawon pikeun HPC Cray Slingshot, anu didasarkeun kana Ethernet komoditi, tapi kalayan pilihan nganggo header anu langkung pondok. Hasilna, overhead diréduksi.

Kumaha skala pusat data. laporan Yandex

Sagalana kudu diteundeun sasederhana mungkin, tapi teu basajan. Pajeulitna nyaéta musuh skalabilitas. Kesederhanaan sareng struktur biasa mangrupikeun babaturan urang. Lamun bisa ngalakukeun skala kaluar wae, ngalakukeun eta. Sarta sacara umum, éta hadé pikeun kalibet dina téknologi jaringan ayeuna. Aya loba hal metot lumangsung. Hatur nuhun.

sumber: www.habr.com

Tambahkeun komentar