Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Biz sekundiga bir petabaytdan ortiq o'tkazish qobiliyatiga ega 100 ming serverdan katta hisoblash klasterlarini joylashtirish imkonini beruvchi ma'lumotlar markazi tarmog'i dizaynini ishlab chiqdik.

Dmitriy Afanasyevning ma'ruzasidan siz yangi dizaynning asosiy tamoyillari, masshtablash topologiyalari, bu bilan yuzaga keladigan muammolar, ularni hal qilish variantlari, "zich bog'langan" zamonaviy tarmoq qurilmalarining yo'naltirish tekisligi funktsiyalarini yo'naltirish va masshtablash xususiyatlari haqida bilib olasiz. ko'p sonli ECMP marshrutlari bo'lgan topologiyalar. Bundan tashqari, Dima tashqi ulanishni tashkil etish, jismoniy qatlam, kabel tizimi va quvvatni yanada oshirish yo'llari haqida qisqacha gapirib berdi.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

- Hammaga xayrli kun! Mening ismim Dmitriy Afanasyev, men Yandex-da tarmoq me'moriman va birinchi navbatda ma'lumotlar markazlari tarmoqlarini loyihalashtiraman.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Mening hikoyam Yandex ma'lumotlar markazlarining yangilangan tarmog'i haqida bo'ladi. Bu bizda mavjud bo'lgan dizaynning evolyutsiyasi, lekin ayni paytda ba'zi yangi elementlar mavjud. Bu umumiy ko'rinish taqdimoti, chunki oz vaqt ichida juda ko'p ma'lumot to'planishi kerak edi. Biz mantiqiy topologiyani tanlashdan boshlaymiz. Keyin boshqaruv tekisligining umumiy ko'rinishi va ma'lumotlar tekisligining miqyosi bilan bog'liq muammolar, jismoniy darajada nima bo'lishini tanlash va biz qurilmalarning ba'zi xususiyatlarini ko'rib chiqamiz. Keling, bir muncha vaqt oldin gaplashgan MPLS bilan ma'lumotlar markazida nima sodir bo'layotganiga biroz to'xtalib o'tamiz.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Xo'sh, yuklar va xizmatlar bo'yicha Yandex nima? Yandex odatiy giperskalerdir. Agar foydalanuvchilarga qaraydigan bo'lsak, biz birinchi navbatda foydalanuvchi so'rovlarini qayta ishlaymiz. Shuningdek, turli xil oqim xizmatlari va ma'lumotlarni uzatish, chunki bizda saqlash xizmatlari ham mavjud. Agar orqa qismga yaqinroq bo'lsa, u erda taqsimlangan ob'ektni saqlash, ma'lumotlarni takrorlash va, albatta, doimiy navbatlar kabi infratuzilma yuklari va xizmatlari paydo bo'ladi. Ish yuklarining asosiy turlaridan biri MapReduce va shunga o'xshash tizimlar, oqimlarni qayta ishlash, mashinani o'rganish va boshqalar.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Bularning barchasi sodir bo'ladigan infratuzilma qanday? Shunga qaramay, biz juda oddiy giperskalermiz, garchi biz spektrning kichikroq giperskaler tomoniga biroz yaqinroq bo'lsak ham. Ammo bizda barcha xususiyatlar mavjud. Iloji bo'lsa, biz tovar apparati va gorizontal masshtabdan foydalanamiz. Bizda resurslarni to'liq birlashtirish mavjud: biz alohida mashinalar, individual tokchalar bilan ishlamaymiz, lekin ularni rejalashtirish va taqsimlash bilan shug'ullanadigan qo'shimcha xizmatlar bilan almashtiriladigan resurslarning katta hovuziga birlashtiramiz va bu butun pul bilan ishlaydi.

Shunday qilib, biz keyingi darajaga egamiz - hisoblash klasteri darajasidagi operatsion tizim. Biz foydalanadigan texnologiya to'plamini to'liq nazorat qilishimiz juda muhimdir. Biz so'nggi nuqtalarni (xostlar), tarmoq va dasturiy ta'minot to'plamini nazorat qilamiz.

Bizda Rossiyada va xorijda bir nechta yirik ma'lumotlar markazlari mavjud. Ularni MPLS texnologiyasidan foydalanadigan magistral birlashtiradi. Bizning ichki infratuzilmamiz deyarli butunlay IPv6 asosida qurilgan, lekin biz hali ham asosan IPv4 orqali keladigan tashqi trafikga xizmat ko'rsatishimiz kerakligi sababli, IPv4 orqali keladigan so'rovlarni qandaydir tarzda frontend serverlariga etkazishimiz kerak va biroz ko'proq tashqi IPv4-Internetga o'tishimiz kerak. Masalan, indekslash uchun.

Ma'lumotlar markazlari tarmog'i dizaynining so'nggi bir necha iteratsiyasi ko'p qatlamli Clos topologiyalaridan foydalangan va faqat L3 uchun. Biz biroz oldin L2 dan chiqib, yengil nafas oldik. Va nihoyat, bizning infratuzilmamiz yuz minglab hisoblash (server) misollarini o'z ichiga oladi. Bir muncha vaqt oldin klasterning maksimal hajmi taxminan 10 ming server edi. Bu, asosan, bir xil klaster darajasidagi operatsion tizimlar, rejalashtiruvchilar, resurslarni taqsimlash va hokazolar qanday ishlashi bilan bog'liq.Infratuzilma dasturiy ta'minoti tomonida oldinga siljish sodir bo'lganligi sababli, maqsadli o'lcham endi bitta hisoblash klasterida 100 mingga yaqin serverni tashkil etadi va Bizning vazifamiz bor - bunday klasterda resurslarni samarali birlashtirish imkonini beruvchi tarmoq zavodlarini qurish imkoniyatiga ega bo'lish.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Biz ma'lumotlar markazi tarmog'idan nimani xohlaymiz? Birinchidan, juda ko'p arzon va bir xil taqsimlangan tarmoqli kengligi mavjud. Chunki tarmoq biz resurslarni birlashtirishimiz mumkin bo'lgan tayanchdir. Yangi maqsad hajmi bitta klasterda taxminan 100 ming serverni tashkil etadi.

Shuningdek, biz, albatta, kengaytiriladigan va barqaror boshqaruv samolyotini xohlaymiz, chunki bunday katta infratuzilmada juda ko'p bosh og'rig'i oddiy tasodifiy hodisalardan ham kelib chiqadi va biz boshqaruv tekisligi bizga ham bosh og'rig'ini keltirishini xohlamaymiz. Shu bilan birga, biz undagi davlatni minimallashtirishni xohlaymiz. Vaziyat qanchalik kichik bo'lsa, hamma narsa yaxshiroq va barqarorroq ishlaydi va tashxis qo'yish osonroq bo'ladi.

