用途別に最適化された3種のサーバと3種のストレージ

Facebookは用途に応じてType I、II、VIというサーバを開発している。Type IはWebのフロントエンド用で、CPU性能(コア数とクロック)とメモリの速度が重要。Type IIは大量のファイルアクセスを必要とする用途で、大量のメモリでディスクをキャッシュして高速のアクセスを可能とする。このため、メモリの容量が重要。そしてType VIはアプリケーションを動かしてサービスを行う用途で、CPU性能とメモリ容量が重要で、Flashによるディスクのキャッシュが必要であるという。

Facebookの用途別のサーバの要件

そして、サーバのマザーボートは、デュアルソースとするためにIntel用とAMD用を開発している。

IntelのXeon用の2ソケットマザーボードの構成

AMDのOpteron用の2ソケットマザーボードの構成

サーバはデータセンターの主要コンポーネントであるが、もう1つの主要コンポーネントがストレージである。

FacebookではType III、IV、Vの3種のストレージが使われている

Type IIIはユーザのデータを管理するMySQLデータベース用のストレージ、Type IVはサイトのアクティビティーをログし、解析を行うためのHadoopのストレージ、そしてType Vは写真やビデオやe-mailのアタッチメントなどの大容量のファイルを格納するHaystackと呼ばれるストレージである。

Type IIIストレージはデータベースの高速のランダムアクセス性能をサポートするため、144GBという大量のDRAMにFusion IOの720GB Flashディスクを付け、高速のディスクを使っている。

Type IIIストレージノードの諸元

Type IIIノードではCPUは低電力の2.13GHzクロックのXeon L5630を使っているが、処理速度を要求されるType IVノードでは、2.66GHzクロックのX5650を使用している。一方、ディスクアクセスの高速性はType IIIノードほどは要求されないので、2TBの大容量HDDを使用し、Flashは付けていない。

Type IVストレージノードの諸元

Type Vノードは大容量のメディアファイルを格納するストレージであり、ファイルシステムのリビルドに掛る時間が大きな問題になってきているという。このため、2台のHDDが故障してもデータを復元できるRAID6構成を使っている。

Type Vストレージノードの諸元

現状では、これらの3種のストレージはOEM購入している2Uサイズに最大12台のHDDを収納する装置を利用している。このストレージには両用電源のような停電対策の仕組みが無いので、現状では外付けのUPSで停電対策を行っているが、次世代のデータセンターではサーバと同じ方式の電源に切り替える予定であるという。

大量のサーバやストレージノードが設置されているので、それぞれのサーバの稼働状態や故障の有無などを把握することが重要である。このため、サーバ管理が導入されている。

Facebookのサーバ管理

サーバの管理は、一般にはBMC(Board Management Controller)というマイクロコントローラで管理を行うサーバが多いが、FacebookではPCHチップセットに内蔵されている機能を使ってBMCを削減している。また、SOLやリモートパワーオン/オフや温度やファン速度の監視などの機能は持っているが、Facebookとして必要な機能だけに絞り込んでいる。

ということで、最終的に出来たサーバはトレイだけで箱や前面板のない構造で、ラックに30枚のサーバが収容されている。

Facebookのデータセンターのサーバラック

そして、この写真の両側に見える青い筐体はUPS用の48Vのバッテリで、左右3本ずつのサーバラックに48VDCを供給している。バッテリ筐体は56kWあるいは75kWの容量を持ち、フルロードのサーバに45秒間電力を供給することができる。

56/75kW出力のバッテリ筐体の諸元

このような工夫の積み重ねにより、通常のデータセンターと比較してPrinevilleデータセンターのエネルギー効率は38%向上し、データセンターのコストは24%安くなったという。

スマートフォンやタブレットなどの携帯デバイスの普及から、クラウドデータセンターの需要の伸びは続き、新たなサービスもどんどん出てくると思われる。新たに建設されるデータセンターがOpen Computeプロジェクトの成果を使ってエネルギー効率を高めることになれば、地球上のエネルギー消費を抑えることにも貢献する。このようなノウハウをオープンにして普及を推進するFacebookにエールを送りたい。