Wedge100:これまで以上にオープンで汎用性の高い-Facebook Engineering

Facebookのデータセンターの構築に重点を置いています。 私たちのスタックを分解することにより、より良い技術が利用可能になるとすぐにハードウェアやソフトウェアを交換することができます。 このアプローチにより、コンピューティング、ストレージ、およびネットワーキングの各レイヤーでパフォーマンスが大幅に向上しました。

データセンターへの要求が高まる中、データをより効率的に、より高速に処理する方法を継続的に追求しています。 当社の戦略は100Gデータセンターを構築することであり、第2世代のトップオブラックネットワークスイッチであるWedge100は、その目標を達成するための重要なコンポーネントの1つです。

本日、Wedge100仕様がOCPに受け入れられたことを発表しました。 業界はすでにその周りに堅牢なソフトウェアエコシステムを構築しており、このコミュニティへの追加が革新のペースを加速し、他の人がデータセンターに100Gをもたらすことを可能にすることを願っています。

このブログ記事では、現在のハードウェアとソフトウェアのエコシステムの概要を説明し、本番環境でWedge100を使用した経験のいくつかを共有します。

FacebookでのWedge100

Facebookでは、本番環境でWedge100を使用しており、データセンター全体で大規模に展開し続けています。facebookでは、wedge100を使用しています。

Facebookでは、wedge100を使用しています。

Wedge100の作成は複雑な作業でしたが、Wedge40の作成と展開から学んだことにより、ハードウェアとソフトウェアを自信を持って反復することができました。 私たちは同じハードウェアコンポーネントの多くを再利用し、Wedge40で感じた痛みのポイントに対処するために重要な変更を加えました。 Wedge100では、Wedge40と同じFBOSSソフトウェアも実行していますが、100G ASICチップと光学系を備えた新しいプラットフォームをサポートするように拡張しました。

ハードウェアアップデート

WEDGE100は、コンパクトなフォームファクタ(95mm x95mm)のCOM-Expressタイプ6モジュールをマイクロサーバーとして構築しました。 くさび100はまた高度のCpuが特別な適用に要求されれば適用範囲が広い設計を可能にするCOM明白なモジュールの形式要素(95mm x125mm)を支える。

保守性は、Facebookの私たちにとって重要な焦点です。 私達に配置されるたくさんのくさびスイッチおよび少数のデータセンターの技術者だけがある、私達が用具なしでスイッチをすぐにそして楽に整備し、修理できる必要があることを意味する。 私達はくさび100が付いているスイッチの修理可能に主要な改善をした。 トップ-カバーは用具なしで今取除くことができ私達のデータセンタの技術者に内部を転換する容易なアクセスを提供する。 ホットプラグ対応のファントレイは、クリップを押すと、親指ネジを取り外すことで取り外すことができます。 さらに、データセンターの技術者は、各ファントレイの横にあるステータスLEDを使用して、ファントレイの状態を簡単に表示できます。 これらの組み合わせは、必要に応じて非常に迅速なデバッグとフィールド交換を可能にします。

フェイスブックのデータセンターのウェッジ100のアップリンクには、標準の70℃の市販温度範囲とは対照的に、55℃の低いケース温度制限を備えた光学系を使用しています。facebookのデータセンターでは、

のアップリンクには、標準の70℃の市販温度範囲とは対照的に、光学系を使用しています。 私達は1つのより多くのファンの皿の付加、PSUと主要な配電盤間の空気道を分ける空気バッフル、および気流を最大にするフロント-パネルの入り口の

ウェッジ100シャーシは、業界標準の19インチラック用に設計されているため、ネットワークコミュニティで簡単に採用できます。 しかし、当社のデータセンターではオープンラックを使用しており、ラックの背面にある12Vバスバーを介して高効率のチタン定格オープンラックV2電源ユニットを使用してウェッジ100に電力を供給したいと考えています。 そこで、このようなラックにウェッジ100を取り付けるのに役立つ21インチオープンラックアダプタトレイを設計しました。 私達はまた12V母線をくさび100の主要な配電盤の12V入力に接続するモジュールを通るPSUのパスを設計しました。 それは標準的なAC/DC PSUと同じ形式要素にあり、12Vホットスワップコントローラを含んでいます。

