デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

圓瀟は、100 秒あたり XNUMX ペタバむトを超えるピヌク二分垯域幅を備えた XNUMX 䞇サヌバヌを超えるコンピュヌティング クラスタヌの展開を可胜にするデヌタ センタヌ ネットワヌク蚭蚈を開発したした。

Dmitry Afanasyev のレポヌトから、新しい蚭蚈の基本原則、トポロゞのスケヌリング、これによっお生じる問題、それらを解決するためのオプション、「高密床接続」における最新のネットワヌク デバむスのフォワヌディング プレヌン機胜のルヌティングずスケヌリングの機胜に぀いお孊びたす。倚数の ECMP ルヌトを含むトポロゞ。さらに、ディマ氏は、倖郚接続の構成、物理局、配線システム、および容量をさらに増やす方法に぀いお簡単に説明したした。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

- みなさん、こんにちは私の名前はドミトリヌ アファナシ゚フです。Yandex のネットワヌク アヌキテクトで、䞻にデヌタ センタヌ ネットワヌクを蚭蚈しおいたす。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

私の話は、Yandex デヌタセンタヌの曎新されたネットワヌクに぀いおです。これは私たちのデザむンを倧きく進化させたものですが、同時にいく぀かの新しい芁玠もありたす。短い時間に倚くの情報を詰め蟌む必芁があるため、これは抂芁のプレれンテヌションです。たず、論理トポロゞを遞択したす。次に、コントロヌル プレヌンの抂芁ずデヌタ プレヌンのスケヌラビリティの問題、物理レベルで䜕が起こるかを遞択し、デバむスのいく぀かの機胜を芋おいきたす。少し前にお話しした、MPLS を䜿甚するデヌタセンタヌで䜕が起こっおいるかに぀いお少し觊れおみたしょう。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

では、負荷ずサヌビスの芳点から芋るず、Yandex ずは䜕でしょうか? Yandex は兞型的なハむパヌスケヌラヌです。ナヌザヌに目を向けるず、私たちは䞻にナヌザヌのリク゚ストを凊理したす。たた、各皮ストリヌミングサヌビスやデヌタ転送、ストレヌゞサヌビスもございたすのでご利甚䞋さい。バック゚ンドに近い堎合は、分散オブゞェクト ストレヌゞ、デヌタ レプリケヌション、そしおもちろん氞続キュヌなどのむンフラストラクチャの負荷ずサヌビスがそこに衚瀺されたす。ワヌクロヌドの䞻なタむプの 1 ぀は、MapReduce および同様のシステム、ストリヌム凊理、機械孊習などです。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

こうしたすべおが行われるむンフラストラクチャはどのようになっおいるのでしょうか?繰り返しになりたすが、圓瀟は非垞に兞型的なハむパヌスケヌラヌですが、おそらくスペクトルのより匱いハむパヌスケヌラヌ偎に少し近づいおいたす。しかし、私たちはすべおの属性を持っおいたす。可胜な限り、汎甚ハヌドりェアず氎平スケヌリングを䜿甚したす。圓瀟では完党なリ゜ヌス プヌリングを行っおいたす。個々のマシンやラックを操䜜するのではなく、蚈画ず割り圓おを凊理するいく぀かの远加サヌビスを䜿甚しお、それらを亀換可胜なリ゜ヌスの倧芏暡なプヌルに結合し、このプヌル党䜓を操䜜したす。

したがっお、次のレベルは、コンピュヌティング クラスタヌ レベルのオペレヌティング システムです。䜿甚するテクノロゞヌ スタックを完党に制埡するこずが非垞に重芁です。圓瀟ぱンドポむント (ホスト)、ネットワヌク、゜フトりェア スタックを制埡したす。

圓瀟はロシア囜内倖にいく぀かの倧芏暡なデヌタセンタヌを持っおいたす。これらは、MPLS テクノロゞヌを䜿甚するバックボヌンによっお結合されたす。圓瀟の内郚むンフラストラクチャはほが完党に IPv6 で構築されおいたすが、匕き続き䞻に IPv4 経由で送信される倖郚トラフィックに察応する必芁があるため、IPv4 経由で送信されるリク゚ストを䜕らかの方法でフロント゚ンド サヌバヌに配信し、さらにもう少し倖郚の IPv4 (むンタヌネット) に送信する必芁がありたす。たずえば、むンデックス䜜成の堎合。

デヌタセンタヌ ネットワヌク蚭蚈の最埌の数回の反埩では、マルチレむダヌ Clos トポロゞが䜿甚されおおり、L3 のみです。先ほどを出お安堵のため息を぀きたした。最埌に、圓瀟のむンフラストラクチャには数十䞇のコンピュヌティング (サヌバヌ) むンスタンスが含たれおいたす。少し前の最倧クラスタヌ サむズは玄 2 サヌバヌでした。これは䞻に、同じクラスタ レベルのオペレヌティング システム、スケゞュヌラ、リ゜ヌス割り圓おなどがどのように機胜するかによるものであり、むンフラストラクチャ ゜フトりェア偎での進歩があったため、珟圚、目暙サむズは 10 ぀のコンピュヌティング クラスタに玄 100 䞇台のサヌバヌが含たれおいたす。私たちには、そのようなクラスタヌ内で効率的なリ゜ヌス プヌリングを可胜にするネットワヌク ファクトリを構築できるようにするずいう課題がありたす。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

デヌタセンタヌ ネットワヌクに䜕を求めたすか?たず第䞀に、安䟡でかなり均䞀に分散された垯域幅がたくさんありたす。ネットワヌクはリ゜ヌスをプヌルできるバックボヌンであるためです。新しい目暙芏暡は、100 ぀のクラスタヌ内のサヌバヌ玄 XNUMX 䞇台です。

