Microsoft、SONiC OSがスイッチの信頼性を向上させるとの調査結果を発表

マイクロソフトは、同社が実施した膨大なネットワークデータの分析の結果に基づき、オープンソースのSONiC OSが、各社独自のソフトウェアを実行した場合に比べ、ネットワークスイッチの故障頻度を低減できたと報告しています。

マイクロソフトが、Azureデータセンターに導入されている18万台のスイッチを3カ月間にわたって追跡調査した結果、3カ月以内に故障した割合はわずか2%ではあったが、メーカーOSをマイクロソフトとOpen Compute Project(OCP)が共同開発したOSであるSONiCに置き換えた場合、この数値は半分になったとのことです。また、ソフトウェアよりもハードウェアの方が故障の原因となることがわかり、あるメーカーのスイッチは競合メーカーの2倍の故障率であったことが判明したとしています。ただし、メーカー名については公表されていません。

ソニックなスイッチのアップグレード

マイクロソフトの研究者らは、3ヵ月の間、Azureデータセンターのネットワークスイッチが再起動するたびにデータを集めました。著名はエンジニアであるVPのDavid Maltz氏が率いるチームは、130か所に設置された180,000台のスイッチのデータを取得し、このデータを選別して故障を計画的なメンテナンスイベントから分離した後、さまざまな原因を分析し、異なるハードウェアとソフトウェアの組み合わせによる故障率について確認を行いました。

その結果、3ヵ月間に1台のスイッチが故障する確率は2%で、そのうち32%が再起動の原因となるハードウェアが最も一般的な問題であると結論づけられました。また、計画外の電源喪失が28%、ソフトウェアが原因の17%になっています。障害は、ネットワーク上のすべてのスイッチを6時間ごとにポーリングし、直近の再起動を確認することで発見されました。

この論文では、ハードウェア故障とソフトウェア障害を区別するのは必ずしも容易ではないことを認めています。「ハードウェアとソフトウェアの障害は両方とも、障害が発生したスイッチのプロセス・クラッシュ・ログやスタック・トレースの形で現れるため、実際には両者を区別することは困難である。さらに、障害ログで原因がハードウェア障害であることが明らかであっても、実際のエラーの原因は曖昧な場合がある。例えば、スイッチで発生するパリティエラーは、ハードウェアの故障やビット反転などが原因である可能性があるが、これはスイッチのソフトウェア側で軽減することができる。そのため、エラーがハードウェアに起因するのか、ソフトウェアに起因するのかははっきりしない」

そこで調査チームは、プログラム的なアプローチをとりました。「メーカーが障害に対してソフトウェアの修正プログラムを提供した場合、我々はその障害をソフトウェア側の問題として分類した」

今回の研究結果では、Microsoft/OCPのネットワーク・オペレーティング・システム「SONiC」を使用することで、ソフトウェア障害を減らすことができるという発表でした。SONiCが搭載されていた約4分の3のスイッチでは、3ヶ月間の生存率は1%向上し、故障率はほぼ半減したという。「時間の経過とともに信頼性の差は広がり、3か月後には、SONiCスイッチの生存率は非SONiCスイッチよりも1%高くなった」

SONiCのパフォーマンスの理由は、社内のソフトウェア開発者による、応答性の高いオープンソースソフトウェアモデルにあります。「SONiCの耐障害性は、ソフトウェアを自社開発することで実現した、迅速な開発・テスト・導入サイクルによるものだと考えている」と報告書はこのように述べています。「実際,メーカーによるソフトウェアのアップデートやパッチの適用は,数か月という長い時間をかけて行われる。そのため、メーカーから提供された修正パッチがまだ適用されていない機器では、既知の問題が再び発生することになる。これに対して、SONiCの不具合は、社内の専門家と開発チームにより、根本的な原因から短期間で修正される」

The Next PlatformのTimothy Pricket-Morgan氏は次のようにコメントしています。「これこそがオープンソースソフトウェアのメリットである。あなたの問題は公に修復されます。これは厳しいことかもしれないが、バグは公共のものであり、問題を隠して密かに作業したいという願望ではなく、賢明な自己利益が働くため、メーカーによる修正よりもはるかに早く修正することができるというわけです」

最も脆弱だったのは?

Azureのデータセットには、主要メーカー3社のスイッチが含まれていますが、そのうちの1社は他の2社よりも大幅に故障しやすいことが判明したと報告されています。いずれの故障率も低く、またマイクロソフトはデータを匿名化しており、どのメーカーのスイッチの信頼性が低かったのか?については分かりません。

報告書では、「メーカー2」は最も信頼性の高いメーカーであった「メーカー3」の2倍の「ハザード比」であったとしています。実際には、3カ月後に「ベンダー2」のスイッチの3%が故障したのに対し、「メーカー3」のスイッチは1.5%しか故障しなかったということです。また、メーカー2の故障の大半は計画外の停電によるものであり、一方メーカー3のスイッチはハードウェア障害が多かったとしています。

どのメーカーがこの調査に参加していたのか、我々にはわかりません。Cisco、Arista、Huawei、HPE、Juniperなどは、市場全体で見ても有力なスイッチメーカーです。マイクロソフトのようなハイパースケールクラウドベンダーは、ホワイトラベル(=OEM)スイッチを公にサポートしていますが、MellanoxとArista Networksは、過去にマイクロソフトを顧客として挙げていました。

しかし、今回の調査では、Azureデータセンターに設置されているスイッチの大半が、メーカー1と呼ばれるメーカー1社のものであったことが分かっています。「今回の調査期間中、クラウドデータセンター内のアグリゲーションスイッチの約75%は、ベンダー1の既存ハードウェア上でSONiCを走らせていた」

SONiCオペレーティング・システムは、Arista、Cisco Nvidia/Mellanox、Dell、Juniper、Nokiaなど、複数のハードウェア・プラットフォーム上で動作します。マイクロソフトは、SONiCが動作するSwitch Abstraction Interface (SAI)の開発を含むAristaとの長期にわたるパートナーシップを結んでおり、Aristaは関係するメーカーの1社として有利な立場にあると言えます。

マイクロソフトは2015年に、SONiCとSAIの両方をOCPに提供しました。

Data Center Dynamics

原文はこちら

関連記事一覧

  • コメント ( 0 )

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。