ITにおけるマーフィーの法則

少し前まで、データセンター間の完全に冗長な接続が100%のサービス可用性を保証できない理由を理解していない開発者と話す機会がありました。



クライアントには、それぞれに2つのコアルーターがあり、異なるオペレーターからの2つのチャネルがあるサイト間のL3通信があります。 それにも関わらず、重要なアプリケーションのコンポーネントを異なる場所に配布することは不可能であることを開発者に伝えます。 すごいですね

さて、完全に冗長な設計では何が問題になるのでしょうか?



使用する各コンポーネントには、ゼロ以外の障害確率があります。 その結果、複数のコンポーネントが同時に故障する可能性もあります。 しかし、各コンポーネントの信頼性が十分であれば(たとえば、可用性は99.9%)、同時障害の可能性は非常に低いでしょうか? 間違った。 相互に接続されたノードは同時に落ちる傾向があります。



明らかな例:カーネルルーターソフトウェアがキラーパッケージに対して脆弱な場合(たとえば、デバイスがクラッシュして再起動する場合)、隣接するルーターはおそらく同じパッケージを次に受信します。



ケースがありました。Ciscoルーターでバグが発見されました。これは、非常に長いASパスを処理するときに現れます。 その後、多くの人が最初に「bgp maxas-limit」コマンドの重要性を理解しました。 犯人はMikrotikルーターでした。 構成の構文はIOSルーターの構文と非常によく似ています。ASパス自体を入力する必要がありますが、ローカルASを繰り返す必要がある回数です。 ルータは入力されたデータの正確性をチェックしなかったため、ローカルASの下位8ビットの番号が取得されました。 誰かにとって、この数はかなり高かった。



それほど明白ではない例。 ほとんどの人が同じサービスウィンドウ内で作業を実行します。 プロバイダーは、2番目のチャネルをサポートするルーターを更新するとすぐに、通信チャネルの1つで予防作業を開始できます(はい、私はこれを持っていました、彼らは私たちがすべてを予約していると思ったので、これについて警告するのを忘れていました)。



開発者はまだ私を信じていなかったので、私は彼に別の話をしました。



しばらく前に、予防のためにデータセンターが数時間外部電源から切断されることが通知されました。 問題ありません-ディーゼル発電機セットがあり、容量の大きいUPSがあります。 しかし、電源を切ったとき、ディーゼルエンジンは始動せず、夜中に修理する人はいませんでした。 幸いなことに、すべてのシステムを正しく停止するのに十分な時間はありましたが、1時間後、三重の冗長性にもかかわらず、データセンターは停止しました。



これに対して、開発者は「今はわかりました」と答えました。 その後、データセンターとサービスの真の耐災害性を確保するために必要なものについて合意することはすでに容易でした。



コメントからの他の例。

フォールトトレランスに関する別のストーリーを次に示します。 1つの大きなサイトのすべての外部チャネルは、1つの建物に集中していました。 完全予約が提供されました。 2つの内部ルーター、2つの外部、2つのVPN、DGUからの冗長電源。 DS3チャネルはそれぞれ独自の外部ルーターで終端され、別々のメディアコンバーターを使用し、異なる方向から建物を出ました。



光学機器は建物内を回り、最終的にプロバイダーのサイトに収束しました。 そこで彼女は2つのメディアコンバーターで動けなくなり、DS3に戻りました。 両方のメディアコンバーターは棚の上にあり、通常の家庭用サージプロテクターに引っかかっており、単一のコンセントに差し込まれていました。


ジェネレーターを使用した別のストーリー。 あるデータセンターでは、入力がオフになり、ディーゼルが始動しました。 しかし、誰かがその上に木の板の山を残し、1時間後にディーゼルが点火しました。


ディーゼルについての詳細は、12〜13年前です。 私は英国の大手プロバイダー(BTではない)で働いていましたが、ある暑い日(そうです、そうです)私たちの大規模なデータセンターで仕事をしました。 私は早く到着し、巨大なコンテナの配達を見つけました。 私はそれが何であるかと尋ねると、彼らはそれが少し余分なエネルギーを与える発電機であると私に言った-冷却システムは限界まで働き、十分な電力がなかった。 私は「クール」だと思って仕事を始めました。



朝遅く、火災警報器が鳴り、データセンター全体の電源が切れ、非常灯のみが作動しました。 私は外に出て、何が起こっているのかを理解しました:新しい発電機は中央換気システムの空気取り入れ口の近くに設置され、ディーゼルが始動すると、換気に吸い込まれた煙の巨大な雲を吐き出し、それが建物内の煙センサーに置き換えられました