Albatta, biz avtomatlashtirishga muhtojmiz, chunki bunday infratuzilmani qoβ€˜lda boshqarishning iloji yoβ€˜q va ma’lum vaqtdan beri buning iloji yoβ€˜q edi. Bizga imkon qadar operativ yordam va ta'minlanishi mumkin bo'lgan darajada CI/CD yordami kerak.

Ma'lumotlar markazlari va klasterlarning bunday o'lchamlari bilan xizmat ko'rsatishni to'xtatmasdan bosqichma-bosqich joylashtirish va kengaytirishni qo'llab-quvvatlash vazifasi juda keskinlashdi. Agar mingta mashina o'lchamidagi klasterlarda, ehtimol o'n mingga yaqin mashinada, ular hali ham bitta operatsiya sifatida chiqarilishi mumkin bo'lsa - ya'ni biz infratuzilmani kengaytirishni rejalashtirmoqdamiz va bir operatsiya sifatida bir necha ming mashina qo'shiladi, keyin yuz ming mashina o'lchamdagi klaster bu kabi darhol paydo bo'lmaydi, u ma'lum vaqt ichida quriladi. Va shu vaqt ichida allaqachon chiqarib tashlangan narsa, joylashtirilgan infratuzilma mavjud bo'lishi maqsadga muvofiqdir.

Va bizda qolgan va qoldirgan bitta talab: ko'p ijaraga olishni qo'llab-quvvatlash, ya'ni virtualizatsiya yoki tarmoq segmentatsiyasi. Endi biz buni tarmoq matolari darajasida qilishimiz shart emas, chunki sharding xostlarga o'tdi va bu biz uchun masshtabni juda osonlashtirdi. IPv6 va katta manzil maydoni tufayli biz ichki infratuzilmada takroriy manzillardan foydalanishimiz shart emas edi, barcha manzillar allaqachon noyob edi. Filtrlash va tarmoq segmentatsiyasini xostlarga o'tkazganimiz sababli, ma'lumotlar markazlari tarmoqlarida hech qanday virtual tarmoq ob'ektlarini yaratishimiz shart emas.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Bizga kerak bo'lmagan narsa juda muhim. Agar ba'zi funktsiyalarni tarmoqdan olib tashlash mumkin bo'lsa, bu hayotni ancha osonlashtiradi va, qoida tariqasida, mavjud uskunalar va dasturiy ta'minotni tanlashni kengaytiradi, diagnostika juda oddiy.

Xo'sh, bizga nima kerak emas, nimadan voz kechishga muvaffaq bo'ldik, bu sodir bo'lgan paytda quvonch bilan emas, balki jarayon tugagach, katta yengillik bilan?

Avvalo, L2 dan voz kechish. Bizga L2 kerak emas, na haqiqiy, na taqlid. Biz asosan ilovalar to'plamini boshqarayotganimiz sababli foydalanilmaydi. Bizning ilovalarimiz gorizontal ravishda kengaytirilishi mumkin, ular L3 manzillash bilan ishlaydi, ular ba'zi individual misollar o'chib ketganidan juda xavotirda emaslar, ular shunchaki yangisini chiqaradilar, uni eski manzilda tarqatish shart emas, chunki mavjud alohida darajasi xizmat kashfiyot va klaster joylashgan mashinalari monitoring. Biz bu vazifani tarmoqqa topshirmaymiz. Tarmoqning vazifasi paketlarni A nuqtadan B nuqtaga etkazishdir.

