私たちのブログでは、 1cloudクラウドサービスの構築について多くのことを書いています(たとえば、サーバーのディスク領域管理機能をオンザフライで実装することについて)。
imgix写真サービスのデータセンターについては既に説明し、AlgoliaプロジェクトのSSDの問題の検索の歴史について説明しました。今日はStack Exchangeデータセンターのアップグレードについて説明します。
/ 写真デニス・ヴァン・ズイレコム CC
Stack Exchange Networkは、幅広い専門分野にわたるQ&A関連のWebサイトのネットワークです。 最初のネットワークサイトは2008年に開設され、2012年には既に90のセクションと200万のユーザーにネットワークが拡大しました。 ソーシャル機能の中で、質問と回答の投票が利用可能であり、Wikiモードでコンテンツの編集が可能です。 最も人気のあるサイトの1つは、技術のトピック、開発およびプログラミングの問題を扱うStack Overflowです。
会社の基本的なインフラストラクチャはニューヨークとニュージャージーにあり、経験を交換する一般的なアプローチのため、会社はエンジニアがデータセンターを近代化してニューヨークから移転した方法について話すことにしました。
機器をアップグレードする決定は、デンバー本社で行われました。 その会議で、最適なハードウェアライフサイクルが決定されました(約4年)。 この数値は、最初のキットの操作経験に基づいており、4年の操作のマークを超えました。 もちろん、引きつけられた投資も決定を下すのに役立ちました。
計画の準備には3日かかりました。 更新の開始は降雪の警告と一致しましたが、チームは作業を続けることにしました。 アップグレードを開始する前に、エンジニアは、ターゲットジョブ広告で占有されているRedisサーバーに関する重要なタスクを解決しました。 これらのマシンは当初Cassandraによって駆動され、後にElasticsearchによって駆動されました。
これらのシステムでは、Samsung 840 Proハードドライブが注文されましたが、ファームウェアに重大なバグがありました。 このバグのため、複製された10ギガビットネットワーク上のサーバーからサーバーへのコピーは12 MB /秒の速度で実行されますが、ファームウェアの更新が決定されました。 プロセスが開始されたとき、他の作業と並行して、バックグラウンドで実行されていました(SSDが使用されている場合でも、ボード上のデータでRAID10アレイを再構築するには数十分かかるため)。 その結果、ファイルのコピー速度を100〜200 MB / sに上げることができました。
サーバーラックCでは、10GBASE-Tインターフェイス(RJ45コネクタ)を使用して、SFP + 10 Gbit接続を1 Gbitの外部チャネル幅に置き換えることが計画されていました。 これはいくつかの理由で行われました。SFP +に使用されるケーブルはツインアクシャルと呼ばれます。ルーティングが非常に難しく、Dellサーバーのドーターカードに直接接続するのは簡単ではありません。 また、 SFP + FEXは、後で表示される可能性のある10GBASE-Tデバイスの接続を許可しません(そうでないのはこのラックにありますが、ロードバランサーなどの他のデバイスにある可能性があります)。
計画では、4Uの空きスペースを節約しながら、ネットワーク構成を簡素化し、ケーブルの数と一般的な要素の数を削減することでした。 作業中、一時的に移動されたKVMの機能を維持する必要がありました。 次に、SFP + FEXを下げて、新しい10GBASE-T FEXを代わりに設置しました。 FEXテクノロジーの動作原理により、各スイッチに1〜8個のアップリンクポートを割り当てることができます。 アップグレード中、接続図は次のように変わります:8/0-> 4/4-> 0/8。
古い仮想サーバーを2台のDell PowerEdge FX2シャーシ(それぞれ2台のFC630ブレードサーバー)に置き換えることが決定されました。 ブレードサーバーには、2つの18コアIntel E5-2698v3プロセッサーと768 GBのRAMがあります。 各ハードウェアユニットには、80 Gb / sの伝送速度のアップリンクポートと、4つのデュアルチャネル10ギガビットI / Oモジュールがあります。 I / Oアグリゲーターは、本質的に、4つの外部ポートと8つの内部ポートが10 Gb / s(ブレードサーバーごとに2つ)の完全なスイッチです。
新しいブレードサーバーがオンラインになると、すべての仮想マシンがこれら2つのホストに移行し、古いサーバーを解体してスペースを解放できました。 その後、最後の2つのブレードサーバーが起動しました。 その結果、非常に大きな電力、より大きなメモリ(512 GBから3078 GBに増加したボリューム)、およびアップグレードされたネットワークコンポーネント(すべてのネットワークと通信するための20ギガバイトトランクポートを備えた新しいブレードサーバー)のプロセッサーが処分されました。
次に、新しいEqualLogic PS6210ストレージユニットは、古いPS6200を900 GBの24個の10k HDDとSFP +トランシーバーに置き換えました。 新しいバージョンは10GBASE-T規格をサポートし、1.2 TBの24個の10k HDDを搭載しています。つまり、より高速に動作し、大きなディスク容量があり、ストレージシステムとの接続/切断が可能です。 新しいストレージとともに、新しいNY-LOGSQL01サーバーがインストールされ、廃止されたDell R510が置き換えられました。 仮想マシンホストから解放されたスペースにより、新しいファイルサーバーとサポートサーバーをインストールできました。
気象条件が悪化したため、公共交通機関は歩行を停止し、嵐は電力を削減することさえできました。 チームは、スケジュールを早めるために、可能な限り作業を続けることにしました。 QTSから来た人たちが救助に来て、マネージャーを引き離し、少なくとも一晩滞在する場所を見つけられるようにしました。
すべての仮想マシンが動作し、ストレージが構成され、いくつかのワイヤが引き裂かれたとき、クロックは火曜日の午前9時30分を示していました。 2日目はWebサーバーの組み立てから始まりました。R620をアップグレードし、4つのギガビットドーターカードを2つの10ギガビットと2つのギガビットドーターカードに交換します。
この段階では、古いストレージシステムとSQL R510の古いネットワークストレージのみが接続されたままでしたが、バックアップサーバーに3番目のPCIeカードをインストールする際にいくつかの問題がありました。 それはすべてテープドライブに行き着きましたが、テープドライブには別のSASコントローラが必要でしたが、これは単に忘れられていました。
新しい計画には、既存の10ギガビットネットワークドーターカード(NDC)の使用、PCIe SFP +アダプターの取り外し、新しい12ギガビットSASコントローラーとの交換が含まれていました。 このため、取り付けブラケットを金属片から個別に交換する必要がありました(カードはブラケットなしで提供されます)。 次に、ラックCの最後の2台のSFP +ユニットをバックアップサーバー(新しいDAS MD1400を含む)と交換することが決定されました。
ラックCに取って代わった最後の要素は、新しいGitlabおよびTeamCityサーバーであるNY-GIT02でした。 これに続いて、ケーブル管理の長いプロセスが行われ、ほとんどすべての(および以前に接続された機器に関連して)対処する必要がありました。 2台のWebサーバーで作業を完了し、ケーブルを敷設し、ネットワーク機器を取り外した後、午前8時30分に時計が表示されました。
3日目に、チームは午後5時頃にデータセンターに戻りました。 Redisサーバーと「サービスサーバー」(タグエンジンを実装するためのサーバー、ElasticSearchインデックスサーバーなど)を置き換えるために残りました。 タグエンジン用のボックスの1つは、よく知られているR620でしたが、これは少し前に10 Gbにアップグレードされたため、現在は触れられていません。
アレイを再構築するプロセスは次のとおりです。Windows2012 R2イメージから展開し、更新プログラムとDSCをインストールしてから、スクリプトを使用して特殊なソフトウェアをインストールしました。 StackServer(システム管理者の観点から)は単なるウィンドウサービスであり、TeamCityビルドがインストールを制御します-これには特別なフラグがあります。 これらのボックスには、内部サービス用のIISの小さなインスタンスもあります。これは単純なアドオンです。 最後のタスクは、DFSストレージへのアクセスを整理することです。
2つのIntel E5640プロセッサと48 GBのRAM(時間の経過とともに更新)を備えた古いDell R610 Webサーバーソリューションは、2つのIntel 2678W v3プロセッサと64 GBのDDR4メモリを備えた新しいものに置き換えられました。
4日目はラックDで作業を始めました。ケーブルのスリーブ(欠落している部分)を追加し、ほとんどのワイヤを慎重に交換するのに時間がかかりました。 ケーブルが正しいポートに差し込まれていることを理解する方法は? もう一方の端がどこに行くのか、どうやってわかりますか? タグ。 多くの、多くのマーク。 それには多くの時間がかかりましたが、将来彼を救うでしょう。
フォトレポート全体
Twitterで#SnowOpsをストリーミング
この規模の機器のアップグレードは問題なく通過しません。 2010年の状況と同様に、データベースサーバーが更新され、パフォーマンスの向上が期待したものではなかった場合、BIOSバージョン1.0.4 / 1.1.4のシステムでバグが検出されました(パフォーマンス設定は単に考慮されません)。
その他の問題には、DSC構成スクリプトの実行、IISからのベアサーバーの起動、R610 RAIDアレイからR630へのディスクの移動(PXEを介してブート要求が表示される)などの問題が含まれます。 さらに、Dell MD1400 DASアレイ(第13世代および12Gb / s)は、たとえばR620バックアップサーバーなどの第12世代サーバーへの接続をサポートせず、Dellハードウェア診断は電源に影響を与えないことが判明しました。 ちなみに、いくつかの重要な要素がねじれている場合、Webサーバーを逆さまにするのはかなり問題があるという仮説が確認されました。
その結果、チームはページ処理時間を約30〜35ミリ秒から10〜15ミリ秒に短縮することができましたが、それによると、これは氷山の一角にすぎません。
PS仮想インフラストラクチャ1cloudを提供するサービスに取り組んだ経験だけでなく、Habréのブログで西洋の専門家の経験も試しています。 更新、友人を購読することを忘れないでください!