ウェッジ100のデザインスペックはこちらからご覧いただけます。

Wedge100オープンラックV2アダプタ

ソフトウェアアップデート

Wedge100用のソフトウェアスタックは、Wedge40用のスタックとほぼ同じです。 同じFBOSSスイッチングデーモンとルーティングデーモンを実行し、同じツールセットを使用して本番環境のスイッチを管理します。 新しいプラットフォームをサポートするために必要な作業は常にありますが、FBOSSの指針の一つは、環境に必要な最小限の機能セットを構築することです。 これにより、ゼロから始めたり、並列コードベースを管理したりするのではなく、コードをリーンに保ち、新しい環境やプラットフォームに簡単に適応させるこ サポートするプロトコルのセット(NDP、DHCP、ARP、LLDP、ECMP、ICMP)と、動作する必要がある機能(warm boot)を取得することは、本番環境でWedge40を実行した経験があるため、Wedge100での作業 これにより、Wedge100プロジェクトで実行されている地面を打ち、FBOSSソフトウェアスタックを強化する機会として使用することができました。

私たちはほぼ二年間、生産でウェッジ40を管理していたし、インフラストラクチャが整っていたので、私たちはほとんどすぐに生産環境でWedge100のテス 生産トラフィックにサービスを提供するスイッチを実行すると、私たちが行う必要がある変更のための最良の信号が得られます。 結局のところ、私たちの最大の課題は、ネットワーク内でWedge40とWedge100を並行して構成、プロビジョニング、管理することでした。 Facebookでは、fbossチームは、パケット転送を実行するソフトウェアと、スイッチを操作的に管理するために使用する一連のツールの両方を作成します。 このため、我々は肯定的なフィードバックループを持っていたし、最終的には、生産で学んだ教訓は、ソフトウェア、さらにはハードウェアの決定に情報を このようにして、実際に必要な機能に焦点を当て、生産トラフィックを非常に迅速に転送するWedge100スイッチを取得することができました。

Wedge100を構築する際に直面したもう一つの課題は、ソフトウェアプラットフォームをより柔軟にすることでした。 Wedge40を展開したとき、サポートする必要がある構成のセットがかなり制約されており、簡単にサポートできるという事実から恩恵を受けました。 ウェッジ100では、これはそうではありませんでした。 私たちは、ウェッジ100を持っていた私たちのネットワーク内の任意の場所にウェッジ40をドロップした 下り速度とケーブルの種類は異なります。 アップリンクの速度は、古いクラスターと新しいクラスターの間で異なる場合があります。 光パワーマージンがはるかに小さく、リンクの確立とパフォーマンスの最適化に多くの課題を提示する可能性があり、40Gよりもはるかに慎重な構成が必 これらの新しい環境をサポートするには、物理層から監視スタックまでの変更が必要でした。 パワークラス、CDR、rate-select、FEC、pre-emphasisなどを動的に変更して、さまざまな速度で動作するCWDM4光学系を動作させるために、SFF仕様のサポートを拡大しました。 また、これらのすべての可能性をサポートできるように、多くの構成とプロビジョニングワークフローを再設計しました。

最後に、私たち自身のソフトウェアスタックを所有することで、Facebookのためにバグを修正したり、これらのデバイスに機能を追加したり たとえば、100G光学系が高い動作温度を達成することを確認したため、ボード管理コントローラOpenBMCのファン制御ロジックを変更して、これらのモジュールが存在する場合に優れた熱プロファイルを達成しました。 他の回では、マイクロサーバー上でカーネルパニックに遭遇しました。 私たちは独自のカーネルリリースを管理するエンジニアリングチームを持っているので、彼らの専門知識を活用して問題をデバッ また、スタック全体を所有することで、データセンター運用チームから得られたフィードバックに基づいて、これらのスイッチのフロントパネルLedの意味を変

FBOSSコードはすべてオープンソースであり、GitHubで利用可能です。 私たちは昨年、ソフトウェアをオープンソース化し、それ以来、継続的なリリースサイクルに移行し、内部差分を自動的にGitHubにプッシュしています。 私たちが取り組んでいることについての詳細を知りたい場合は、コードをチェックしてください。

