世界で最も効率の悪いデータセンターの作り方
PUEを4.0以上に引き上げる、究極に非効率なデータセンターの設計ガイドです。RAID 0の採用や、エアコンの隣にヒーターを置く熱対策、単一の巨大サーバー運用など、理論上の最悪な構成を解説します。電力消費を最大化して、エネルギー効率の極致を目指す実験的な内容です。
構築するもの
このサイトのすべてのガイドは、正しい手順、正しい結果、および失敗のパターンを教えます。しかし、このガイドは異なります。今日は仮定の話として、資金、電力、そして慢心によって生み出される、最も効率の悪いデータセンターを設計します。
指標として、業界標準のPUE (Power Usage Effectiveness) を使用します。これは、施設全体の消費電力を、コンピューティング機器に実際に届いた電力で割った値です。ハイパースケール・データセンターのPUEは約1.1であり、ほぼすべての電力が有効な作業に使われます。まともな企業向けサーバー室では1.5程度です。目標値は4.0以上です。これは、コンピューティングに1ワット使うごとに、他に3ワットが無駄に消費されることを意味します。この数値は、重要なガイドにおけるバックアップと同様に、頻繁に参照することになります。
立地選定:熱が重要である
実際のデータセンターにおいて、冷却は最大のオーバーヘッドです。そのため、このデータセンターでは熱力学に正面から挑みます。理想的な場所は屋根裏です。南向きであること。理想的には、サーバーに直射日光が当たるように天窓を設置します。これにより、マシンは自身の排熱と太陽光の両方を受け取ります。これは電気代と恒星の共同作業です。
冬の冷却は、窓を開けることで行います。実際のデータセンターでも外気を利用することがあり、これはfree coolingと呼ばれ、フィルタリングや湿度制御が行われます。本設計では、雨や花粉、そして四半期に一度は少なくとも1羽の迷い鳥が入り込む窓を通じて、偶然にこれを行います。
真の芸術性を追求するなら、エアコンを設置し、そのサーモスタットから2フィートの位置にヒーターを設置します。ヒーターの設定温度は、エアコンの目標温度より2度高くしてください。これにより、両方の機器が互いに矛盾した状態で、永遠に稼働し続けます。電力会社からクリスマスカードが届くでしょう。
1台のサーバー、巨大で、愛着のあるもの
冗長性はコミットメントを希薄にします。このデータセンターには、正確に1台のサーバーしか存在しません。それは巨大です。512 GBのRAMを持つ単一の機器は「インフラ」と感じられますが、4台の小型機器は「ToDoリスト」のように感じられるからです。
そのサーバーには名前があります。ホスト名ではなく、「名前」です。通常はGandalf、あるいはOdinです。Odinを停止(decommission)することはできません。Odinの稼働時間は5年に及びます。
$ uptime
09:14:02 up 1847 days, 3:22, 1 user, load average: 6.41, 6.38, 6.40この数値は誇りの対象です。そのため、スクリーンショットを撮って公開されます。また、そのスクリーンショットを見た攻撃者は、必ずしも感銘を受けるわけではありません。1,847日間の稼働(uptime)は、誰もパッチを当てていない1,847日間のカーネルの脆弱性を意味します。再起動は検討の余地もありません。再起動をすると、2021年に手動で起動され、systemd ユニットとして記述されなかったサービスが何であるかが判明してしまうからです。誰もそれらを覚えていません。そのサーバーは、組織図における構造的な支柱となっています。
ストレージ:速度、およびその他のデータ紛失方法
パフォーマンス向上のため、ディスクはRAID 0で構成されます。ゼロは、故障してもよいディスクの数を示します。効果を最大化するために、異なる出所のストレージにストライプ化してください。2枚のまともなSSD、1台の老朽化したHDD、そしてカンファレンスでもらったUSBメモリを使用します。アレイの信頼性は、設計通り、そのUSBメモリと全く同じになります。
バックアップは、同じアレイ上の backup_final_v2_REAL というディレクトリで行います。ここには、以前の命名規則のtarballが含まれています。オフサイトバックアップは、「オフサイトバックアップを設定する」と書かれた付箋によって表現されます。これは、ノートパソコンの蓋に貼って持ち帰れば、技術的にはオフサイトに保存されていることになります。
正しい結果とは、df が使用率97%を報告し、次のスプリントでそれに対処する計画がある状態です。
ネットワーク:あらゆるものの単一の接続
DNSサーバーはマシン自体で動作します。したがって、サーバーがダウンすると、なぜダウンしたかを確認するために使用するDNSレコードも失われます。これはコンソリデーション(集約)と呼ばれます。
ファイアウォールは2021年に無効化されました。デバッグのために一時的に、です。デバッグは終了しましたが、ファイアウォールは復帰しませんでした。ルーターのすべてのポートは、「後で時間を節約するため」にサーバーへ転送されています。また、リモート管理を便利にするため、ルーターの管理パネルは工場出荷時のパスワードでWAN側からアクセス可能です。あなただけでなく、他の誰にとってもです。
サーバーは最近、屋根裏の基準に照らしても異常に高温で、top によると最も負荷の高いプロセスは xmrig です。これは使用している監視ツールであると想定します。これはインストールしたものではありません。ポート転送の直後に勝手に現れました。これはエコシステムが繁栄している兆候とみなします。24時間体制で監視を続けます。
電力は、ブレーカーパネルまでの歩行距離を超える長さの、消費者向け電源タップの連鎖を通じて供給されます。これは、ブレーカーパネルを頻繁に訪問することになるため、ある意味では効率的です。
複雑さによる冗長性
重要な箇所での冗長性を拒否した代わりに、重要でない箇所に冗長性を追加します。会社のホームページ(単一の静的HTMLファイル)は、12ノードのKubernetesクラスターによって配信されます。これは、エンジニアが「履歴書駆動型アーキテクチャ」と呼ぶものを実現しています。ページはnginxが配信する場合と同じ40ミリ秒でロードされますが、コンサルタントを必要とするような方法で失敗する可能性があります。
分離(isolation)のために、クラスター自体は 仮想マシンの中の仮想マシンの中の仮想マシン 内で動作しています。各レイヤーは、タードゥック(turducken)の各層が鳥を追加するように、セキュリティを追加します。コンタクトフォームは9つのマイクロサービスで構成されています。そのうち2つは一度も呼び出されていません。そのうちの1つは構造的な支柱ですが、どれであるかは誰も知りません。
サービスとしての加熱
現代のサーバーは、電気を計算と熱に変換します。我々は後者の出力を最大化するつもりです。CPUで大規模言語モデルを実行する ことは、野心的なオペレーターのステップアップです。これは、APIを持つ700億パラメータのヒーターであり、季節ごとに測定するのが最適な速度でトークンを生成します。GPUのないメディアサーバー は古典的な手法です。1つの4KストリームをCPUでトランスコードするだけで、16個のコアがフル稼働し、小さな寝室を暖めることができます。これは、映画を再生するスペースヒーターです。
モニターは自身を監視する
オブザーバビリティ(観測可能性)は重要です。そのため、セルフホストされた稼働監視ツール を、監視対象である同じサーバー上にデプロイします。Odinが死ぬと、モニターも共に死にます。ここがエレガントな点です。アラートは一切飛びません。アラートがないことは、インシデントがないことを意味します。インシデントがないことは、測定上の稼働率が完璧であることを意味します。月次レポートはかつてないほど素晴らしいものになります。
補足として、アラートメールはOdin上で動作するメールサーバーを経由して転送されます。したがって、アラートパイプラインは完全に自己完結しています。それは、自分の尾を飲み込む蛇が完全に満たされている状態と同じです。
不都合な真実
ここからが、私が先延ばしにしてきたセクションです。これらはすべてフィクションではありません。愛着のある代替不可能なサーバー、同じボリューム上のRAID 0とバックアップ、一時的に無効化されたファイアウォール、1つのページを配信するためのKubernetesクラスター、自身を監視するモニター。私はこれらすべてを本番環境で見てきました。そのいくつかは、今年見たものです。1つか2つは、私のキャリアの初期に自分で構築しました。
実際の効率性は退屈なものです。だからこそ、その場では議論に負け、10年かけて勝利するのです。それは、誰かが設計してくれたために、あなたが考える必要のないPUEです。所有者の自己イメージではなく、ワークロードに合わせてサイズ決定されたマシンです。爆発する前に考慮された爆発半径(blast radius)です。スケジュールに従い、カレンダーの通知を利用し、英雄的行為を必要とせずにリストアテストされたバックアップです。退屈な冗長性です。私が呼び出されたあらゆる障害において、安価なものが2つあることは、壮大なものが1つあることに常に勝ります。
そして、運用できる最も効率的なデータセンターとは、運用しないデータセンターです。VPSは、電力、冷却、冗長性、および午前3時のハードウェア障害を、それらを大規模かつ退屈にこなす人々へと委ねます。これはインフラが獲得できる最高の賛辞であり、あなたには本当に楽しい部分、つまり その上で独自のサービスを動かすこと を残してくれます。それは、失ってもよいマシン上で行うべき、唯一の実験対象です。
FAQ
実際にこれを行うべきですか?
いいえ。このガイドのすべてのセクションは、週末を犠牲にする、文書化されたアンチパターンです。現在のセットアップが2つ以上のセクションに似ている場合は、このFAQの最後の質問に飛んでください。順番通りに進めてください。その順番がトリアージ(優先順位付け)だからです。
実際のところ、良いPUEとは何ですか?
ハイパースケール・データセンターは約1.1で動作し、適切に管理された企業向けサーバー室は1.4から1.6です。スペースヒーターとの争いがある冷却なしのクローゼットは、実際に3を超える可能性があります。家庭で1.1に対抗することは実質的に不可能であり、それが、実行可能な業者からコンピューティングをレンタルする静かな経済的理由です。
サーバーで建物を暖めることは、実際にありますか?
はい、適切に行われれば、です。いくつかの国の地域熱供給プロジェクトでは、熱交換器を通じてデータセンターの排熱を回収し、設計、エンジニアリング、および契約に基づき、家庭にパイプで送っています。上記の風刺は、サーバーの熱が部屋を暖められることではなく、偶然にそれを行い、その偶然を戦略と呼ぶことについてです。
私のサーバーはすでにこのようになっています。まず何をすべきですか?
今夜中に、サーバー以外の場所にバックアップを取り、その後リストアテストを行ってください。テストされていないバックアップは、単なる噂に過ぎません。次に、パッチ適用と、回避し続けている再起動を、計画された時間枠内で行ってください。そうすれば、監視している間に何が壊れるかを学べます。第三に、単一障害点を分離してください。DNSとモニタリングをマシンから移動させてください。それ以外のことは、もっと落ち着いた週まで待てますが、その3つは待てません。