Shuningdek, bizda manzillar tarmoq ichida harakatlanadigan holatlar yo'q va buni kuzatib borish kerak. Ko'pgina dizaynlarda bu odatda VM harakatchanligini qo'llab-quvvatlash uchun kerak bo'ladi. Biz katta Yandex-ning ichki infratuzilmasida virtual mashinalarning harakatchanligidan foydalanmaymiz va bundan tashqari, bu amalga oshirilgan bo'lsa ham, tarmoq qo'llab-quvvatlashi bilan sodir bo'lmasligi kerak deb hisoblaymiz. Agar buni haqiqatan ham qilish kerak bo'lsa, uni xost darajasida bajarish kerak va pastki qatlamning marshrutlash tizimiga (transport tarmog'iga) tegmaslik yoki juda ko'p dinamik o'zgarishlar qilmaslik uchun qatlamlarga o'tishi mumkin bo'lgan manzillarni surish kerak. .

Biz foydalanmaydigan yana bir texnologiya multicast hisoblanadi. Agar xohlasangiz, nima uchun men sizga batafsil aytib beraman. Bu hayotni ancha osonlashtiradi, chunki agar kimdir u bilan shug'ullangan bo'lsa va multicast boshqaruv tekisligi qanday ko'rinishini aniq ko'rib chiqsa, eng oddiy o'rnatishlardan tashqari, bu katta bosh og'rig'i. Va bundan tashqari, masalan, yaxshi ishlaydigan ochiq kodli dasturni topish qiyin.

Nihoyat, biz tarmoqlarimizni juda ko'p o'zgarmasligi uchun loyihalashtiramiz. Marshrutlash tizimidagi tashqi hodisalar oqimi kichik ekanligiga ishonishimiz mumkin.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Ma'lumotlar markazi tarmog'ini ishlab chiqishda qanday muammolar yuzaga keladi va qanday cheklovlarni hisobga olish kerak? Narx, albatta. Masshtablilik, biz o'sishni istagan daraja. Xizmatni to'xtatmasdan kengaytirish zarurati. Tarmoqli kengligi, mavjudligi. Monitoring tizimlari, operativ guruhlar uchun tarmoqda nima sodir bo'layotganini ko'rish. Avtomatlashtirishni qo'llab-quvvatlash - yana iloji boricha, chunki turli vazifalarni turli darajalarda, shu jumladan qo'shimcha qatlamlarni joriy etish orqali hal qilish mumkin. Xo'sh, [ehtimol] sotuvchilarga bog'liq emas. Garchi turli tarixiy davrlarda, qaysi bo'limga qaraganingizga qarab, bu mustaqillikka erishish osonroq yoki qiyinroq bo'lgan. Agar biz tarmoq qurilmasi chiplarining kesishgan qismini oladigan bo'lsak, yaqin vaqtgacha sotuvchilardan mustaqillik haqida gapirish juda shartli edi, agar biz yuqori o'tkazuvchanlikka ega chiplarni ham xohlasak.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Tarmoqimizni qurish uchun qanday mantiqiy topologiyadan foydalanamiz? Bu ko'p darajali Clos bo'ladi. Darhaqiqat, hozircha haqiqiy alternativalar yo'q. Va Clos topologiyasi, agar bizda katta radix kalitlari bo'lsa, hozirda akademik qiziqish sohasida ko'proq bo'lgan turli ilg'or topologiyalar bilan solishtirganda ham juda yaxshi.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Ko'p darajali Clos tarmog'i taxminan qanday tuzilgan va unda turli elementlar qanday nomlanadi? Avvalo, shamol ko'tarildi, shimol qayerga, janub qayerga, sharq qayerga, g'arbga yo'naltirish uchun. Ushbu turdagi tarmoqlar odatda g'arbiy-sharqiy juda katta trafikka ega bo'lganlar tomonidan quriladi. Qolgan elementlarga kelsak, yuqori qismida kichikroq kalitlardan yig'ilgan virtual kalit mavjud. Bu Clos tarmoqlarini rekursiv qurishning asosiy g'oyasi. Biz qandaydir radiksga ega bo'lgan elementlarni olamiz va ularni bir-biriga bog'laymiz, shunda olingan narsa kattaroq radisli kalit sifatida qaralishi mumkin. Agar sizga ko'proq kerak bo'lsa, protsedurani takrorlash mumkin.

Masalan, ikki darajali Clos bilan, mening diagrammamda vertikal bo'lgan komponentlarni aniq aniqlash mumkin bo'lgan hollarda, ular odatda tekisliklar deb ataladi. Agar biz Closni uchta darajadagi umurtqa pog'onasi kalitlari bilan quradigan bo'lsak (ularning barchasi chegara yoki ToR kalitlari emas va faqat tranzit uchun ishlatiladi), unda samolyotlar murakkabroq ko'rinadi; ikki darajalilar aynan shunday ko'rinadi. Biz ToR yoki barg kalitlari blokini va ular bilan bog'langan birinchi darajali umurtqa pog'onasi kalitlarini Pod deb ataymiz. Podning yuqori qismidagi umurtqa pog'onasi-1 darajasining umurtqa pog'onasi kalitlari Podning yuqori qismi, Podning yuqori qismidir. Butun fabrikaning yuqori qismida joylashgan kalitlar fabrikaning yuqori qatlami, Matoning yuqori qismidir.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Albatta, savol tug'iladi: Clos tarmoqlari bir muncha vaqt qurilgan; g'oyaning o'zi odatda klassik telefoniya, TDM tarmoqlari davridan kelib chiqadi. Balki yaxshiroq narsa paydo bo'lgandir, balki yaxshiroq narsa qilish mumkinmi? Ha va yo'q. Nazariy jihatdan ha, amalda yaqin kelajakda aniq emas. Bir qator qiziqarli topologiyalar mavjudligi sababli, ularning ba'zilari hatto ishlab chiqarishda ham qo'llaniladi, masalan, Dragonfly HPC ilovalarida qo'llaniladi; Xpander, FatClique, Jellyfish kabi qiziqarli topologiyalar ham mavjud. Agar siz yaqinda SIGCOMM yoki NSDI kabi konferentsiyalardagi hisobotlarni ko'rsangiz, Closga qaraganda yaxshiroq xususiyatlarga ega (u yoki bu) muqobil topologiyalar bo'yicha juda ko'p sonli ishlarni topishingiz mumkin.

Ammo bu topologiyalarning barchasi bitta qiziqarli xususiyatga ega. Bu ularning ma'lumotlar markazlari tarmoqlarida amalga oshirilishiga to'sqinlik qiladi, biz ularni tovar apparati asosida qurishga harakat qilmoqdamiz va juda qimmatga tushadi. Ushbu muqobil topologiyalarning barchasida, afsuski, o'tkazish qobiliyatining katta qismiga eng qisqa yo'llar orqali kirish mumkin emas. Shuning uchun biz an'anaviy boshqaruv tekisligidan foydalanish imkoniyatini darhol yo'qotamiz.

Nazariy jihatdan muammoning yechimi ma'lum. Bular, masalan, k-eng qisqa yo'ldan foydalangan holda bog'lanish holatining modifikatsiyalari, lekin yana, ishlab chiqarishda qo'llaniladigan va uskunalarda keng tarqalgan bunday protokollar mavjud emas.

Bundan tashqari, sig'imning katta qismiga eng qisqa yo'llar orqali kirish imkoni bo'lmaganligi sababli, biz ushbu yo'llarning barchasini tanlash uchun boshqaruv tekisligidan ko'proq narsani o'zgartirishimiz kerak (va aytmoqchi, bu boshqaruv tekisligida sezilarli darajada ko'proq holat). Biz hali ham yo'naltiruvchi tekislikni o'zgartirishimiz kerak va qoida tariqasida kamida ikkita qo'shimcha xususiyat talab qilinadi. Bu, masalan, xostda bir martalik paketlarni yo'naltirish bo'yicha barcha qarorlarni qabul qilish qobiliyati. Aslida, bu manba marshrutidir, ba'zan o'zaro bog'liqlik tarmoqlari bo'yicha adabiyotlarda bu bir vaqtning o'zida yo'naltirish qarorlari deb ataladi. Moslashuvchan marshrutlash - bu tarmoq elementlarida bizga kerak bo'lgan funksiya bo'lib, u, masalan, navbatdagi eng kam yuk haqidagi ma'lumotlarga asoslanib, keyingi sakrashni tanlashimizga to'g'ri keladi. Misol tariqasida, boshqa variantlar ham mumkin.

Shunday qilib, yo'nalish qiziqarli, ammo, afsuski, biz uni hozir qo'llay olmaymiz.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

OK, biz Clos mantiqiy topologiyasiga qaror qildik. Biz uni qanday qilib kengaytiramiz? Keling, bu qanday ishlashini va nima qilish mumkinligini ko'rib chiqaylik.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Clos tarmog'ida biz qandaydir tarzda o'zgartirishimiz va ma'lum natijalarga erishishimiz mumkin bo'lgan ikkita asosiy parametr mavjud: elementlarning radikali va tarmoqdagi darajalar soni. Menda ikkalasi ham o'lchamga qanday ta'sir qilishining sxematik diagrammasi bor. Ideal holda, biz ikkalasini birlashtiramiz.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Ko'rinib turibdiki, Clos tarmog'ining yakuniy kengligi janubiy radixning barcha darajadagi umurtqa pog'onasi kalitlarining mahsulotidir, bizda qancha havolalar bor, u qanday shoxlanadi. Biz tarmoq hajmini shu tarzda kengaytiramiz.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Imkoniyatlarga kelsak, ayniqsa ToR kalitlarida, o'lchovning ikkita varianti mavjud. Yoki umumiy topologiyani saqlagan holda, tezroq havolalardan foydalanishimiz mumkin yoki biz ko'proq tekisliklarni qo'shishimiz mumkin.

Agar siz Clos tarmog'ining kengaytirilgan versiyasiga (pastki o'ng burchakda) qarasangiz va quyidagi Clos tarmog'i bilan ushbu rasmga qaytsangiz...

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

... unda bu aynan bir xil topologiya, lekin bu slaydda u yanada ixchamroq yiqilib, zavod tekisliklari bir-birining ustiga qo'yilgan. Xuddi shunday.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Clos tarmog'ini masshtablash raqamlarda qanday ko'rinadi? Bu erda men tarmoqning maksimal kengligini olish mumkinligi, qancha raflar, ToR kalitlari yoki barg kalitlari, agar ular raflarda bo'lmasa, biz umurtqa pog'onasi darajalari uchun foydalanadigan kalitlarning qaysi radiusiga qarab olishimiz mumkinligi haqida ma'lumot beraman. biz qancha darajadan foydalanamiz.

Mana, bizda qancha raflar bo'lishi mumkin, qancha serverlar va bularning barchasi har bir raf uchun 20 kVtdan kelib chiqqan holda qancha iste'mol qilishi mumkin. Bir oz oldin men 100 mingga yaqin serverli klaster hajmini maqsad qilganimizni aytib o'tdim.

Ko'rinib turibdiki, ushbu butun dizaynda ikki yarim variant qiziqish uyg'otadi. Ikki qatlamli tikanlar va 64 portli kalitlarga ega variant mavjud, bu biroz qisqaradi. Keyin ikkita darajali 128 portli (radix 128 bilan) umurtqa pog'onasi kalitlari yoki uchta darajali radix 32 kalitlari uchun juda mos variantlar mavjud. Va barcha holatlarda, ko'proq radikslar va ko'proq qatlamlar mavjud bo'lsa, siz juda katta tarmoqni yaratishingiz mumkin, lekin agar siz kutilgan iste'molga qarasangiz, odatda gigavattlar mavjud. Kabel yotqizish mumkin, lekin biz bir uchastkadan bunchalik elektr energiyasini olishimiz dargumon. Agar siz ma'lumotlar markazlari bo'yicha statistik ma'lumotlar va ommaviy ma'lumotlarga qarasangiz, taxminiy quvvati 150 MVt dan ortiq bo'lgan juda oz sonli ma'lumotlar markazlarini topishingiz mumkin. Kattaroqlari odatda ma'lumotlar markazlari kampuslari, bir-biriga juda yaqin joylashgan bir nechta yirik ma'lumotlar markazlari.

Yana bir muhim parametr mavjud. Agar chap ustunga qarasangiz, u erda foydalanish mumkin bo'lgan tarmoqli kengligi ko'rsatilgan. Clos tarmog'ida portlarning muhim qismi kalitlarni bir-biriga ulash uchun ishlatilishini ko'rish oson. Foydalanish mumkin bo'lgan tarmoqli kengligi, foydali chiziq tashqarida, serverlarga berilishi mumkin bo'lgan narsadir. Tabiiyki, men shartli portlar va xususan, guruh haqida gapiryapman. Qoidaga ko'ra, tarmoq ichidagi havolalar serverlarga havolalarga qaraganda tezroq, lekin tarmoqli kengligi birligi uchun, biz uni server uskunamizga yuborishimiz mumkin bo'lgan darajada, tarmoqning o'zida ham bir oz o'tkazish qobiliyati mavjud. Va qanchalik ko'p darajalarni yaratsak, bu chiziqni tashqi tomondan ta'minlashning o'ziga xos narxi shunchalik yuqori bo'ladi.

Bundan tashqari, hatto bu qo'shimcha guruh ham bir xil emas. Bo'shliqlar qisqa bo'lsa-da, biz DAC (to'g'ridan-to'g'ri biriktiruvchi mis, ya'ni twinax kabellari) yoki ko'p yoki kamroq oqilona pul turadigan ko'p rejimli optikadan foydalanishimiz mumkin. Biz uzoqroq masofalarga o'tishimiz bilan - qoida tariqasida, bu bitta rejimli optikadir va bu qo'shimcha tarmoqli kengligi narxi sezilarli darajada oshadi.

