IIJのコンテナ型データセンターの見学会に行ってきました

大前提

ラック単位でデータセンタを借りているユーザには当面関係のない話です。仮想化されたホスティングサービスのユーザはちょっと関係あるかも。ウェブサービスの完全なユーザにも近い将来は少し関係してくるかもしれない話題。

そもそも何故コンテナデータセンターか

Sunがコンテナ型データセンターを発表してから色々と注目が集まっているコンテナ型だけど、IIJは以下の2点

  • 電力効率
  • 設備投資の粒度

をメインにコンテナ型のデータセンタを作ることにしたのだそうだ。

電力効率

何故データセンターに空調が必要かと言うと、もちろん設置する機器を冷却しなければならないから。
温度・湿度上限は何となく理解できるが、実は環境条件には下限もある。湿度が低すぎると静電気による事故が増えるし温度が低すぎると可動部分のが潤滑剤が固着してしまうのだそうだ。環境条件には一般的にはASHRAEというアメリカの空調に関する団体が策定した基準を使うので、今回のコンテナ型データセンタでもこれを目標にした。
このデータセンタでは可能な範囲で外気をそのまま利用しつつ、従来型の空調と合わせて効率化を図っている。空調には3つのモードがあり、これらを切り替えながら運用している。

  • 外気をそのまま取り込むモード
  • 外気と排気を混合するモード
  • 排気を再度冷却して循環させるモード

春や秋などの気候の温暖な時期には外気を取り入れるファンが動いているだけと効率よく稼動させることができるし、冬や夜間には低すぎる外気と計算機の排熱を混ぜて適当に温度を上げたうえで冷却に使っている。
実際に1日での温度と湿度の変化をプロットした物を見せてもらったが、早朝で外気がまだ低いときには排気を混合して適当な温度に上げて利用しており、日中になり温度が十分に上がったタイミングで自動的に完全に外気を取り込むモードに切り替わっていた。いずれのモードも電力を大量に消費するコンプレッサーを回さないので、受電部分を除いたPartial PUEで1.04と非常に低い値が出たとのこと。これはもう野晒しでサーバだけ動かしている状態にかなり近い。
その他、空調で冷やすエリアと排熱を集めるエリアを完全に分離したりするなど最初から効率性を重視した設計もあって、日本国内で通年運用で PUE1.2ぐらいになる見通し。これは日本国内の最近建設されている高効率のデータセンタでよくある1.4前後を大きく上回り、Googleなどが自社で使っているデータセンタとほぼ比肩するほど。
測定データでデモで見せてもらったのだけど、国内の温度・湿度環境下で外気冷却を使うというのはノウハウの塊であるようだ。IIJはこの通年での実験で他事業者に比べて1年先に行ったことになる。
今後はASHRAEの基準を一歩進めて、機器が壊れない範囲でより広い環境条件での運用も視野にいれていくとのこと。温度条件が緩和されれば外気のみでの運用可能期間が伸びてより効率を上げることができる。

設備粒度の細分化

従来建屋単位での投資になっていたのが、コンテナ単位で必要に応じて増設出来るようになる。
データセンタを借りた事がある人ならばわかるかもしれないが、新しいデータセンタならばラックがまだ立っておらず広いスペースが余っていることがある。理想的には全ての床が売れている状態が望ましいのだろうが、実際には常時空きを抱えているか逆に供給が足りない状態のいずれかだ。
コンテナ型ならばそもそもの設置スペースという問題はあるが、ラックの需要に応じて順次増やしていけるので投資を小まめに行なえる。設置スペースに関しては十分に土地が安い場所を使うことで解決している。
今回の実験では1コンテナに9ラックが搭載されている。通常のデータセンタではラックにサーバを満載できないが、この実験では冷却能力が非常に高いためにフル搭載状態で運用ができる。とはいえ、ラック数が少なすぎる気がしないでもない。本運用時にはラックの設計変更や寸法を伸ばして搭載ラック数を増やしていくことも考えているらしい。

PUE

PUEとはGreen Gridが発表しているデータセンタの効率性を表す指標。

PUE=データセンタ全体の消費電力 / IT機器の消費電力

という式で計算できる。つまり、データセンタの本分であるIT機器以外にどれぐらい電気を消費するものが稼動しているかということ。理想状態ならば 1で計算機だけしか電力を消費していない状態。もちろんこれは無理なので、国内の普通のデータセンタでは2ぐらい、Googleでは1.13から1.2
上でこのデータセンタのPUEが非常に優秀であると書いたばかりだけど、PUEという指標自体も問題がないわけではない。例えばDC給電などで搭載機器を効率化したとすると、給電設備はデータセンタ側に持つのでPUE自体は悪化したように見えてしまう。
問題もあるけど、実際に使える指標はPUEしか無いよね、というのが現状のようだ。

防災

