故障率と環境の件
かなり話題となった下記の記事ですが、ようやくアクセスが落ち着いてきました。
この中でご質問頂いていた、
“データセンターの中でも目の前に熱い機器があるだけで、ディスクの破損率が変わったり。パブリッククラウドならかなり環境を標準化していますが、オンプレのセンターだと当たりはずれがあって”ここもっと知りたい / “楽天カードのシステム…” https://t.co/ZxRMQhXaW2
— iwanofsky (@iwanofsky) 2018年3月7日
について、回答しておきたいと思います。
回答
いくつものデータセンターに入ったことがあります。古いものから新しいものまでいろいろありますが、その設備は千差万別です。この差によって同じ機械を置いたとしても故障率が全く違います。もっと言えば、同じデータセンターの中でも、アタリの場所とハズレの場所があります。何がその因子となるかをかみ砕いていきます。
機器を一番痛めるのは熱です。すべては熱をどのように逃がすかがポイントです。パソコンを自作される方はよくわかると思うのですが、CPUは高負荷になるとものすごい温度になります。また、実はメモリやハードディスクなども熱を持ちます。そのため、機械の中にファンを入れ機械の外に熱を追い出します。しかもサーバー機器などは、エアフロー設計という、外にどのように風を送って熱を追い出すかまで計算されています。したがってサーバー機器はファンの音でうるさいので、データセンターなど専用の建物で管理されるのが一般的です。
このサーバー機器を入れる器が「サーバーラック」です。
https://www.sanwa.co.jp/product/syohin.asp?code=CP-SVN4290BK
高さが2メートルぐらいあって、この箱にサーバーを収納します。
さくらインターネットさんの写真を引用します。
https://knowledge.sakura.ad.jp/6542/
まさにこんな様子です。サーバーラックに細長い板のようなサーバー機器を収納して使います。1段を「ユニット(U)」といい、サーバーラックにはだいたい40ユニットくらいはいります。1Uのサーバー、3Uのファイアウォール、そんな言い方をします。
で、そもそもの熱の話をします。スカスカのサーバーラックならばいいのですが、40ユニットつめつめでサーバー機器を入れたとします。そしてサーバーラックの機械全部が高稼働な状態が続くとします。どうなるでしょう。それは熱源としかいいようがないです。
結局、サーバーラックの中に熱がこもるのが分かりますよね。このこもった熱をどのようにデータセンターのサーバールームから押し出し、処理するかが、データセンターによって違います。
下記の例を見てください。
http://www.azbil.com/jp/corporate/technology/techne/techne15_c1.html
この図のように、データセンターの空調は、より最適化されるように設計はされているのですが、サーバー機器の置き方やエアフローの理屈によって、思ってもみない「熱だまり」が生まれてしまうのです。
この熱だまりの場所に機器があると、途端に壊れやすくなります。よくRAIDで冗長化対策をしているので大丈夫ということをおっしゃる方もいますが、状態の悪い場所にあるストレージだと、複数ディスクが同時に破損する場合もあります。
合わせて下記の記事も紹介しておきます。
ラックからの熱の排気は、実に大きな問題です。これはラックの利用者がどのようにラックに機器を設置するかにも大きく依存します。
このように、オンプレミス環境において、いろいろな機械を、ランダムに敷設するような使い方をされている場合は、かなり気を使っていないと思ってもみない障害に見舞われることがあるのです。
また、エアフローだけの問題でもなかったりします。「ホコリ」です。データセンターはとても乾燥しています。そして絶えず換気がされていますので、ホコリがぐるぐる回っています。このホコリが、エアフローを塞ぐのです。エアフローが複雑な環境で、例えば排熱が多いサーバーラックの後ろにいようものなら、大量にホコリが舞います。これを吸う、その後ろのサーバーラックはホコリによってエアフローが影響を受ける場合があります。もちろん排熱能力が下がり故障の原因となってしまいます。
最近のデータセンターでは、エアフローやホコリ、また災害など、いろんな因子をはじめから考えて設計しています。最近入ったデータセンターはとても清潔で空気も穏やかで感動した覚えがあります。いろんな知見の蓄積の結果を反映して建築されたんだと思います。
一方で、楽天カードの件もメインフレームが数十年前から動いていたデータセンターで、そのままOracle Cloud at customerのラックを持ち込んで構築したのだとすると、やはり独特な事情が発生する可能性があるのでは?というのは憶測で、この文脈で記載しました。
また、サーバーラックの使い方も結構重要で、40Uに全部機械を埋めるのか、それとも機械と機械の間に空間を入れるのかで大分違ってきます。もちろん空間を開けてエアフローを確保したほうが熱が逃げやすくなりますが、その分収容率が低くなるので不経済となります。
このように、データセンターとは熱とホコリと災害に対する戦いの舞台であるのですが、フリースペースに対して用途に応じて拡張していくタイプのデータセンターなのか、もとからパブリッククラウドを意識して構築したのかで随分設計の最適化度合が変わってきます。パブリッククラウドであれば機器構成・配置・エアフロー、また拡張時のルールから、保守方法まで大規模に標準化できるので、最適化の余地は大きいです。一方で、大きな設計ミスをすると大規模障害につながるというリスクも持ち合わせていると思います。今安定してパブリッククラウドを運用しているベンダーは、かなりの投資をして最適化に結び付けています。
以上が回答となります。かなりデータセンターによって事情は違うのでシンプルに表現するのは難しいのですが、単に機械をつなぐのがインフラの仕事ではないのは感じていただけたのではないかと思います。