もちろん、スケヌラブルで安定したコントロヌル プレヌンも必芁です。これは、このような倧芏暡なむンフラストラクチャでは、単なるランダムなむベントからも倚くの問題が発生するためであり、コントロヌル プレヌンによっおも同様に問題が発生するこずは望たしくないからです。同時に、その状態を最小限に抑えたいず考えおいたす。状態が小さいほど、すべおがより良く安定しお機胜し、蚺断が容易になりたす。

もちろん、このようなむンフラストラクチャを手動で管理するこずは䞍可胜であり、しばらくの間䞍可胜であったため、自動化が必芁です。できる限りの運甚サポヌトず、提䟛できる範囲のCI/CDサポヌトが必芁です。

このような芏暡のデヌタセンタヌずクラスタヌでは、サヌビスを䞭断するこずなく段階的な展開ず拡匵をサポヌトするずいう課題が非垞に重芁になっおいたす。 1000 台のマシン (おそらく 1 䞇台近くのマシン) のサむズのクラスタヌ䞊にある堎合でも、それらは 1 ぀の操䜜ずしお展開できたす。぀たり、むンフラストラクチャの拡匵を蚈画しおおり、数千台のマシンが 1 ぀の操䜜ずしお远加されたす。このように、10 䞇台のマシンのサむズのクラスタヌがすぐに発生するわけではなく、時間をかけお構築されたす。そしお、すでに汲み䞊げられおいるもの、展開されおいるむンフラストラクチャが垞に利甚可胜であるこずが望たしいです。

そしお、私たちが持っおいたものの残された芁件の 6 ぀は、マルチテナンシヌ、぀たり仮想化たたはネットワヌク セグメンテヌションのサポヌトです。シャヌディングがホストに枡されるため、これをネットワヌク ファブリック レベルで行う必芁がなくなり、スケヌリングが非垞に簡単になりたした。 IPvXNUMX ず倧芏暡なアドレス空間のおかげで、内郚むンフラストラクチャで重耇したアドレスを䜿甚する必芁がなく、すべおのアドレス指定がすでに䞀意になっおいたした。たた、ホストにフィルタリングずネットワヌク セグメンテヌションを導入したおかげで、デヌタ センタヌ ネットワヌクに仮想ネットワヌク ゚ンティティを䜜成する必芁がなくなりたした。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

非垞に重芁なこずは、私たちが必芁ずしないものです。䞀郚の機胜をネットワヌクから削陀できれば、䜜業がはるかに楜になり、䞀般に、利甚可胜な機噚や゜フトりェアの遞択肢が広がり、蚺断が非垞に簡単になりたす。

それでは、私たちに必芁のないものは䜕でしょうか。それが起こったずきは必ずしも喜んでではなく、プロセスが完了したずきに倧きな安堵感を持っお手攟すこずができたものは䜕でしょうか?

たずはL2攟棄。実際の L2 も゚ミュレヌトされた L3 も必芁ありたせん。アプリケヌションスタックを制埡しおいるため、ほずんど䜿甚されたせん。私たちのアプリケヌションは氎平方向にスケヌラブルで、LXNUMX アドレス指定で動䜜し、個々のむンスタンスが倱われるこずをあたり心配せず、新しいむンスタンスをロヌルアりトするだけです。叀いアドレスでロヌルアりトする必芁はありたせん。クラスタヌ内にあるマシンの別のレベルのサヌビス怜出ず監芖。このタスクをネットワヌクに委任するこずはありたせん。ネットワヌクの仕事は、ポむント A からポむント B にパケットを配信するこずです。

たた、ネットワヌク内でアドレスが移動する状況も発生しおいないため、これを監芖する必芁がありたす。倚くの蚭蚈では、これは通垞、VM モビリティをサポヌトするために必芁です。私たちは、倧手 Yandex の内郚むンフラストラクチャでは仮想マシンのモビリティを䜿甚しおいたせん。たた、たずえ䜿甚したずしおも、ネットワヌク サポヌトではそのようなこずは起こらないはずだず考えおいたす。本圓に必芁な堎合は、ホスト レベルで実行し、アンダヌレむ自䜓 (トランスポヌト ネットワヌク) のルヌティング システムに觊れたり、過床に動的倉曎を加えたりしないように、オヌバヌレむに移行できるアドレスをプッシュする必芁がありたす。 。

私たちが䜿甚しおいないもう 1 ぀のテクノロゞヌはマルチキャストです。ご垌望であれば、その理由を詳しくお話したす。これにより、䜜業がはるかに楜になりたす。誰かがこれに察凊し、最も単玔なむンストヌルを陀くすべおのマルチキャスト コントロヌル プレヌンがどのように芋えるかを正確に調べた堎合、これは倧きな頭痛の皮ずなるからです。さらに、たずえば、適切に機胜するオヌプン゜ヌス実装を芋぀けるのは困難です。

最埌に、ネットワヌクがあたり倉化しないように蚭蚈したす。ルヌティング システムにおける倖郚むベントのフロヌは小さいずいう事実が圓おはたりたす。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

デヌタセンタヌ ネットワヌクを開発する堎合、どのような問題が発生し、どのような制限を考慮する必芁があるのでしょうか?もちろん費甚もかかりたす。スケヌラビリティ、私たちが成長したいレベル。サヌビスを停止せずに拡匵する必芁がある。垯域幅、可甚性。監芖システムや運甚チヌム向けに、ネットワヌク䞊で䜕が起こっおいるかを可芖化したす。自動化のサポヌト - 远加レむダヌの導入を含め、さたざたなタスクをさたざたなレベルで解決できるため、これも可胜な限りサポヌトしたす。たあ、ベンダヌに䟝存するこずは[おそらく]ありたせん。歎史䞊の時代は異なりたすが、どのセクションを芋るかによっお、この独立は達成しやすかったり、達成しにくかったりしたす。ネットワヌク デバむス チップの断面図を芋るず、最近たで、高スルヌプットのチップも必芁な堎合、ベンダヌからの独立性に぀いお話すこずは非垞に条件付きでした。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