コンテナの中に入って思ったのだが、改めてやはり閉鎖した空間であるということ。閉所恐怖症の人にはかなり厳しいというか恐らく入れないのではないかというような環境。データセンタは幾つは利用したことがあるが、いずれも通常の建築物だったので、ここほど圧迫感はなかった。
非常口は入口と反対方向に設置されているので、入口付近で火災が発生しても脱出できる構造になっている。多少空間効率を犠牲にしても非常口を付けたくなる理由がわかった。消防法での規制以前に無いと怖い。非常口が無かったら、ちょっとしたボヤでも入口が開かなくなった時点で即座に中の人間が蒸し焼きになってしまいそう。
共同実験には防災機器のメーカも参加しているぐらいで、実験施設とはいえちゃんとその辺も考慮してある。煙探知機は高精度のものを排気口に設置してあった。換気の速度が速すぎて天井に設置しても反応がしないので、ここにしたのだそうだ。

意外な罠

国内だとコンテナほどの大きさの物を移動する事には、道交法的な制約がある。工場から持って行ってポンと設置なのはその通りなのだけど、「持って行って」が意外と面倒という。国際規格の船舶用コンテナならば陸路での移動も考慮しているのかと思ったが、港湾設備付近に高規格道路が整備されているぐらいでどこにでも運搬できるものではないらしい。
コンテナデータセンタと言ったら、あの船舶に搭載するコンテナを流用するものとばかり思っていが実際にはサイズなどの点でそのまま使うよりは搭載機器や移動の都合を考えて違うサイズのものを使っているとのこと。

感想

仮想化技術を使ったCPUのリソース貸しサービスというのがある場面では非常に有用であるという認識はもちろんあって、利用局面によっては使えるだろうとは理解していた。しかし、長期的にリソースを使うときにはアウトソースのオーバーヘッドもあって、結局自社で場所を借りて運用する方が安価なのが現状認識。
Googleが始めた計算機運用環境の高効率化の競争はこうやって国内まで来てしまうと、本当にラックを借り続けるのがランニングコスト上も安価であり続けるかはかなり微妙になってくるのではないか。あるいは、ラックを借りてサービスを運用することが非常に贅沢なものになっていように思った。
さくらは石狩のデータセンタでかなり先端的な取り組みをしているし、IIJのこれも他社に先んじて行なわれた施策である。実際にはいずれのケースも自社で仮想化などでの利用をするそうでユーザにハウジングサービスで場所を貸すわけではないので、本来は物理的にどのように運用されていても関係はない。

GOOGLEクラウドの核心

GOOGLEクラウドの核心

"The Datacenter as a Computer"という本がある(邦題は「Googleクラウドの核心」)。ああ、レトリックしては上手いこと言っているなぐらいにしか捉えていなかったのだけれど、上記のような文脈で見るとさくらインターネットIIJは新しい形のコンピュータを設計したのだなと理解した。
何を極端なことを言っているかと思われそうだが、コンピュータの歴史からすると至極当然の流れと言える。ちょうど先日読んだ「超マシン誕生 新訳・新装版」という本では1970年代後半に新しいミニコンピュータを設計するにあたって、CPUはもちろん命令セットからそのモデル専用のものを作っていた。その後、CPUは既製品を買ってきてアーキテクチャのみを自社設計する時代(PC-9801やFMR、FM TOWNSなど)もあった。今ではCPUもアーキテクチャも規格品でそれらを組み合わせることで新しいコンピュータを作る。それが今後は市販のサーバを組み合わせて計算機ファームを設計する段階に進んだだけなのだ。
Googleは恐らく確信をもって何年も前からやっている。Amazonもかなり早い段階から気付いていたようだ。Microsoftも追従するようにやっている。Appleも始めたようだ。東工大のTUBAMEはまさにこのモデル、神戸のアレは残念ながら古いモデルだと思う。国内の事業者でこの流れに追従できているところはあるだろうか。楽天も数年前からデータセンタを自営に切り替えつつある。ベンチャー系だと自作のサーバをオフィスに置いているところもある。

写真


施設全景

空調ユニットとコンテナ本体の接続部。手前が冷却側で、奥が排熱側。コンテナ側にある扉は非常扉

空調と基礎のと接続は電気と加湿用の細い水道管だけ

ラック側の接続は太い電力ケーブルのみ

中に入るには前室を経由する

ラック全面。機器は熱源として使っているだけ。ここ全体がコールドエリアとなっていて、排気から分離されている。ちなみに"Of course it runs OpenBSD :)"で、ラックの前後に取り付けた温度センサーで集計なんかにも使っています。

温度センサーは多分これ。全部で80ヶ所ほどで計測している。

冷たい空気が背面に抜けてしまわないようにとりあえずの目張り。正式運用時にはラック側で気密性のある構造になるになる予定とのこと