Va yana oldingi slaydga qaytsak, agar biz ortiqcha obunasiz Clos tarmog'ini yaratsak, unda diagrammani ko'rish, tarmoq qanday qurilganligini ko'rish oson - umurtqa pog'onasi kalitlarining har bir darajasini qo'shib, biz barcha chiziqni takrorlaymiz. pastki. Plyus darajasi - plyus bir xil diapazon, oldingi darajadagi kabi kalitlardagi bir xil portlar va bir xil miqdordagi qabul qiluvchilar. Shuning uchun, umurtqa pog'onasi kalitlari darajalarining sonini minimallashtirish juda ma'qul.

Ushbu rasmga asoslanib, biz haqiqatan ham 128 radiusli kalitlarga o'xshash narsalarni qurishni xohlayotganimiz aniq.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Bu erda, printsipial jihatdan, hamma narsa men aytganim bilan bir xil, bu keyinroq ko'rib chiqiladigan slayd.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Bunday kalitlarni tanlashimiz mumkin bo'lgan qanday variantlar mavjud? Biz uchun juda yoqimli yangilik, endi bunday tarmoqlar nihoyat bitta chipli kalitlarga qurilishi mumkin. Va bu juda ajoyib, ular juda ko'p yoqimli xususiyatlarga ega. Masalan, ularning ichki tuzilishi deyarli yo'q. Bu shuni anglatadiki, ular osonroq sindiriladi. Ular har xil yo'llar bilan buziladi, lekin xayriyatki, ular butunlay buziladi. Modulli qurilmalarda ko'plab nosozliklar mavjud (juda yoqimsiz), qo'shnilar va boshqaruv tekisligi nuqtai nazaridan u ishlayotganga o'xshaydi, lekin, masalan, matoning bir qismi yo'qolgan va u ishlamayapti. to'liq quvvatda. Va unga trafik uning to'liq ishlashiga asoslanib muvozanatlanadi va biz haddan tashqari yuklanishimiz mumkin.

Yoki, masalan, orqa panel bilan bog'liq muammolar paydo bo'ladi, chunki modulli qurilma ichida yuqori tezlikda ishlaydigan SerDes ham mavjud - bu juda murakkab. Yo'naltiruvchi elementlar orasidagi belgilar sinxronlashtiriladi yoki sinxronlashtirilmaydi. Umuman olganda, ko'p sonli elementlardan tashkil topgan har qanday samarali modulli qurilma, qoida tariqasida, o'zida bir xil Clos tarmog'ini o'z ichiga oladi, ammo tashxis qo'yish juda qiyin. Ko'pincha hatto sotuvchining o'zi ham tashxis qo'yish qiyin.