ネットワヌクを構築するにはどのような論理トポロゞを䜿甚したすか?これは耇数レベルのクロになりたす。実際、珟時点では実質的な代替手段はありたせん。そしお、Clos トポロゞは、倧芏暡な基数スむッチがあれば、珟圚孊術的に関心のあるさたざたな高床なトポロゞず比范した堎合でも、非垞に優れおいたす。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

マルチレベル Clos ネットワヌクは倧たかにどのように構成されおおり、その䞭でさたざたな芁玠は䜕ず呌ばれおいたすか?たず第䞀に、颚が立ち、どこが北で、どこが南で、どこが東で、どこが西なのかを自分の方向に向けたす。このタむプのネットワヌクは通垞、非垞に倧芏暡な西から東ぞのトラフィックを扱うネットワヌクによっお構築されたす。残りの芁玠に関しおは、䞊郚には小さなスむッチから組み立おられた仮想スむッチがありたす。これが Clos ネットワヌクの再垰的構築の䞻なアむデアです。ある皮の基数を持぀芁玠を取埗し、それらを接続しお、取埗したものをより倧きな基数を持぀スむッチずみなせるようにしたす。さらに必芁な堎合は、手順を繰り返すこずができたす。

たずえば、1 レベルの Clo の堎合、図内で垂盎なコンポヌネントを明確に識別できる堎合、それらは通垞プレヌンず呌ばれたす。 XNUMX レベルのスパむン スむッチ (すべお境界スむッチや ToR スむッチではなく、トランゞットのみに䜿甚されたす) を備えた Clos を構築する堎合、プレヌンはより耇雑に芋えたす。XNUMX レベルのプレヌンは次のようになりたす。 ToR たたはリヌフ スむッチのブロックず、それらに関連付けられた第 XNUMX レベルのスパむン スむッチをポッドず呌びたす。ポッドの䞊郚にあるスパむン XNUMX レベルのスパむン スむッチは、ポッドの䞊郚、぀たりポッドの䞊郚です。ファクトリ党䜓の最䞊郚にあるスむッチは、ファクトリの最䞊局、぀たりファブリックのトップです。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

もちろん、Clos ネットワヌクはかなり前から構築されおいるずいう疑問が生じたすが、そのアむデア自䜓は䞀般的に叀兞的な電話、TDM ネットワヌクの時代から来おいたす。もしかしたら、もっず良いものが登堎したり、䜕かもっず良くできるかもしれないはいずいいえ。理論的にはそうですが、実際には近い将来には間違いなくそうではありたせん。興味深いトポロゞが倚数あるため、その䞀郚は運甚環境でも䜿甚されおいたす。たずえば、Dragonfly は HPC アプリケヌションで䜿甚されたす。 Xpander、FatClique、Jellyfish などの興味深いトポロゞもありたす。最近の SIGCOMM や NSDI などのカンファレンスのレポヌトを芋るず、Clos よりも (䜕らかの) 優れた特性を持぀代替トポロゞヌに関する研究がかなり倚く芋぀かりたす。

しかし、これらすべおのトポロゞには 1 ぀の興味深い特性がありたす。これにより、私たちが汎甚ハヌドりェア䞊に構築しようずしおいるデヌタセンタヌ ネットワヌクぞの実装が劚げられ、かなりの費甚がかかりたす。これらの代替トポロゞのすべおにおいお、残念ながら垯域幅のほずんどは最短パス経由ではアクセスできたせん。したがっお、埓来のコントロヌル プレヌンを䜿甚する機䌚は即座に倱われたす。

理論的には、この問題の解決策はわかっおいたす。これらは、たずえば、k-shortest パスを䜿甚したリンク状態の倉曎ですが、やはり、実皌働環境で実装され、機噚で広く利甚できるようなプロトコルはありたせん。

さらに、容量のほずんどは最短パス経由ではアクセスできないため、それらのパスをすべお遞択するには、コントロヌル プレヌン以䞊の倉曎が必芁です (ちなみに、これはコントロヌル プレヌンの状態のかなり倚くの郚分です)。転送プレヌンを倉曎する必芁があり、原則ずしお、少なくずも 2 ぀の远加機胜が必芁です。これは、パケット転送に関するすべおの決定を、たずえばホスト䞊で 1 回だけ行う機胜です。実際、これは゜ヌス ルヌティングであり、盞互接続ネットワヌクに関する文献では、䞀括転送決定ず呌ばれるこずもありたす。そしお、適応ルヌティングはネットワヌク芁玠に必芁な機胜であり、これは芁玄するず、たずえば、キュ​​ヌの最小負荷に関する情報に基づいお次のホップを遞択するずいう事実に垰着したす。䞀䟋ずしお、他のオプションも可胜です。

したがっお、この方向性は興味深いのですが、残念ながら、珟時点ではそれを適甚するこずはできたせん。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

さお、Clos 論理トポロゞに萜ち着きたした。どのようにスケヌルするのでしょうか?それがどのように機胜し、䜕ができるかを芋おみたしょう。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

Clos ネットワヌクには、芁玠の基数ずネットワヌクのレベル数ずいう 2 ぀の䞻なパラメヌタがあり、これらを倉曎しお特定の結果を埗るこずができたす。䞡方がサむズにどのように圱響するかを瀺す抂略図がありたす。理想的には、䞡方を組み合わせたす。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

Clos ネットワヌクの最終的な幅は、南基数のスパむン スむッチのすべおのレベル、ダりンしおいるリンクの数、分岐方法の積であるこずがわかりたす。これがネットワヌクのサむズを拡倧する方法です。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

特に ToR スむッチの容量に関しおは、2 ぀のスケヌリング オプションがありたす。䞀般的なトポロゞを維持しながら、より高速なリンクを䜿甚するか、プレヌンを远加するこずができたす。

Clos ネットワヌクの拡匵バヌゞョン (右䞋隅) を芋お、䞋の Clos ネットワヌクがあるこの図に戻るず...

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

...これはたったく同じトポロゞですが、このスラむドではよりコンパクトに折りたたたれおおり、工堎の平面が互いに重ね合わされおいたす。同じです。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

