Help us understand the problem. What is going on with this article?

自分で、でっかいベアメタル(物理)サーバーを作りたい方へ

はじめに

Link-UでCTOをしています、山田です。
ちょっと変わってるんですが、Link-Uでは技術開発部長とCTOが別の人間になっています。
山田が主に外部への技術の売り込みや、技術開発の方針などを担当し、
このAdvent Calendarの初日を書いている土屋が内部の統括をしています。

まあ、そんな社内の事情はさておいておきまして、
Link-Uの特徴でもある、でっかいベアメタルなサーバーについてお話しましょう。

皆様、サーバーはAWSでしょうか?

皆さんAWSのようですね、ありがとうございます。

そんな皆様がどこかで心変わりをして、自分で高性能なサーバーを安価に作ってやろうやないか!

という気持ちになった時に、エンタープライズなサーバーを自作する参考
になれば良いと思って書いておきます。

需要はひょっとすると、日本にはもう既にないかもしれません。

あるいは、我流なので、もっと詳しい方がいるかも知れません。

まあ、毎日3桁万人の方が利用するマンガワンのサーバーもそうやって作ったので、
それなりに信憑性はあるのではないでしょうか?

ボチボチ書き始めます(レベル的にはPCの自作ユーザーぐらいを対象に書きます)

作例

作例 CPU メモリ NVMe SSD(NAND) NVMe Optane
マンガワン Xeon Gold 6244(8コア)×4 768GB 8TB×3+1TB×1 1.5TB×2
仮想化基盤 EPYC 7702P(64コア)×1 2TB 16TB×10 + 2TB + 1TB -
とあるマンガサービス EPYC 7742(64コア)×2 1TB 8TB×3+1TB×2 1.5TB×1

マンガワンのサーバー

実は過去にプレスリリースの下の方にしれっとスペックを書いたことがあります。

ベアメタルなサーバー大好きクラスタとかの人が話題にしてくれないかなーと思っていたのですが、
私が観測可能な反響は無でした。

もうこの記事の需要の無さが推測されるようではありますが、意図を解説しましょう。

Xeon Gold 6244というCPUはコア数が少なく、クロックが高く、
最近Apple M1で話題のシングルスレッドの能力が高いモデルです。

マンガワンのサーバーではCPUを4つ搭載することで、コア数の少なさをゴリ押しで解決しており、
会社のフラッグシッププロダクトらしい予算の潤沢さが伺いしれます。

また、マンガアプリなのでSSDは搭載量が多いのですが、Optaneの1.5TBを2本搭載しており、
1本を/tmpやアクセスログ、DBのトランザクション一時ファイルの置き場所に、
もう1本をマンガのサムネやページデータなどの画像置き場に利用しています。
マンガの画像を1msでも早く届けたいという熱い思いがOptane SSDに現れています。

仮想化基盤

専用のサーバーを用意するほどの規模ではないプロダクト群を収容するサーバーです。

最近の弊社のプロダクトの傾向として、CPUは余りがち、メモリはあればあるだけ嬉しい、
ついでにいうとラックの電源容量が厳しい、という傾向があり、
それを反映してCPUは1個、メモリが2TBとかなりメモリに寄せた構成になっています。

CPUのEPYC 7702Pはシングルソケットにしか対応しない代わりに、
価格が2ソケット対応のEPYC 7702に比べると割安になっています。

またSSDも1サービスに付き16TBのSSDを1本割り当てる、シンプルな構成になっています。

とあるマンガサービス

こちらは打って変わって、とにかくCPUのマルチスレッド性能を最大化したサーバーです。
CPUのEPYC 7742は当時は、というかEPYC 7003シリーズが出ていない今も、
マルチスレッドは最強のCPUであり、それを2個搭載しています。

htopも夢が広がります。
1.PNG

このように、自分でサーバーを作れば、上で動かしたいものの特徴に合わせて、
自由自在にスペックを決めることができます。

買い方

もう皆様、サーバーを作りたくてしょうがなくなってきたと思うのですが、
こういうパーツはさすがの秋葉原でも在庫していません。

完成品、ベアボーンで買いたい場合

いきなり趣旨から外れている気がするのですが、
パーツを指定してBTOみたいな感じで購入することもできます。

国内であればGigabyteやSupermicroが購入しやすいでしょうか。

Gigabyteの方が安いのですが、安定性ではSupermicroだなと思うことがあります。
このあたりの選択も予算とご相談ですね。

弊社はNTTPCからベアボーンのような形で購入して、
オフィスでSSDやネットワークカードなどを組み込んで利用しているサーバーが最近は多いです。
GigabyteもSupermicroもNTTPC経由で購入できます。
両社のHPに乗っている機種はオーダーストップになっていない限りは発注可能です。
CPUなどもEOL(End of Life)になってない限りは全種類選択可能です。
そういう意味では普通のBTOよりはかなり選択肢があります。