ハードウェアおよびソフトウェアエコシステム

Wedge100スイッチは、Edgecore Networksおよび世界中のチャネルパートナーから商用製品として利用可能になりました。 EdgecoreのWedge100-32Xは、Wedge100OCP仕様に完全に準拠しており、Edgecoreの親会社であるAccton Technologyによって製造されており、当社のネットワーク展開用のWedge100も製造しています。 Wedge100-32Xハードウェアスイッチには、診断、OpenBMCファームウェア、およびOpen Network Install Environment universal NOS loaderが同梱されています。

トランシーバベンダーからも、プラットフォーム上でモジュールを修飾する強い関心が見られました。 この要求に応じるためには、私達はニューハンプシャー大学相互運用性の実験室(UNH-IOL)と提携している従ってあらゆるモジュールは設備で専門的にテストす UNH-IOLは、ネットワーキング業界に中立的で広範なテストおよび標準準拠サービスを提供するリーダーであり続けています。

ソフトウェア側では、複数の企業がWedge100プラットフォームの上にソリューションを構築しています。 オペレーティングシステム層では、大きなスイッチネットワークとCanonicalがあり、スタックの上部にはSnapRoute、FRINX、Apstraがあります。

  • Big Switch Networksは、元のWedge40、およびwedge100をサポートする最初のオープンソースのネットワークオペレーティングシステムであるOpen Network Linux(ONL)を引き続き駆動しています; FacebookのFBOSSは、ウェッジ40とすぐにウェッジ100のONLの上に今も利用可能です。 ONLはOpen Computeプロジェクトの一部であり、30以上の異なるOCPおよび非OCP open networkingスイッチをサポートしています。 彼らはまた、商用製品Big Monitoring FabricとBig Cloud Fabricの基礎として内部的にONLを使用しています。
  • Canonicalは、クラウドおよびIoTデバイス用の新しいオペレーティングシステムであるUbuntu CoreをWedge100プラットフォームに導入します。 Ubuntu Coreは、fbossやSnapRouteなどのさまざまなネットワークスタックをスナップとして実行し、openstack、Hadoop、Kubernetesなどの大きなソフトウェアのベアメタルプロビジョニングを、最上位のラックスイッチからデータセンターのコンピューティングレイヤー上で可能にすることができます。
  • SnapRouteは、Wedge100プラットフォームの上にFlexSwitchソフトウェアの可用性を発表しました。 FlexSwitchは、複数のハードウェアプラットフォーム間で実行できるオープンソースのL2/L3ネットワーキングスタックです。 これは、完全にカスタマイズ可能でプログラマブルな制御平面を提供し、ライフサイクルの自動化とネットワーク分析を行うための包括的なフレームワークを提供することにより、ネットワーク運用の経済性を変更することを目的としています。 これは、従来のone size fits allアプローチとは対照的に、ネットワークが必要とする機能のセットのみを実行するという考えを促進し、完全なモジュール性の概念を中心に構築されています。
  • FRINXは、オープンソースのSDNプラットフォームであるOpenDaylightをWedge100に統合することに焦点を当てています。 彼らは、完全にオープンソースのコンポーネントに基づいて、データセンターの展開のためのサポートされているすぐに使えるソリューションの作成に向けて
  • Apstraは、ユーザーの意図を継続的に検証されたインフラストラクチャに変換できるベンダーに依存しない分散オペレーティングシステムであるApstra Operating System(AOS)との上位層で動作している。 彼らは、2017年初頭に利用可能なONLとSnaprouteだけでなく、他のネットワークオペレーティングシステムに基づいてスタックを管理できるソリューションに取り組

私たちは、オープンネットワーキングハードウェアスペースでこのような完全で多様な技術セットを持っていることに興奮しており、私たちはWedge100で他の企業 来年初めには、Wedge100上に構築されたものを含むOCPコミュニティからのこれらのネットワーキングソフトウェアとハードウェアソリューションを展示する予定です。 お楽しみに!

このプロジェクトに貢献したすべてのチームと人々に感謝します。

You might also like

コメントを残す

メールアドレスが公開されることはありません。