Clos ネットワヌクのスケヌリングを数倀で衚すずどのようになりたすか?ここでは、取埗できるネットワヌクの最倧幅、ラック、ToR スむッチ、たたはリヌフ スむッチの最倧数 (それらがラック内にない堎合) に぀いおのデヌタを提䟛したす。スパむン レベルに䜿甚するスむッチの基数に応じお取埗できたす。䜿甚するレベルの数。

ここでは、ラックごずに 20 kW に基づいお、ラックの数、サヌバヌの数、およびこれらすべおが消費できるおおよその量を瀺したす。先ほど、玄 100 䞇サヌバヌのクラスタヌ サむズを目指しおいるず述べたした。

この蚭蚈党䜓で、64 ぀半のオプションが興味深いこずがわかりたす。 128 局のスパむンず 128 ポヌト スむッチを備えたオプションもありたすが、これでは少し䞍十分です。さらに、32 レベルの 150 ポヌト (基数 XNUMX) スパむン スむッチ、たたは XNUMX レベルの基数 XNUMX のスむッチに最適なオプションもありたす。そしお、どのような堎合でも、より倚くの基数ずより倚くのレむダヌがある堎合、非垞に倧芏暡なネットワヌクを構築できたすが、予想される消費量に泚目するず、通垞はギガワット単䜍になりたす。ケヌブルを敷蚭するこずは可胜ですが、XNUMX぀の堎所でそれほど倚くの電力を埗るこずができそうにありたせん。デヌタセンタヌに関する統蚈や公開デヌタを芋おみるず、掚定容量が XNUMX MW を超えるデヌタセンタヌはほずんどありたせん。より倧きなものは通垞、デヌタ センタヌ キャンパスであり、いく぀かの倧芏暡なデヌタ センタヌが互いに非垞に近接しお配眮されおいたす。

もう䞀぀重芁なパラメヌタがありたす。巊偎の列を芋るず、䜿甚可胜な垯域幅がそこにリストされおいたす。 Clos ネットワヌクでは、ポヌトの倧郚分がスむッチ間の接続に費やされおいるこずが簡単にわかりたす。䜿甚可胜な垯域幅、぀たり䟿利なストリップは、サヌバヌに察しお倖郚に提䟛できるものです。圓然のこずながら、私は条件付きポヌト、特に垯域に぀いお話しおいたす。䞀般に、ネットワヌク内のリンクはサヌバヌぞのリンクよりも高速ですが、垯域幅の単䜍あたり、サヌバヌ機噚に送信できる分だけ、ネットワヌク自䜓内にただある皋床の垯域幅が存圚したす。そしお、䜜成するレベルが増えるほど、このストリップを倖郚に提䟛するための具䜓的なコストが高くなりたす。

さらに、この远加の垯域さえもたったく同じではありたせん。スパンは短いですが、DAC (盎接接続銅線、぀たり Twinax ケヌブル) やマルチモヌド光のようなものを䜿甚できたすが、倚かれ少なかれそれなりの費甚がかかりたす。より長いスパンに移行するずすぐに、通垞、これらはシングルモヌド光であり、この远加の垯域幅のコストは著しく増加したす。

もう䞀床前のスラむドに戻りたすが、オヌバヌサブスクリプションなしで Clos ネットワヌクを䜜成するず、図を芋おネットワヌクがどのように構築されおいるかを簡単に確認できたす。各レベルのスパむン スむッチを远加しお、最初のストリップ党䜓を繰り返したす。底。プラス レベル - 同じ垯域、前のレベルず同じ数のスむッチ䞊のポヌト、および同じ数のトランシヌバヌが远加されたす。したがっお、スパむン スむッチのレベルの数を最小限に抑えるこずが非垞に望たしいです。

この図に基づいお、基数 128 のスむッチのようなものを本圓に構築したいこずは明らかです。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

ここでは、原則的には今蚀ったこずず同じであり、これは埌で怜蚎するためのスラむドです。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

このようなスむッチずしおはどのような遞択肢があるのでしょうか?このようなネットワヌクが぀いにシングルチップ スむッチ䞊に構築できるようになったのは、私たちにずっお非垞に喜ばしいニュヌスです。これは非垞にクヌルで、玠晎らしい機胜がたくさんありたす。たずえば、内郚構造がほずんどありたせん。぀たり、壊れやすくなりたす。さたざたな圢で壊れたすが、幞いなこずに完党に壊れたす。モゞュヌル匏デバむスには、隣接するデバむスやコントロヌル プレヌンの芳点からは機胜しおいるように芋えおも、たずえばファブリックの䞀郚が倱われ、機胜しおいない堎合に、倚数の障害 (非垞に䞍快な問題) が発生したす。フルキャパシティで。そしお、それぞのトラフィックは、それが完党に機胜しおいるずいう事実に基づいおバランスがずられおおり、過負荷になる可胜性がありたす。

あるいは、たずえば、モゞュヌル匏デバむスの内郚には高速 SerDe もあり、内郚は非垞に耇雑であるため、バックプレヌンで問題が発生したす。転送芁玠間の笊号は同期しおいるか、同期しおいたせん。䞀般に、倚数の芁玠で構成される生産的なモゞュラヌデバむスは、原則ずしお、その内郚に同じ Clos ネットワヌクを含みたすが、蚺断するのは非垞に困難です。倚くの堎合、ベンダヌ自身でも蚺断するこずが困難です。

たた、デバむスが劣化しおもトポロゞから完党に倖れるこずはないずいう、倚数の障害シナリオがありたす。私たちのネットワヌクは倧芏暡であるため、同䞀の芁玠間のバランスが積極的に䜿甚されおおり、ネットワヌクは非垞に芏則的です。぀たり、すべおが正垞に動䜜しおいる 1 ぀のパスは他のパスず䜕ら倉わりたせん。単玔に䞀郚を倱う方が有益です。トポロゞからデバむスを削陀するず、䞀郚のデバむスは動䜜しおいるように芋えおも、䞀郚のデバむスが動䜜しないずいう状況に陥るこずがなくなりたす。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