勿論完全な完成品として購入することも可能ですが、
メーカー側でバリデーションが取れているパーツ以外はオーダーできないので、やや選択肢がせばまります。
バリデーションが取れていなくても自作PCと一緒で大体動きますが、
たまにサーバーが起動できなくなっちゃうお茶目なSSDもあったりします。
(中がRAIDになってるようなやつで、普通のは大丈夫です)

パーツから買う場合

弊社だと海外のWiredzoneからパーツ等を買うことがあります。
サーバーのベアボーンを購入する場合は電源ケーブルは付属のものを利用せず、
PSEマークが付いているものを別途購入して使ってください。

WiredzoneはSupermicro製品なら大体何でも揃ってる米国のショップです。
最安値というわけではないのですが、この手の製品で購入実績が公表されることはレアでしょうから、
参考にしてください。

また、大体の値段感を掴んだり、

「あのシャーシとこのシャーシの価格差はこのくらいか」

みたいなことを知るのに便利です。

メモリやSSDはある程度の量、もっと具体的に言うと大きいサーバー3台作るぐらい、の規模があれば、
サムスンの代理店のトーメンデバイスから購入することが可能になるので、
Wiredzoneの英語に悪戦苦闘したり、国際送金を依頼して管理部に嫌な顔をされずに済みます。

FAQ

普通にメーカーから完成品を買うのと比較したときのメリットは?

低価格品は正直、量産が効いているメーカー品と比較して価格メリットはないです。
が、メモリがTB単位とかSSDが数十TBとか誰もオーダーしないようなものは価格メリットがかなりあります。
というより、そんな変なモデルはカタログにないことも多いです。

またメーカー製サーバーはコスト管理が行き届いており、
マザーボードに液体電解コンデンサーとかが使われていたりして、
自作er的には「この値段で液コンかー」という気持ちになります。
メーカー製サーバーでも保証の延長とかできるんで多分壊れないんだと思いますが。

後、メーカー製サーバーは電源ユニットの容量が限られていることが多く、
拡張余地が少なかったりします。

なぜでかいサーバーを買うのか?

これはプログラミングをする人しかわからないと思うのですが、

「サーバーの台数を増やせばリニアに処理能力が増える」分散システムは簡単には作れない!

のです。

Link-Uはメーカーのカタログにも存在しないような超高パフォーマンスなサーバーを買うことで、
できるだけ1台で捌き、分散非対応システムを作ることでプログラムを単純化し、
おまけとして、サーバー間の通信を減らすことで、高速化もしています。

マンガワンなどもAPIリクエストで月間2桁億APIアクセス、CDNを使ってないので画像配信もありますが、
1台のサーバーで捌いています。(サーバーは冗長化の都合上3台あります)

パーツ選定時に気をつけることは?

ネットワークはIntelイチオシ、まあ自作PCでもそうですが。
別にMellanoxでもいいんですけど、入手性と安定性を考えるとIntelかなーという気がします。
この規模のサーバーになればネットワークも10Gbpsあったほうが良いと思います。
Link-Uの最近のサーバーはIntelの10GbpsのSFP+です。

SSDはエンタープライズのNVMeがいいです。
Gaming SSDとかも使ったことがありますが、壊れます。SATA SSDはもっと論外に壊れます。
さすがに、24時間365日ガリガリする用途向きではないのでしょう。
逆にエンタープライズ向けのSSDはほとんど壊れません。

後Gaming SSDとかは瞬間性能で書いてありますが、
エンタープライズのSSDは持続性能で書いてあることが多いので、
一瞬「Gamingの方が高性能?」と思うことがありますが、そんなことはありません。

また、Gamingはサーマルスロットリング食らってギャフンということもあります。

設置時に気をつけることは?

このクラスのサーバーはさすがに空調があるところで、ラックに入れると思いますが、
意外と細い電源ケーブルとLANケーブルにすると空気の通りが良くなって、
サーバーの排熱がうまくいくようになります。

サーバーの排熱がうまくいくと、FANの回転数を落として静か&低消費電力にしたり、
ターボブーストで性能を引き上げることもできます。

勿論、ラックのブレーカーをふっとばさないようにしましょう!

EPYCで困ったことある?

全部第2世代EPYCのサーバーで、シングル、KVM、LXDと3種類9台導入事例がありますが、
特に困ってないですよ。

Full HDのディスプレィだとhtopが画面に収まりきらないことぐらいでしょうか(笑)

link-u
サーバープラットフォーム事業 現在はマンガサービスをメインに開発・運営をしております。
https://www.link-u.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away