Va u ko'p sonli muvaffaqiyatsizlik stsenariylariga ega, ularda qurilma yomonlashadi, lekin topologiyadan butunlay tushib ketmaydi. Bizning tarmog'imiz katta bo'lgani uchun bir xil elementlar o'rtasida muvozanat faol qo'llaniladi, tarmoq juda muntazam, ya'ni hamma narsa tartibda bo'lgan bir yo'l boshqa yo'ldan farq qilmaydi, biz uchun shunchaki bir qismini yo'qotish foydaliroqdir. topologiyadan qurilmalar ba'zilari ishlayotgandek tuyuladigan, ammo ba'zilari ishlamaydigan vaziyatga tushib qolishdan ko'ra.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Bitta chipli qurilmalarning keyingi yoqimli xususiyati shundaki, ular yaxshiroq va tezroq rivojlanadi. Ular, shuningdek, yaxshi imkoniyatlarga ega. Agar biz aylanada joylashgan katta yig'ilgan tuzilmalarni oladigan bo'lsak, u holda bir xil tezlikdagi portlar uchun rack birligining sig'imi modulli qurilmalardan deyarli ikki baravar yaxshi. Bitta chip atrofida qurilgan qurilmalar modulli qurilmalarga qaraganda sezilarli darajada arzon va kamroq energiya sarflaydi.

Lekin, albatta, bularning barchasi bir sababga ko'ra, kamchiliklari ham bor. Birinchidan, radix deyarli har doim modulli qurilmalarnikidan kichikroq. Agar biz 128 portli bitta chip atrofida qurilgan qurilmani olsak, endi bir necha yuz portli modulli qurilmani muammosiz olishimiz mumkin.

Bu jo'natish jadvallarining sezilarli darajada kichikroq hajmi va qoida tariqasida ma'lumotlar tekisligining miqyosi bilan bog'liq bo'lgan barcha narsalar. Sayoz buferlar. Va, qoida tariqasida, juda cheklangan funksionallik. Ammo ma'lum bo'lishicha, agar siz ushbu cheklovlarni bilsangiz va ularni chetlab o'tish uchun o'z vaqtida ehtiyot bo'lsangiz yoki shunchaki ularni hisobga olsangiz, bu unchalik qo'rqinchli emas. Radixning kichikroq bo'lishi yaqinda paydo bo'lgan 128 radiusli qurilmalarda endi muammo emas; biz ikki qatlamli umurtqa pog'onasini qurishimiz mumkin. Ammo biz uchun qiziqarli bo'lgan ikkitadan kichikroq narsalarni qurish hali ham mumkin emas. Bir daraja bilan juda kichik klasterlar olinadi. Hatto bizning oldingi dizaynlarimiz va talablarimiz hali ham ulardan oshib ketdi.

Darhaqiqat, agar to'satdan yechim yoqasida bo'lsa, miqyosda hali ham yo'l bor. Serverlar ulangan oxirgi (yoki birinchi), eng past daraja ToR kalitlari yoki bargli kalitlar bo'lgani uchun biz ularga bitta rafni ulashimiz shart emas. Shuning uchun, agar yechim taxminan yarmiga qisqarsa, siz oddiygina pastki darajadagi katta radisli kalitni ishlatish va, masalan, ikkita yoki uchta raftni bitta kalitga ulash haqida o'ylashingiz mumkin. Bu ham variant, uning narxi bor, lekin u juda yaxshi ishlaydi va siz taxminan ikki baravar kattalikka erishishingiz kerak bo'lganda yaxshi yechim bo'lishi mumkin.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Xulosa qilib aytadigan bo'lsak, biz sakkizta zavod qatlamiga ega bo'lgan ikki darajadagi umurtqali topologiyaga qurmoqdamiz.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Fizika bilan nima bo'ladi? Juda oddiy hisob-kitoblar. Agar bizda ikki darajadagi umurtqa pog'onasi bo'lsa, bizda faqat uchta darajadagi kalitlar mavjud va biz tarmoqda uchta kabel segmenti bo'lishini kutamiz: serverlardan barg kalitlarigacha, 1-umurtqa pog'onasiga, 2-umurtqaga. Biz qila oladigan variantlar foydalanish - bular twinax, multimode, single mode. Va bu erda biz qanday chiziq mavjudligini, uning narxi qancha bo'lishini, jismoniy o'lchamlari qanday, biz qanday oraliqlarni qamrab olishimiz va qanday yangilashimizni ko'rib chiqishimiz kerak.

Narxlar nuqtai nazaridan, hamma narsa bir qatorda bo'lishi mumkin. Twinaxes faol optikadan sezilarli darajada arzon, multimodli uzatgichlarga qaraganda arzonroq, agar siz uni har bir parvoz uchun oxiridan olsangiz, 100 gigabitli switch portidan biroz arzonroq. Va shuni yodda tutingki, bu bitta rejimli optikadan kamroq turadi, chunki bitta rejim talab qilinadigan parvozlarda ma'lumotlar markazlarida bir qator sabablarga ko'ra CWDM dan foydalanish mantiqiy, parallel yagona rejim (PSM) esa ishlash uchun unchalik qulay emas. bilan, juda katta paketlar olinadi tolalar, va agar biz ushbu texnologiyalarga e'tibor qaratadigan bo'lsak, biz taxminan quyidagi narx ierarxiyasini olamiz.

Yana bir eslatma: afsuski, demonte qilingan 100 dan 4x25 multimodli portlardan foydalanish unchalik mumkin emas. SFP28 uzatgichlarining dizayn xususiyatlari tufayli u 28 Gbit QSFP100 dan ancha arzon emas. Va multimod uchun bu demontaj juda yaxshi ishlamaydi.

Yana bir cheklov shundaki, hisoblash klasterlarining kattaligi va serverlar soni tufayli bizning ma'lumotlar markazlarimiz jismonan katta bo'lib chiqadi. Bu shuni anglatadiki, kamida bitta parvoz singlemod bilan amalga oshirilishi kerak. Shunga qaramay, Podlarning jismoniy o'lchamlari tufayli ikkita twinax (mis kabellar) ni ishga tushirish mumkin bo'lmaydi.