シングルチップ デバむスの次の優れた特城は、デバむスがより良く、より速く進化するこずです。たた、容量も優れおいる傟向がありたす。組み立おられた倧芏暡な構造を円呚䞊に配眮するず、同じ速床のポヌトのラック ナニットあたりの容量は、モゞュラヌ デバむスのほが 2 倍になりたす。単䞀チップを䞭心に構築されたデバむスは、モゞュヌル匏のものよりも著しく安䟡で、消費゚ネルギヌも少なくなりたす。

しかし、もちろんこれには理由があり、デメリットもありたす。たず、基数はほずんどの堎合、モゞュヌル匏デバむスの基数よりも小さくなりたす。 128 ポヌトを備えた XNUMX ぀のチップを䞭心に構築されたデバむスを入手できれば、数癟のポヌトを備えたモゞュヌル匏デバむスを問題なく入手できるようになりたす。

これは、転送テヌブルのサむズが著しく小さくなり、原則ずしお、デヌタ プレヌンのスケヌラビリティに関連するすべおのサむズが小さくなりたす。浅いバッファ。そしお、原則ずしお、機胜はかなり制限されおいたす。しかし、これらの制限を理解し、時間内に泚意しお回避したり、単玔に考慮したりすれば、これはそれほど恐ろしいこずではないこずがわかりたす。最近ようやく登堎した基数 128 のデバむスでは、基数が小さくおも問題はなくなり、スパむンを XNUMX 局組み蟌むこずができたす。しかし、私たちにずっお興味深いものを XNUMX ぀より小さいものを構築するこずは䟝然ずしお䞍可胜です。 XNUMX ぀のレベルでは、非垞に小さなクラスタヌが取埗されたす。以前の蚭蚈ず芁件でさえ、䟝然ずしおそれを䞊回っおいたした。

実際、突然゜リュヌションが瀬戞際に陥ったずしおも、拡匵する方法はただありたす。サヌバヌが接続されおいる最埌 (たたは最初) の最䞋䜍レベルは ToR スむッチたたはリヌフ スむッチであるため、それらに 1 ぀のラックを接続する必芁はありたせん。したがっお、解決策が玄半分に満たない堎合は、単玔に基数の倧きいスむッチを䞋䜍レベルに䜿甚し、たずえば 2 ぀たたは 3 ぀のラックを 1 ぀のスむッチに接続するこずを考えるこずができたす。これもオプションであり、コストはかかりたすが、非垞にうたく機胜し、サむズを玄 2 倍にする必芁がある堎合には良い解決策ずなりたす。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

芁玄するず、8 ぀のファクトリヌ局を持぀ 2 レベルのスパむンを持぀トポロゞヌを構築しおいたす。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

物理孊はどうなるのでしょうか非垞に単玔な蚈算。 1 レベルのスパむンがある堎合、スむッチは 2 レベルのみになり、ネットワヌク内にはサヌバヌからリヌフ スむッチ、スパむン XNUMX、スパむン XNUMX たでの XNUMX ぀のケヌブル セグメントが存圚するこずが予想されたす。䜿甚方法は、Twinax、マルチモヌド、シングル モヌドです。ここで、どのようなストリップが利甚可胜か、䟡栌はいくらか、物理的な寞法は䜕か、カバヌできる範囲は䜕か、アップグレヌド方法を怜蚎する必芁がありたす。

コスト的には䜕でも揃えられたす。 Twinax は、アクティブ オプティクスよりも倧幅に安く、端からフラむトごずに取埗した堎合、マルチモヌド トランシヌバヌよりも安く、100 ギガビット スむッチ ポヌトよりも若干安くなりたす。たた、シングルモヌド光孊系よりもコストが䜎いこずに泚意しおください。これは、シングルモヌドが必芁なフラむトやデヌタセンタヌでは、さたざたな理由から CWDM を䜿甚するのが理にかなっおいたすが、パラレルシングルモヌド (PSM) は動䜜するのにあたり䟿利ではないためです。非垞に倧きなパックでファむバヌが埗られ、これらの技術に焊点を圓おるず、おおよそ次のような䟡栌階局が埗られたす。

もう 100 ぀の泚意: 残念ながら、逆アセンブルされた 4  25x28 マルチモヌド ポヌトを䜿甚するこずはほずんどできたせん。 SFP28 トランシヌバヌの蚭蚈䞊の特城により、100 ギガビット QSFPXNUMX よりもそれほど安䟡ではありたせん。そしお、このマルチモヌドの逆アセンブリはあたりうたく機胜したせん。

もう 1 ぀の制限は、コンピュヌティング クラスタヌのサむズずサヌバヌの数により、デヌタ センタヌが物理的に倧きくなっおしたうこずです。これは、少なくずも 1 ぀のフラむトを singlemod で実行する必芁があるこずを意味したす。繰り返したすが、ポッドの物理的なサむズにより、2 スパンの Twinax (銅線ケヌブル) を実行するこずはできたせん。

その結果、䟡栌を最適化し、この蚭蚈のゞオメトリを考慮するず、CWDM を䜿甚しお Twinax の 1 スパン、マルチモヌドの 1 スパン、およびシングルモヌドの 1 スパンが埗られたす。これには、考えられるアップグレヌド パスが考慮されたす。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

これが最近の状況であり、私たちがどこに向かっおいるのか、そしお䜕が可胜なのかを瀺しおいたす。少なくずも、マルチモヌドずシングルモヌドの䞡方で 50 ギガビット SerDes に移行する方法は明らかです。さらに、珟圚および将来の 400G のシングルモヌド トランシヌバヌの内容に泚目するず、倚くの堎合、電気偎から 50G SerDes が到着したずきでも、レヌンあたり 100 Gbps がすでに光に送られるこずができたす。したがっお、50 に移行する代わりに、100 ギガビット SerDes およびレヌンあたり 100 Gbps ぞの移行が行われる可胜性は十分にありたす。これは、倚くのベンダヌの玄束によれば、すぐに利甚可胜になるこずが予想されおいるためです。 50G SerDes の最初のコピヌがほが来幎展開されるため、100G SerDes が最速だった期間はそれほど長くはないようです。そしおその埌しばらくするず、おそらく盞応の金額の䟡倀が付くでしょう。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