翌日私がそこに着いたとき、巨大な煙突がディーゼル排気口に設置され、データセンターの建物から遠く離れた場所に煙を流しました。



そのサイトには多くの耐障害性がありましたが、最終的には何も助けませんでした...


EDUでは、すべてが予約されていました。 しかし、1つは修正できませんでした。 機械室は美術部のトイレ直下にありました。 一般的に、自然にたわごとが殺到すると。 アルコールを含む綿棒で保管機器を拭くために、Sun Microsystemsから戦闘機の出発を命令することが可能であることをご存知ですか?


私の市の大学の1つで、メインデータセンターは、中央の建物の地下にあります。 彼らはちょうど隣の建物の建設を完了し、給水システムをチェックする必要がありました。 テスト期間中、彼らはケースの外の排水口を開けましたが、夜にそれを閉じるのを忘れました。 最終的には、すべての水が地下の入り口に流れました。 地下室全体に30センチメートルの水があふれました。


クライアントがサーバーハードウェアの一部を別の建物に移動しようとすると、スペースを解放し、フォールトトレランスを少し追加します。 通信は、1つのPKOからの2つのOC-3で確立されましたが、2つの独立したルートで行われました。 私たちは移動のための詳細な計画を立て、あらゆる小さなものが提供され、時が来たらH-私は港をdr死させ、機器はオフになり、それらは別の建物に移され始めました。 エンジニアは光学系を引き出す準備ができており、プロバイダーは現在使用されていないチャネルを切断するために緑色の光を与えられました。 限り...誰かが昔々どこかで、回路がちょうど運用されていたとき、チャネル識別子を混同していました。 そのため、データセンターの半分は場所から場所への輸送の過程にあり、後半は唯一の外部通信チャネルをカットしていました。 あまり良くない。


数年前(2005年から2007年の地域)、クイーンズランド州とオーストラリアの他の地域(そして当時は全世界)を結ぶ主要な高速道路の1つが故障しました。 イベントのシーケンスを正しく覚えていれば、これが事実でした。



高速道路は、海岸沿いと本土を通る2つの異なる方法で行きました。 午前3時ごろ、沿岸の光学機器を終端するラインカードが誤って流れ始め、その後完全に落下しました。 問題ありません-すべてのトラフィックは本土を経由していました。 エンジニアは、ボードを交換するために午前9時に到着するように命じられました...しかし、午前6時頃、掘削機は大陸を横断する光学系を切断しました。


約10年前(鉄の開発者が賢明だったので)私はRAID5アレイを失いました。 10枚のディスクに。 それはすべて、ディスク番号「3」が飛び出したという事実から始まりました。 エンジニアはアレイに行き、ディスク3を取り出します-アレイは落下します。 コントロールインターフェースはディスクに0から9までの番号を付け、フロントパネルのマーキングは1から10までに番号を付けたため、エンジニアは作業ディスクを取り出しました。


あらゆる種類の冗長性、UPS(バッテリーとディーゼル)およびその他すべてを備えた大規模な物流センター。 ある日、電源全体がオフになります。 バッテリーは負荷を引き継ぎ、ディーゼルが始動し、オフィスは働き続けます。



電源が復旧しました。 四半期はすべてのライトで照らされ、オフィスの電源が切れます。

マーフィーの法律によると、ディーゼルエンジンは正しく停止されましたが、電源をディーゼルエンジンから都市入力に切り替えるリレーのみが機能しませんでした...


私が働いていたデータセンターには、都市の電源とUPSブッシングがありました。 UPSは、6時間の稼働を期待して取りました。 事故が発生した場合、仮想サーバーを別のサイトに移行することになっていた。 最善の解決策ではありませんが、うまくいくようです。

データセンターが外部電源を本当に失い、エアコンがUPSに接続されていないことがわかりました。 マッシュホールはすぐに過熱し、30分後にすべてのシステムがオフになり始めました。


第三世界の国の一つで、別の事件が発生しました。 建物の電源を切ったとき、ディーゼルエンジンは始動しませんでした。 彼らはディーゼル燃料を漏らしたことが判明した。


私たちは大規模なデータセンターの顧客であり、すべてが予約されています-バッテリー電源、ディーゼルエンジン、異なる経路を備えた複製光学系-牧歌。 エンジンルームが拡張され、勇敢な男たちは以前に機器を埃からフェンスで囲んでいたいくつかの壁を壊しました。 その後、これらの2人の道化師は、ホールの床を掃除するという素晴らしいアイデアを思いつきました。 残念ながら、彼らは古き良き時代のように、水の入ったバケツとぼろを選びました。 もちろん、そのうちの1人が誤ってバケツをひっくり返しました。




コメントには、クラスの「冗長性に反する」事故について書いてください。



All Articles