Natijada, agar biz narx bo'yicha optimallashtirsak va ushbu dizaynning geometriyasini hisobga olsak, biz CWDM-dan foydalangan holda bir diapazonli twinax, bir oraliq multimode va bir diapazonli bitta rejimga ega bo'lamiz. Bu mumkin bo'lgan yangilanish yo'llarini hisobga oladi.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Bu yaqinda qanday ko'rinadi, biz qaerga ketyapmiz va nima mumkin. Hech bo'lmaganda multimode va bitta rejim uchun 50-Gigabit SerDesga qanday o'tish mumkinligi aniq. Bundan tashqari, agar siz hozir va kelajakda 400G uchun bitta rejimli transmitterlarda nima borligini ko'rib chiqsangiz, ko'pincha 50G SerDes elektr tomondan kelganda ham, har bir chiziq uchun 100 Gbit / s allaqachon optikaga o'tishi mumkin. Shu sababli, 50 ga o'tish o'rniga 100 Gigabit SerDes va 100 Gbit / s tezlikka o'tish bo'lishi mumkin, chunki ko'plab sotuvchilarning va'dalariga ko'ra, ularning mavjudligi juda tez orada kutilmoqda. 50G SerDes eng tezkor bo'lgan davr unchalik uzoq bo'lmaydi, chunki 100G SerDes ning birinchi nusxalari deyarli kelgusi yilda chiqariladi. Va bir muncha vaqt o'tgach, ular, ehtimol, o'rtacha pulga arziydi.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Fizikani tanlash haqida yana bir nuance. Aslida, biz allaqachon 400G SerDes yordamida 200 yoki 50 Gigabit portlardan foydalanishimiz mumkin. Ammo ma'lum bo'lishicha, bu unchalik mantiqqa to'g'ri kelmaydi, chunki yuqorida aytganimdek, biz kalitlarga juda katta radisni xohlaymiz, albatta. Biz 128 ni xohlaymiz. Va agar bizda chip sig'imi cheklangan bo'lsa va biz ulanish tezligini oshirsak, u holda radix tabiiy ravishda kamayadi, mo''jizalar yo'q.

Va biz samolyotlar yordamida umumiy quvvatni oshirishimiz mumkin va hech qanday maxsus xarajatlar yo'q, biz samolyotlar sonini qo'shishimiz mumkin. Va agar biz radixni yo'qotsak, biz qo'shimcha darajani joriy qilishimiz kerak bo'ladi, shuning uchun hozirgi vaziyatda, har bir chip uchun mavjud maksimal sig'im bilan, 100 gigabitli portlardan foydalanish samaraliroq ekanligi ma'lum bo'ldi, chunki ular sizga imkon beradi. kattaroq ildiz olish uchun.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Keyingi savol - fizika qanday tashkil etilgan, ammo kabel infratuzilmasi nuqtai nazaridan. Ma'lum bo'lishicha, u juda kulgili tarzda tashkil etilgan. Barg kalitlari va birinchi darajali tikanlar orasidagi kabel - u erda juda ko'p havolalar mavjud emas, hamma narsa nisbatan sodda tarzda qurilgan. Ammo bitta samolyotni oladigan bo'lsak, ichkarida nima sodir bo'ladi, biz birinchi darajadagi barcha umurtqalarni ikkinchi darajali barcha tikanlar bilan bog'lashimiz kerak.

Bundan tashqari, qoida tariqasida, ma'lumotlar markazining ichida qanday ko'rinishi kerakligi haqida ba'zi istaklar mavjud. Misol uchun, biz kabellarni bir to'plamga birlashtirmoqchi bo'ldik va ularni bitta yuqori zichlikdagi patch-panel butunlay bitta patch-panelga kiradigan qilib tortmoqchi edik, shunda uzunlik bo'yicha hayvonot bog'i yo'q edi. Biz bu muammoni hal qilishga muvaffaq bo'ldik. Agar siz dastlab mantiqiy topologiyaga qarasangiz, samolyotlarning mustaqil ekanligini, har bir tekislikni o'z-o'zidan qurish mumkinligini ko'rishingiz mumkin. Ammo biz bunday to'plamni qo'shsak va butun patch-panelni patch-panelga tortmoqchi bo'lsak, biz bitta to'plam ichida turli tekisliklarni aralashtirishimiz va ularni qanday yig'ilganidan qayta o'rash uchun optik o'zaro bog'lanishlar ko'rinishidagi oraliq tuzilmani kiritishimiz kerak. bir segmentda , ular boshqa segmentda qanday to'planishi. Buning yordamida biz yoqimli xususiyatga ega bo'lamiz: barcha murakkab kommutatsiyalar raflardan tashqariga chiqmaydi. Agar biror narsani juda kuchli bog'lashingiz kerak bo'lsa, "samolyotlarni oching", ba'zan Clos tarmoqlarida deyiladi, barchasi bitta raf ichida to'planadi. Bizda yuqori darajada demontaj qilingan, individual ulanishlargacha, raflar o'rtasida almashinish yo'q.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Kabel infratuzilmasini mantiqiy tashkil etish nuqtai nazaridan u shunday ko'rinadi. Chapdagi rasmda ko'p rangli bloklarda birinchi darajali umurtqa pog'onali kalitlarning bloklari, har biri sakkizta bo'lak va ulardan keladigan to'rtta simlar to'plami tasvirlangan, ular orqa miya-2 kalitlari bloklaridan keladigan to'plamlar bilan kesishadi va kesishadi. .

Kichik kvadratlar kesishmalarni ko'rsatadi. Yuqori chap tomonda har bir bunday chorrahaning taqsimoti mavjud bo'lib, bu aslida 512 dan 512 gacha bo'lgan o'zaro bog'liqlik moduli bo'lib, u kabellarni to'liq bitta tokchaga joylashtiradigan tarzda qayta joylashtiradi, bu erda faqat bitta orqa miya-2 tekisligi mavjud. Va o'ng tomonda, bu rasmning skanerlashi umurtqa pog'onasi-1 darajasidagi bir nechta Podlarga nisbatan biroz batafsilroq va u o'zaro bog'liqlikda qanday qadoqlanganligi, umurtqa pog'onasi-2 darajasiga qanday kelishi haqida.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Bu shunday ko'rinadi. Hali to'liq yig'ilmagan orqa miya-2 stend (chapda) va o'zaro bog'langan stend. Afsuski, u erda ko'rish uchun ko'p narsa yo'q. Bu butun tuzilma hozirda kengaytirilayotgan yirik maΚΌlumotlar markazlarimizdan birida oΚ»rnatilmoqda. Bu ish davom etmoqda, u yanada chiroyli ko'rinadi, yaxshiroq to'ldiriladi.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Muhim savol: biz mantiqiy topologiyani tanladik va fizikani qurdik. Boshqaruv samolyoti bilan nima sodir bo'ladi? Operatsion tajribadan ma'lumki, bog'lanish holati protokollari yaxshi ekanligi haqida bir qator hisobotlar mavjud, ular bilan ishlash juda yoqimli, ammo, afsuski, ular zich bog'langan topologiyada yaxshi miqyosda emas. Va bunga xalaqit beradigan bitta asosiy omil bor - suv toshqini bog'lanish holati protokollarida shunday ishlaydi. Agar siz shunchaki suv toshqini algoritmini olsangiz va bizning tarmog'imiz qanday tuzilganiga qarasangiz, har bir qadamda juda katta fanout bo'lishini ko'rishingiz mumkin va u boshqaruv tekisligini yangilanishlar bilan to'ldiradi. Xususan, bunday topologiyalar aloqa holati protokollarida an'anaviy suv toshqini algoritmi bilan juda yomon aralashadi.