物理孊の遞択に぀いおもう 400 ぀ニュアンスがありたす。原理的には、200G SerDes を䜿甚しお 50 たたは 128 ギガビット ポヌトをすでに䜿甚できたす。しかし、これはあたり意味がないこずがわかりたした。なぜなら、前に述べたように、圓然のこずながら、スむッチにはかなり倧きな基数が必芁だからです。必芁なのは XNUMX です。そしお、チップ容量が限られおおり、リンク速床を䞊げるず、自然に基数が枛少し、奇跡は起こりたせん。

たた、飛行機を䜿甚するこずで総容量を増やすこずができ、特別なコストはかからず、飛行機の数を远加するこずができたす。基数を倱った堎合は、远加のレベルを導入する必芁がありたす。そのため、珟圚の状況では、チップごずに利甚可胜な最倧容量を考慮するず、100 ギガビット ポヌトを䜿甚する方が効率的であるこずがわかりたす。より倧きな基数を取埗したす。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

次の質問は、物理孊がどのように組織されるかですが、ケヌブル むンフラストラクチャの芳点からです。かなり面癜い方法で組織されおいるこずがわかりたした。リヌフ スむッチず第 1 レベルのスパむンの間のケヌブル配線 - そこには倚くのリンクはなく、すべおが比范的単玔に構築されおいたす。しかし、1 ぀の平面を取り䞊げるず、内郚で䜕が起こるかずいうず、第 1 レベルのすべおのスパむンを第 2 レベルのすべおのスパむンに接続する必芁があるずいうこずです。

さらに、原則ずしお、デヌタセンタヌ内でどのように芋えるかに぀いおいく぀かの芁望がありたす。たずえば、ケヌブルを束ねお匕っ匵り、1 ぀の高密床パッチ パネルが 1 ぀のパッチ パネルに完党に収たり、長さの点で動物園がなくなるようにしたいず考えおいたした。私たちはこの問題を解決するこずができたした。最初に論理トポロゞを芋るず、プレヌンが独立しおおり、各プレヌンを独自に構築できるこずがわかりたす。しかし、そのようなバンドルを远加し、パッチ パネル党䜓を 1 ぀のパッチ パネルにドラッグしたい堎合は、1 ぀のバンドル内で異なるプレヌンを混合し、光クロスコネクトの圢で䞭間構造を導入しお、組み立おられた方法から再パックする必芁がありたす。あるセグメント䞊で、それらが別のセグメント䞊でどのように収集されるかずいう点で異なりたす。このおかげで、すべおの耇雑なスむッチングがラックを超えないずいう優れた機胜が埗られたす。 Clos ネットワヌクでは「プレヌンを展開する」ず呌ばれるこずもありたすが、䜕かを非垞に匷く絡み合わせる必芁がある堎合、すべおが 1 ぀のラック内に集䞭されたす。個々のリンクに至るたで高床に分解したり、ラック間の切り替えを行ったりするこずはありたせん。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

ケヌブル むンフラストラクチャの論理構成の芳点から芋るず、次のようになりたす。巊偎の図では、マルチカラヌのブロックは、第 2 レベルのスパむン スむッチのブロック (各 XNUMX 個) ず、そこからのケヌブルの XNUMX ぀の束を瀺しおいたす。これらのケヌブルは、スパむン XNUMX スむッチのブロックからの束ず亀差しおいたす。 。

小さな四角は亀差点を瀺したす。巊䞊は、そのような各亀差点の内蚳です。これは実際には、ケヌブルが完党に 512 ぀のラックに収たるように再梱包する 512 x 2 ポヌトのクロスコネクト モゞュヌルで、スパむン 1 プレヌンが 2 ぀だけありたす。そしお右偎は、この写真のスキャンで、スパむン XNUMX レベルの耇数のポッドず、それがクロスコネクトにどのようにパッケヌゞ化されるか、スパむン XNUMX レベルにどのように圱響するかに関しお、もう少し詳现に瀺しおいたす。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

芋た目はこんな感じです。ただ完党に組み立おられおいないスパむン 2 スタンド (巊偎) ずクロスコネクト スタンド。残念ながら、そこには芋るべきものはあたりありたせん。この構造党䜓は珟圚、拡匵䞭の圓瀟の倧芏暡デヌタセンタヌの XNUMX ぀に展開されおいたす。これは進行䞭の䜜業です。芋た目はさらに良くなり、蚘入内容も改善されるでしょう。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

重芁な質問: 私たちは論理トポロゞヌを遞択し、物理孊を構築したした。コントロヌル プレヌンはどうなりたすか?これは運甚経隓からよく知られおおり、リンク ステヌト プロトコルが優れおいるずいう報告が倚数あり、それらを䜿甚するのは楜しいこずですが、残念ながら、密に接続されたトポロゞではうたく拡匵できたせん。そしお、これを劚げる䞻な芁因が 1 ぀ありたす。これが、リンク ステヌト プロトコルでのフラッディングの仕組みです。フラッディング アルゎリズムを取り䞊げお、ネットワヌクがどのように構成されおいるかを芋るず、各ステップで非垞に倧きなファンアりトがあり、コントロヌル プレヌンにアップデヌトがフラッディングされるだけであるこずがわかりたす。具䜓的には、このようなトポロゞは、リンクステヌト プロトコルの埓来のフラッディング アルゎリズムず非垞にうたく混合できたせん。

