160台のMac mini 祭りなサーバーラック

Gigazineとかで既に話題になっていたので知っている人も多いかと思いますが、Mac mini 160台をラッキングした人がいます。どういう風に160台をラッキングしたか?可用性をどうするか?等は参考になる部分も多いかと思います。

Xserveが無くなってからどうやって高密度なラックをデータセンターに作るか?というもとにMac miniをデータセンターに設置しようと言うところから始まった様です。
このMac miniラックを作ったSteveさんはその出来上がりまでをご自身のブログSteve’s Blogで軌跡を書いています。簡単ではありますが、160台のMac miniラックが出来るまでを自分への忘備録、参考も含めて要約(正直かなり雑ですし自信ありませんが)してみました。
以下、要約です。

AppleはMac miniを新しいサーバとしたが、これに対しては以下の疑問が残る。

1. Mac miniはサーバーグレードの製品ではない
2. 電源が冗長化されていない
3. IPMI(ハードウェアリモート管理が出来ない)がない

が、それらはオプションにすぎず、必要なのはMacの力である。

何台のMac miniをラッキング出来るのか?40台のXserve、320コアを使っていた。同じようにしたいと思っていたが、Mac miniが悪いことではないと思い始めた。というのも、Xserveは1Uに1台だが、Mac miniであれば同じ1Uでも複数台をおけることが出来るからだ。また、Xserveは多くの電力を必要とするが、Mac miniはそれに比べると少ない。Mac miniの方がXserveほど熱くはならないがラックに何台おけるのか?が疑問になった。