Tanlov BGP dan foydalanishdir. Uni qanday qilib to'g'ri tayyorlash kerakligi RFC 7938 da katta ma'lumotlar markazlarida BGP dan foydalanish haqida tasvirlangan. Asosiy g'oyalar oddiy: har bir xost uchun eng kam prefikslar soni va odatda tarmoqdagi eng kam prefikslar soni, agar iloji bo'lsa, yig'ilishdan foydalaning va yo'l ovini bostiring. Biz vodiy bepul deb ataladigan yangilanishlarni juda ehtiyotkorlik bilan, juda nazorat ostida taqsimlashni xohlaymiz. Biz yangilanishlar tarmoq orqali o'tayotganda aynan bir marta joylashtirilishini istaymiz. Agar ular pastki qismdan kelib chiqsa, ular bir martadan ko'p bo'lmagan holda yuqoriga ko'tariladi. Zigzaglar bo'lmasligi kerak. Zigzaglar juda yomon.

Buning uchun biz asosiy BGP mexanizmlaridan foydalanish uchun etarlicha sodda dizayndan foydalanamiz. Ya'ni, biz mahalliy havolada ishlaydigan eBGP dan foydalanamiz va avtonom tizimlar quyidagicha tayinlangan: ToR bo'yicha avtonom tizim, bitta Podning umurtqa pog'onasi-1 kalitlarining butun blokidagi avtonom tizim va butun tepada umumiy avtonom tizim Matodan. Hatto BGP ning oddiy xatti-harakati ham bizga kerakli yangilanishlarni tarqatish imkonini berishini ko'rish va ko'rish qiyin emas.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Tabiiyki, manzillar va manzillarni yig'ish shunday loyihalashtirilishi kerakki, u marshrutni qurish usuliga mos keladi va boshqaruv tekisligining barqarorligini ta'minlaydi. Transportda L3 manzillash topologiyaga bog'langan, chunki busiz agregatsiyaga erishish mumkin emas, busiz alohida manzillar marshrutizatsiya tizimiga kiradi. Yana bir narsa shundaki, agregatsiya, afsuski, ko'p yo'lli bilan juda yaxshi aralashmaydi, chunki bizda ko'p yo'lli bo'lsa va bizda agregatsiya bo'lsa, hamma narsa yaxshi, butun tarmoq sog'lom bo'lsa, unda hech qanday nosozliklar bo'lmaydi. Afsuski, tarmoqda nosozliklar paydo bo'lishi va topologiyaning simmetriyasi yo'qolishi bilanoq, biz birlik e'lon qilingan nuqtaga kelishimiz mumkin, bundan keyin biz borishimiz kerak bo'lgan joyga bora olmaymiz. Shuning uchun, boshqa ko'p yo'l bo'lmagan joyda yig'ish yaxshidir, bizning holatlarimizda bu ToR kalitlari.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Aslida, jamlash mumkin, lekin ehtiyotkorlik bilan. Agar tarmoq nosozliklari yuzaga kelganda biz nazorat ostida bo'linishni amalga oshira olsak. Ammo bu juda qiyin vazifa, biz buni amalga oshirish mumkinmi yoki yo'qmi, qo'shimcha avtomatlashtirish va kerakli xatti-harakatni olish uchun BGPni to'g'ri tepadigan chekli holat mashinalarini qo'shish mumkinmi, deb o'ylab qoldik. Afsuski, burchak holatlarini qayta ishlash juda noaniq va murakkab va bu vazifa BGP ga tashqi qo'shimchalarni biriktirish orqali yaxshi hal etilmaydi.

Keyingi hisobotda muhokama qilinadigan RIFT protokoli doirasida bu borada juda qiziqarli ishlar amalga oshirildi.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Yana bir muhim jihat shundaki, bizda juda ko'p muqobil yo'llar mavjud bo'lgan zich topologiyalarda ma'lumotlar tekisliklari qanday masshtablanadi. Bunday holda, bir nechta qo'shimcha ma'lumotlar tuzilmalari qo'llaniladi: ECMP guruhlari, ular o'z navbatida Next Hop guruhlarini tavsiflaydi.

Oddiy ishlaydigan tarmoqda, biz Clos topologiyasiga ko'tarilganimizda, faqat bitta guruhdan foydalanish kifoya qiladi, chunki mahalliy bo'lmagan hamma narsa sukut bo'yicha tasvirlangan, biz yuqoriga ko'tarila olamiz. Yuqoridan pastgacha janubga borsak, barcha yo'llar ECMP emas, ular bitta yo'l yo'llari. Hammasi yaxshi. Muammo shundaki, klassik Clos topologiyasining o'ziga xos xususiyati shundaki, agar biz matoning yuqori qismiga, istalgan elementga qarasak, quyida joylashgan har qanday elementga faqat bitta yo'l bor. Agar ushbu yo'lda nosozliklar yuzaga kelsa, zavodning yuqori qismidagi ushbu element buzilgan yo'lning orqasida joylashgan prefikslar uchun yaroqsiz bo'ladi. Ammo qolganlari uchun bu amal qiladi va biz ECMP guruhlarini tahlil qilishimiz va yangi holatni joriy qilishimiz kerak.

Ma'lumotlar tekisligining miqyosi zamonaviy qurilmalarda qanday ko'rinishga ega? Agar biz LPM (eng uzun prefiks mos) qilsak, hamma narsa juda yaxshi, 100 mingdan ortiq prefiks. Agar biz Next Hop guruhlari haqida gapiradigan bo'lsak, unda hamma narsa yomonroq, 2-4 ming. Agar biz Next Hops (yoki qo'shni) tavsifini o'z ichiga olgan jadval haqida gapiradigan bo'lsak, bu 16k dan 64k gacha. Va bu muammoga aylanishi mumkin. Va bu erda biz qiziqarli fikrga keldik: ma'lumotlar markazlarida MPLS bilan nima sodir bo'ldi? Aslida, biz buni qilishni xohladik.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Ikki narsa yuz berdi. Biz hostlarda mikro-segmentatsiya qildik, endi tarmoqda buni qilishimiz shart emas. Turli sotuvchilarning qo'llab-quvvatlashi va undan ham ko'proq MPLS bilan oq qutilarda ochiq ilovalar bilan unchalik yaxshi emas edi. Va MPLS, hech bo'lmaganda uning an'anaviy ilovalari, afsuski, ECMP bilan juda yomon birlashadi. Va shuning uchun ham.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