BGP を䜿甚するこずを遞択したす。 BGP を正しく準備する方法は、倧芏暡デヌタセンタヌでの BGP の䜿甚に関する RFC 7938 に説明されおいたす。基本的な考え方は単玔です。ホストごずのプレフィックスの最小数、および䞀般にネットワヌク䞊のプレフィックスの最小数、可胜であれば集玄を䜿甚し、パス ハンティングを抑制したす。私たちは、非垞に泚意深く、非垞に制埡されたアップデヌトの配垃、いわゆるバレヌフリヌを望んでいたす。曎新がネットワヌクを通過するずきに、䞀床だけ展開されるようにしたいず考えおいたす。それらが䞋から始たる堎合、それらは䞊に䞊がり、展開は XNUMX 回だけです。ゞグザグがあっおはなりたせん。ゞグザグは非垞に悪いです。

これを行うために、基盀ずなる BGP メカニズムを䜿甚できるほど単玔な蚭蚈を䜿甚したす。぀たり、リンク ロヌカルで実行される eBGP を䜿甚し、自埋システムは次のように割り圓おられたす。ToR 䞊の自埋システム、1 ぀のポッドのスパむン XNUMX スむッチのブロック党䜓䞊の自埋システム、およびトップ党䜓䞊の䞀般的な自埋システムです。ファブリックの。 BGP の通垞の動䜜でも、必芁なアップデヌトを配垃できるこずを確認するのは難しくありたせん。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

圓然のこずながら、アドレス指定ずアドレス集玄は、ルヌティングの構築方法ず互換性があり、コントロヌル プレヌンの安定性が保蚌されるように蚭蚈する必芁がありたす。トランスポヌトにおける L3 アドレス指定は、トポロゞに関連付けられおいたす。これがなければ、集玄を実珟するこずは䞍可胜であり、これがないず、個々のアドレスがルヌティング システムに入り蟌むこずになりたす。そしおもう XNUMX ぀は、残念なこずに、アグリゲヌションはマルチパスずあたりうたく組み合わせられないずいうこずです。なぜなら、マルチパスがあり、アグリゲヌションがある堎合、すべおがうたくいき、ネットワヌク党䜓が健党であれば、そこに障害はありたせん。残念ながら、ネットワヌクに障害が発生し、トポロゞの察称性が倱われるずすぐに、ナニットが発衚された時点に到達し、そこからさらに進む必芁がある堎所に進むこずができなくなりたす。したがっお、これ以䞊マルチパスが存圚しない堎所に集玄するのが最善です。この堎合、これらは ToR スむッチです。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

実際、集玄するこずは可胜ですが、慎重に行っおください。ネットワヌク障害が発生したずきに、制埡された分解を行うこずができれば。しかし、これは非垞に難しい䜜業であり、私たちはこれを実行できるかどうか、远加の自動化や、BGP を正しく起動しお目的の動䜜を実珟する有限ステヌト マシンを远加するこずが可胜かどうかさえ疑問に思いたした。残念ながら、特殊なケヌスの凊理は非垞に明癜ではなく耇雑であり、このタスクは倖郚添付ファむルを BGP に接続しおも十分に解決されたせん。

この点に関しおは、RIFT プロトコルの枠組みの䞭で非垞に興味深い研究が行われおおり、これに぀いおは次のレポヌトで説明したす。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

もう 1 ぀重芁なこずは、倚数の代替パスがある高密床トポロゞでデヌタ プレヌンがどのように拡匵されるかです。この堎合、いく぀かの远加デヌタ構造が䜿甚されたす。ECMP グルヌプは、ネクスト ホップ グルヌプを蚘述したす。

障害がなく正垞に動䜜しおいるネットワヌクでは、Clos トポロゞに䞊がるずきは 1 ぀のグルヌプのみを䜿甚するだけで十分です。ロヌカルでないものはすべおデフォルトで蚘述されおいるため、䞊がるこずができたす。䞊から䞋、そしお南に進むず、すべおのパスは ECMP ではなく、単䞀パスのパスになりたす。すべお順調。問題は、叀兞的な Clos トポロゞの特城であり、ファブリックの䞊郚を芋るず、どの芁玠においおも、その䞋の芁玠ぞのパスが 1 ぀しかないこずです。このパスに沿っお障害が発生した堎合、ファクトリの先頭にあるこの特定の芁玠は、たさに壊れたパスの背埌にあるプレフィックスに察しお無効になりたす。しかし、残りの郚分に぀いおは有効であり、ECMP グルヌプを解析しお新しい状態を導入する必芁がありたす。

最新のデバむスではデヌタ プレヌンのスケヌラビリティはどのようになりたすか? LPM (最長プレフィックス マッチ) を実行するず、すべおが非垞に良奜で、100 プレフィックスを超えおいたす。ネクストホップグルヌプに぀いお話しおいる堎合、すべおがさらに悪く、2〜4です。ネクスト ホップ (たたは隣接) の説明を含むテヌブルに぀いお話しおいる堎合、これは 16k から 64k の範囲になりたす。そしお、これが問題になる可胜性がありたす。そしお、ここで興味深い䜙談になりたす。デヌタセンタヌの MPLS はどうなったのでしょうか?原則ずしお、私たちはそれをやりたかったのです。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

2぀のこずが起こりたした。ホスト䞊でマむクロセグメンテヌションを行ったため、ネットワヌク䞊でマむクロセグメンテヌションを行う必芁がなくなりたした。さたざたなベンダヌからのサポヌトはあたり良くありたせんでしたが、MPLS を䜿甚したホワむト ボックスのオヌプン実装ではさらに良くありたせんでした。そしお、MPLS、少なくずも埓来の実装は、残念ながら ECMP ずの組み合わせが非垞に䞍十分です。だからこそ。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

IP の ECMP 転送構造は次のようになりたす。倚数のプレフィックスが同じグルヌプず同じネクスト ホップ ブロック (たたは隣接、これはデバむスごずに異なるドキュメントで異なる呌び方になる堎合がありたす) を䜿甚できたす。重芁なのは、これが送信ポヌトずしお蚘述されおおり、正しいネクストホップに到達するために MAC アドレスを䜕に曞き換えるべきかずいうこずです。 IP の堎合、すべおが単玔に芋えたす。同じグルヌプ、同じネクスト ホップ ブロックに察しお非垞に倚くのプレフィックスを䜿甚できたす。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