そこでラッキングするにあたりまずはテストをしたいと思った。最初にラックのソリューションを探してみた。1Uに2台おけるシャシーや5Uに8台おけるシャシーはあったが、それでは少ないと感じていた。そこでH-Squared(http://www.h-sq.com)に相談したところ熱の問題は残るが4台のMac miniを置けるシャシーを5式テストすることが出来る機会を得た。

Appple Storeではメモリ16GB構成は出来なかったため、標準の4GBで購入し後からKingstonのメモリを追加して16GBにした。
最終的なMac miniの構成だが
Mac Mini Server Core i7 Quad Core Processor
16GB RAM
256GB SSD (Solid State Drive)
となっている。

早速テストしてみたらCPUが210度、マシンが150度になった。(おそらくアメリカなので華氏210°F-摂氏98.9℃、150°F-65.6℃と思われる)この結果、160台のMac miniが出来ると確信。

48ポートのスイッチが4台、PDU(電源ユニット)が9台、NetBootサーバとなる1台のXserveが必要だった。45Uのラックがあったので、40U分Mac mini用のシャシーを設置することが出来る(残りの4Uはスイッチ、1UはXserve)。過去に見たY時の電源ケーブルを思い出して、Mac miniにもこういう電源ケーブルが無いものかと思った。それこそMac miniは40wしか使わないため、安全面も考慮して1つで4台に供給出来る電源ケーブルを設計した。

もう一つ問題があった、自分のオフィスから45分離れたところにこのデータセンターはあった。そこで二つのリモート管理ツールを探した。一つはIPMI、そしてもう一つはPDUへの管理ツールである。
IPMIに関するツールは無かったためあきらめるしか無かった。
Mac miniは停電時、自動で再起動することは可能である。ただし、ハングアップした時再起動する術は無い。そこで強制的に電源を切っていれることが出来れば起動することが出来るはず。そこで”Phidget“というサーボコントローラとカスタムコードを用いることでMac miniの電源をコントロールすることが出来た。16台のMac miniを用いてテストして問題なく動くことが確認出来た。が、最終的にはそれらは外すことにした。なぜならシンプルにしておきたかったためである。もし、あまりにも電源の問題に悩まされたらそのときにサーボソリューションを実装しようと思った。

すべてのMac miniにラベルを貼って、ラックに実装してみた。最大の問題はケーブルのマネージメントで1台あたり2本のケーブルが必要なのだ(それだけ、ケーブル地獄になるということでしょう。なんせ160台ですから320本のケーブル(LANと電源)が必要になるので)。

Mac miniは小スペースデスクトップ機として設計されているため、廃熱をどうするかがもう一つの問題だった。Mac miniはこのラックを作る上で2つのデザイン上の問題があった。1つはファンが小さく、パワーが弱いこと。2つめはケースそのものがアルミのヒートシンクを兼ねていたこと。もしファンが熱を排気出来ず、同じ様な状態のMac miniに埋もれていたら…空気の流れを作ってラック内やマシン表面の熱を流す必要があった。そこでファンを色々考えてみたが、220v電源に対応して大量の風を起こせるものが無いため、自分で作るしか無かった。その結果車のラジエーターからファン(羽)を持ってきた。220V AC電源(交流)から12V DC電源(直流)40Aに対応した変圧器と40Aのモーター制御器を見つけた。それを組み合わせたところ、低速で多くの空気を流しかつ静かでありながら見事なまでの風量を得ることが出来た。そこでこのファンを4つドアにつけることにした。そのファンには220vの電源コードが必要だった。

いよいよ電源投入。ラック全体では30A未満を使うと思っている。まずテストをすることにし80台のフルパワーで動いているマシンとファンを半分のスピードで動かしてみたところ、予想されていたよりかなり熱は出ていなかった。以前は210°F(摂氏98.9℃)だったにも関わらず、85°F(29.4℃)に改善された。

やっとこの環境を手に入れることが出来た。Xserveには10Gb SFP+のイーサネットカードを取り付けることが出来たので、160台のMac miniは同じ起動時間でNetBootから立ち上げrことが出来る。すべての機器がバックアップされていて、わずか45秒で起動出来る。

160台のラッキングされたMac miniは最高だった。そして棚を作ってくれたベンダーに話したところ、1Uに6台ラッキング出来る棚を作ることになった。つまり240台のMac miniがラッキング出来ることになる。1月から作業を始めることになるが、待つことが出来ない。みんなはおかしいと思うかもしれない。次が見せれるまで待ってほしい。

以上です。普通に英文がすらすら読める人からすると突っ込み満載な内容かと思いますが…ツッコミ大歓迎です。
Xserve亡き後、Mac OS Xを使いたいクラスターサーバなどはどうすればいいか?ということに対して一つの方法を示しましたね。Y字(というか2Y字)ケーブルをどうするか?が課題になりそうですが(どこかが作って販売するでしょうか?カスタムメイドで作ってくれるとか?)。また、1Uにラッキング出来るシャシーですが、H-Squared(http://www.h-sq.com)で販売もされているようなので、問い合わせれば日本でも入手出来るのではないだろうかと思われます。ラック全体のコア数や分散出来る数は用意出来ましたが、単純な1台あたりのピークパワーを得たいときはやはりXserveの存在が恋しく、今で言えばでかいMacProに依存するしか無いのか…また、台数が増加すればトラフィックもその分増えるのでその処理をどう押さえていくかなど、まだ課題は残りそうにも思えます。トラフィックに関しては、クラスタリング構成(ソフトの問題)と、分散方法である程度押さえていくことも可能なので、どういう処理をしているかによっては台数を増やしても影響度は少ないのかもしれませんが。
また、ハングアップしたときの復旧方法を停電後の自動再起動 (これに関してはMac mini Serverの基本構築の7.省エネルギー設定でも言及) を生かして、外部から電源元を落とそうという発想も斬新でした。
まだ次の240台ラックが今年は控えているようなのでどういうのが出来上がるか楽しみですね。

160台のMac mini 祭りなサーバーラック」への1件のフィードバック

  1. Xserveが無くなってからどうやって高密度なラックをデータセンターに作るか?というもとにMac miniをデータセンターに設置しようと言うところから始まった様です。 このMac miniラックを作ったSteveさんはその出来上がりまでをご自身の … nptpptt.wordpress.com

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中