Discourseのサーバー群

Jeff Atwood
Apr 15, 2013 • 4 min read

新しいデータセンターに移転した際、ラック内にどのようなハードウェアがあるかについて詳しく説明しませんでした。しかし、今回はそれをご紹介します。

現在ここには13台のサーバーがあり、それぞれ「タイ・ファイター」という番号が付けられています。これは、2012年を通じて秘密にされていたプロジェクトの社内コードネームに由来しています。

タイ・ファイター 1

これは非常にハイスペックなサーバーで、大型で高価な多コアサーバー1台に多くの仮想化を集約するという考えのもと、最初に購入しました。

  • Intel Xeon E5-2680 2.7 GHz / 3.5 GHz 8コアターボ
  • 128 GB DDR3 1333MHz ECC Reg (8 × 16GB)
  • 8 × Samsung 850 Pro 1TB SSD
  • LSI 3Ware 9750 8i SAS RAIDコントローラー

スペック:

  • 8 × 2.5インチ ホットスワップドライブベイ
  • デュアルギガビットイーサネット(両方をピアとして接続)
  • 統合IPMI 2.0イーサネット
  • 330W ゴールド効率電源ユニット
  • SuperMicro X9SRE-3F マザーボード
  • SuperMicro 1017R-MTF ケース

このサーバーは自作ではなく、PogoLinuxからIris 1168という製品名で購入しました。2016年初頭にHDDをSSDに換装しました。

タイ・ファイター 2〜10

Rubyは……効果的に仮想化するのが少々難しいことが判明したため、大型サーバー戦略を断念し、ベアメタルで動作する、より安価で小型かつ高速なサーバーを多数用意する方針に切り替えました。そのためのサーバーが以下です:

  • Intel Xeon E3-1280 V2 Ivy Bridge 3.6 GHz / 4.0 GHz クアッドコアターボ
  • 32 GB DDR3 1600MHz ECC Reg (4 × 8 GB)
  • 2 × Samsung 512 GB SSD(ソフトウェアミラー構成:2〜5号機は830、6〜11号機は840 Pro)

スペック:

  • 4 × 2.5インチ ホットスワップドライブベイ
  • デュアルギガビットイーサネット(両方をピアとして接続)
  • 統合IPMI 2.0イーサネット
  • 330W ゴールド効率電源ユニット
  • SuperMicro X9SCM-F-O マザーボード
  • SuperMicro CSE-111TQ-563CB ケース

これらは私が自作したもので、Building Servers for Fun and Prof… OK, Maybe Just for Funという記事にその内容を記録しています。難しい作業ではありませんが、投資した時間に対して十分な見返りを得るために、複数台のサーバーにわたって組み立て作業のコストを分散させることをお勧めします。

タイ・ボマー

「大型サーバー」への唯一の妥協として、これはNetApp FAS2240Aストレージデバイスです。以下の構成になっています:

  • 高速クロスオーバーリア接続を備えた、完全に冗長化された2台のデバイス
  • デバイスごとにデュアル電源ユニット
  • デバイスごとに5つのイーサネット接続(管理用1、データ用4)
  • デバイスごとに12台の7.2K RPM 2TBドライブ

これは極めて高い冗長性を持ち、ホスティングしているサイトのすべての重要な顧客ファイルを管理しています。

冗長性はどうなっていますか?

タイ1〜11によって優れたライブ冗長性を確保しており、タイ3や4が停止しても外部からは気づかれることすらないでしょう。サーバーで最もよく障害が発生する箇所はハードドライブと電源ユニットですので、万が一に備えて、以下の「コールドスペア」部品もラック下部の棚に保管しています:

  • 2 × X306A-R5 2TBドライブ(タイ・ボマー用)
  • 4 × Samsung 512 GB SSD スペア
  • 2 × Samsung 1 TB SSD スペア
  • 2 × SuperMicro 330W スペアPSU(タイ1〜11用)

ルーティングサーバーはほぼ固定機能のデバイスに近いため、仕様が異なっていても問題ありません。ただし、もし最初からやり直せるとしたら、タイ1に費やした費用を、タイ2〜11と同様のサーバーをさらに3台購入するために使いたいと思います。そのほうがパフォーマンスが向上し、サーバー間の一貫性が高まることで管理も簡略化されるでしょう。

ネットワーク

ケーブルは色分けされています:

█ IPMI VPN、█ プライベートローカルサーバー間ネットワーク、█ インターネット受信、█ スイッチクロスコネクト、█ キャビネットクロスコネクト、█ NetAppファイルストレージデバイス

  • 主なネットワーキング機能は、ラックマウント型のCisco Catalyst 2960X 48ポートスイッチが担っています。
  • スタック構成された2台目のCatalyst 2960Xが稼働しており、接続を受け付ける準備が整っています。(追加の冗長性確保のため、各サーバーのボンディング接続の半分をもう一方のスイッチに徐々に移行しています)
  • 各サーバーへのIPMIルーティング専用にNetGear ProSafe 24ポートスイッチも設置しています。

各サーバーのIPMI KVM-over-Internet専用イーサネット管理ポートへのアクセスには、安価でソリッドステートなLinux OpenVPNアクセスボックスとしてタイ・シャトルを4台使用しています。IPMI 2.0は本当に機能します!

でも……ウェブスケールに対応できますか?

ローンチ時のピーク負荷の間、サーバーはほとんど余裕の状態でした。現時点では馬鹿げたほど過剰にプロビジョニングされており、本当に馬鹿げたほどです。しかし、ハードウェアは安価で、プログラマーは高価なので、それで問題ありません。パートナー企業や将来的に提供を予定しているホスティングサービスに向けて、スケールアップする余地は十分にあります。さらにタイ・ファイターを追加する必要が生じた場合でも、フルラック内にはまだ大量のスペースがあり、15アンペアの十分な電力も利用可能です。これらのサーバーはほぼすべてIvy Bridge CPUを搭載しており、非常に効率的です。ラック全体で通常の日常業務において使用する電力は6〜10アンペア程度です。

ソフトウェアについては、まだ正確な構成の詳細を詰めているところですが、今後のブログ記事でも必ずご紹介します。全サーバーがUbuntu Server 14.04 LTS x64を実行しており、非常に快適に動作しています!

原文はこちら:


Good Loopでは、Discourseのセルフホスティングを安価で提供しています。開発元であるCDCK社の協力のもと、公式ブログ記事の翻訳・公開など、日本での普及にも努めています。

詳しくはこちら: Discourseの導入・運用支援・コンサルティング – Good Loop