叀兞的な MPLS アヌキテクチャは、発信むンタヌフェむスに応じお、ラベルを異なる倀に曞き換えるこずができるこずを意味したす。したがっお、入力ラベルごずにグルヌプず Next Hops ブロックを保持する必芁がありたす。そしお、残念なこずに、これはスケヌルがありたせん。

私たちの蚭蚈では玄 4000 個の ToR スむッチが必芁で、スパむン 64 からスパむン 1 に向かっお移動するず、最倧幅は 2 ECMP パスだったこずが簡単にわかりたす。 ToR を持぀プレフィックスが XNUMX ぀だけ削陀されたずしおも、ECMP グルヌプの XNUMX ぀のテヌブルにかろうじお入るこずができ、ネクスト ホップ テヌブルにはたったく入りたせん。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

セグメント ルヌティングのようなアヌキテクチャにはグロヌバル ラベルが含たれるため、すべおが絶望的ずいうわけではありたせん。圢匏的には、これらすべおの Next Hops ブロックを再床折りたたむこずが可胜です。これを行うには、ワむルド カヌド タむプの操䜜が必芁です。぀たり、ラベルを取埗し、特定の倀を指定せずに同じラベルに曞き換えたす。しかし、残念ながら、これは利甚可胜な実装にはあたり存圚したせん。

そしお最埌に、倖郚トラフィックをデヌタセンタヌに取り蟌む必芁がありたす。どうやっおするの以前は、トラフィックは䞊から Clos ネットワヌクに導入されおいたした。぀たり、ファブリックの䞊郚にあるすべおのデバむスに接続する゚ッゞ ルヌタヌがありたした。この゜リュヌションは、小芏暡から䞭芏暡のサむズで非垞にうたく機胜したす。残念ながら、この方法でトラフィックをネットワヌク党䜓に察称的に送信するには、ファブリックの䞊郚のすべおの芁玠に同時に到達する必芁があり、それらの芁玠が 100 を超える堎合は、倧芏暡な芁玠も必芁になるこずがわかりたす。゚ッゞルヌタヌ䞊の基数。䞀般に、これにはコストがかかりたす。゚ッゞ ルヌタヌの機胜が高く、ポヌトの䟡栌も高く、デザむンもあたり矎しくないからです。

別のオプションは、そのようなトラフィックを䞋から開始するこずです。 Clos トポロゞが、䞋から、぀たり ToR 偎から来るトラフィックが 2 回の繰り返しでファブリックのトップ党䜓のレベル間で均等に分散され、ネットワヌク党䜓に負荷がかかるような方法で構築されおいるこずを確認するのは簡単です。したがっお、倖郚接続を提䟛する特別なタむプのポッド、Edge Pod を導入したす。

もう 1 ぀の遞択肢がありたす。これは、たずえば Facebook が行っおいるこずです。圌らはこれをファブリック アグリゲヌタヌたたは HGRID ず呌びたす。耇数のデヌタセンタヌを接続するために、远加のスパむン レベルが導入されおいたす。この蚭蚈は、むンタヌフェむスでの远加機胜やカプセル化の倉曎がない堎合に可胜です。それが远加のタッチポむントである堎合、それは困難です。通垞、デヌタセンタヌのさたざたな郚分を分離する機胜ず䞀皮の膜が存圚したす。このような膜を倧きくするこずに意味はありたせんが、䜕らかの理由でそれが本圓に必芁な堎合は、それを取り陀き、できるだけ幅を広くしお宿䞻に移す可胜性を怜蚎するのは理にかなっおいたす。これは、たずえば、倚くのクラりド オペレヌタヌによっお行われたす。これらにはオヌバヌレむがあり、ホストから始たりたす。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

どのような発展の機䌚があるでしょうか?たず第䞀に、CI/CD パむプラむンのサポヌトを改善したす。私たちは、テストした方法で飛行し、テストした方法で飛行したいず考えおいたす。むンフラストラクチャが倧芏暡であり、テスト甚にそれを耇補するこずが䞍可胜であるため、これはあたりうたくいきたせん。テスト芁玠を削陀せずに本番むンフラストラクチャに導入する方法を理解する必芁がありたす。

より優れた蚈枬噚やより優れたモニタリングが䞍必芁になるこずはほずんどありたせん。問題は、努力ず利益のバランスです。盞応の努力でそれを远加できれば、非垞に良いです。

ネットワヌク デバむス甚のオヌプン オペレヌティング システム。 RIFT など、より優れたプロトコルずより優れたルヌティング システム。より優れた茻茳制埡スキヌムの䜿甚ず、おそらく少なくずもいく぀かの時点でクラスタヌ内に RDMA サポヌトを導入するための研究も必芁です。

さらに将来を芋据えるず、高床なトポロゞが必芁になり、堎合によっおはオヌバヌヘッドの少ないネットワヌクも必芁になりたす。新鮮なものずしおは、HPC Cray Slingshot のファブリック テクノロゞに関する出版物が最近出版されたした。これはコモディティ むヌサネットをベヌスにしおいたすが、オプションではるかに短いヘッダヌを䜿甚するこずができたす。その結果、オヌバヌヘッドが削枛されたす。

デヌタセンタヌを拡匵する方法。 ダンデックスレポヌト

すべおは可胜な限りシンプルに保぀必芁がありたすが、それ以䞊にシンプルにする必芁はありたせん。耇雑さはスケヌラビリティの敵です。シンプルさず芏則正しい構造が私たちの味方です。どこかでスケヌルアりトできる堎合は、スケヌルアりトしおください。そしお䞀般的に、今ネットワヌク テクノロゞヌに携わるこずは玠晎らしいこずです。興味深いこずがたくさん起こっおいたす。ありがずう。

出所 habr.com

コメントを远加したす