IP uchun ECMP yo'naltirish tuzilishi shunday ko'rinadi. Ko'p sonli prefikslar bir xil guruh va bir xil Next Hops blokidan foydalanishi mumkin (yoki qo'shnilar, bu turli xil qurilmalar uchun turli hujjatlarda boshqacha nomlanishi mumkin). Gap shundaki, bu chiquvchi port sifatida tavsiflanadi va to'g'ri Keyingi Hopga o'tish uchun MAC manzilini nimaga qayta yozish kerak. IP uchun hamma narsa oddiy ko'rinadi, siz bir xil guruh, bir xil Next Hops bloki uchun juda ko'p sonli prefikslardan foydalanishingiz mumkin.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Klassik MPLS arxitekturasi, chiquvchi interfeysga qarab, yorliqni turli qiymatlarga qayta yozish mumkinligini nazarda tutadi. Shuning uchun biz har bir kirish yorlig'i uchun guruh va Keyingi Hops blokini saqlashimiz kerak. Va bu, afsuski, ko'lamli emas.

Bizning dizaynimizda bizga 4000 ga yaqin ToR kalitlari kerakligini ko'rish oson, agar biz umurtqa pog'onasi-64 dan orqa miya-1 tomon harakat qilsak, maksimal kengligi 2 ECMP yo'lini tashkil etdi. Biz ECMP guruhlarining bitta jadvaliga zo'rg'a kiramiz, agar ToR bilan bitta prefiks yo'qolsa va biz Next Hops jadvaliga umuman kirmaymiz.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Bularning barchasi umidsiz emas, chunki Segment Routing kabi arxitektura global teglarni o'z ichiga oladi. Rasmiy ravishda, bu keyingi Hops bloklarini yana yiqitish mumkin edi. Buni amalga oshirish uchun sizga yovvoyi karta turidagi operatsiya kerak bo'ladi: yorliqni oling va uni ma'lum bir qiymatsiz bir xilga qayta yozing. Ammo, afsuski, bu mavjud ilovalarda unchalik ko'p emas.

Va nihoyat, ma'lumotlar markaziga tashqi trafikni olib kirishimiz kerak. Buni qanday qilish kerak? Ilgari trafik yuqoridan Clos tarmog'iga kiritilgan. Ya'ni, matoning tepasida barcha qurilmalarga ulangan chekka routerlar mavjud edi. Ushbu yechim kichik va o'rta o'lchamlarda juda yaxshi ishlaydi. Afsuski, trafikni shu tarzda butun tarmoqqa nosimmetrik tarzda jo'natish uchun biz bir vaqtning o'zida matoning barcha elementlariga etib borishimiz kerak va ular yuzdan ortiq bo'lsa, bizga ham katta hajm kerak bo'ladi. chekka routerlarda radix. Umuman olganda, bu pul talab qiladi, chunki chekka routerlar ko'proq funktsionaldir, ulardagi portlar qimmatroq bo'ladi va dizayn juda chiroyli emas.

Yana bir variant - bunday trafikni pastdan boshlash. Clos topologiyasi pastdan, ya'ni ToR tomondan kelayotgan trafik butun tarmoqni yuklagan holda ikki iteratsiyada butun matoning yuqori qismidagi darajalar orasida teng taqsimlanadigan tarzda qurilganligini tekshirish oson. Shuning uchun biz tashqi ulanishni ta'minlaydigan maxsus Pod turini, Edge Podni taqdim etamiz.

Yana bitta variant bor. Masalan, Facebook shunday qiladi. Ular uni Fabric Aggregator yoki HGRID deb atashadi. Bir nechta ma'lumotlar markazlarini ulash uchun qo'shimcha orqa miya darajasi joriy etilmoqda. Agar interfeyslarda qo'shimcha funktsiyalar yoki inkapsulyatsiya o'zgarishlari bo'lmasa, bu dizayn mumkin. Agar ular qo'shimcha aloqa nuqtalari bo'lsa, bu qiyin. Odatda, ma'lumotlar markazining turli qismlarini ajratib turadigan ko'proq funktsiyalar va membranalar mavjud. Bunday membranani katta qilishning ma'nosi yo'q, lekin agar u haqiqatan ham biron bir sababga ko'ra kerak bo'lsa, uni olib tashlash, uni iloji boricha kengroq qilish va uy egalariga topshirish imkoniyatini ko'rib chiqish mantiqan to'g'ri keladi. Bu, masalan, ko'plab bulut operatorlari tomonidan amalga oshiriladi. Ularning qoplamalari bor, ular xostlardan boshlanadi.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Biz qanday rivojlanish imkoniyatlarini ko'rmoqdamiz? Avvalo, CI/CD quvur liniyasini qo'llab-quvvatlashni yaxshilash. Biz qanday qilib sinovdan o'tsak, qanday uchishni xohlaymiz va qanday uchishni xohlaymiz. Bu juda yaxshi ishlamaydi, chunki infratuzilma katta va uni sinovlar uchun takrorlash mumkin emas. Sinov elementlarini ishlab chiqarish infratuzilmasini tashlamasdan qanday kiritish kerakligini tushunishingiz kerak.

Yaxshiroq asbob-uskunalar va yaxshi monitoring deyarli hech qachon ortiqcha bo'lmaydi. Butun savol - bu harakat va qaytishning muvozanati. Agar siz uni oqilona harakat bilan qo'shsangiz, juda yaxshi.

Tarmoq qurilmalari uchun ochiq operatsion tizimlar. Yaxshiroq protokollar va yaxshi marshrutlash tizimlari, masalan, RIFT. Shuningdek, tirbandlikni nazorat qilishning yaxshiroq sxemalarini qo'llash va, ehtimol, hech bo'lmaganda, ba'zi nuqtalarda klaster ichida RDMA qo'llab-quvvatlashini joriy qilish bo'yicha tadqiqotlar talab qilinadi.

Kelajakka nazar tashlaydigan bo'lsak, bizga ilg'or topologiyalar va, ehtimol, kamroq yuk sarflaydigan tarmoqlar kerak. Yangi narsalardan, yaqinda HPC Cray Slingshot uchun mato texnologiyasi haqida nashrlar paydo bo'ldi, u Ethernet tovariga asoslangan, ammo ancha qisqa sarlavhalardan foydalanish imkoniyatiga ega. Natijada, qo'shimcha xarajatlar kamayadi.

Ma'lumotlar markazlarini qanday kengaytirish kerak. Yandex hisoboti

Hamma narsa iloji boricha sodda bo'lishi kerak, lekin oddiyroq emas. Murakkablik miqyoslilikning dushmanidir. Oddiylik va muntazam tuzilmalar bizning do'stlarimizdir. Agar siz biron bir joyda o'lchamni kengaytira olsangiz, buni qiling. Va umuman olganda, hozir tarmoq texnologiyalari bilan shug'ullanish juda yaxshi. Ko'p qiziqarli narsalar sodir bo'lmoqda. Rahmat.

Manba: www.habr.com

a Izoh qo'shish