失敗しないデータセンター設計のためのケーススタディ

IaaSの中で構築などをしている者です。
データセンターの中にネットワークやサーバを作っていますが、データセンター設計[^1]にはこれといった指針やベストプラクティスのようなものが（あるようで）実はあまりないため苦労することがあります。

検証環境でもない限り、データセンタに作ったシステムというのは、気に入らないからと言って、じゃあ止めて作り直すね、というわけにもまいりません。

特に物理的な問題は、後になってから「ああしておけばよかった」と思っても、後の祭りです。
**クラウド**を使っていれば、気にしなくても良いのですが、それでもコロケーションやオンプレミスに何か作らなければならなくなった方の参考に少しでもなればと思い、まとめます。

# サーバとルータを同じラックに入れるのは有りか？
何が問題なの？と思われるかもしれませんが、
結論を言えば、**無しではないが極力避けるべき**、です。

### 主な問題はこんなところです。
- エアフロー（吸排気）
- 配線スペース
- 装置の奥行の違い
- 論物一致問題

---
最初に、一般的にデータセンターのラックというのは以下のような仕様が多いと思いますので、その前提で進めます。

<dl>
 <dt>マウントポスト</dt>
 <dd>装置をマウントする柱です。前後に2本ずつの合計4本が一般的。<br/>位置を調整できる場合とそうでない場合があります。</dd>
 <dt>エアフロー</dt>
 <dd>コールドアイル・ホットアイルが主流だと思います。<br/>冷気側（吸気側）と暖気側（排気側）がラックの前後で定められているスタイルです。</dd>
 <dt>ドア</dt>
 <dd>コロケーションの場合は、ラックの前後に鍵付きの扉があるはずです。<br/>エアを通せるように、メッシュ状になっています。</dd>
</dl>
---

### エアフロー問題
サーバは通常、**前面吸気・後方排気**です。後方というのはサーバの場合、パワーサプライやNICがまとまっている方です。
大体が、データセンタでの利用を前提としたデザインになっていて、前面をコールドアイル、背面をホットアイルに向けて設置するだけでOKです。
電源コードやケーブル類も裏面にまとまっていることが多く、逆に前面には線の類や出っ張りがないデザインになっていて、マウントポストをなるべくコールドアイル側に寄せること[^2]で、線のごちゃつく後ろ側に十分な配線スペースを確保できます。

では、ルータはどうかというと、サーバと違って、**横吸気・横排気**や**後方吸気・横排気**という製品が、割とたくさんあります。
<a href="https://www.cisco.com/cisco/web/support/JP/docs/RT/BranchRT/2900ISR/IG/002/Overview.pdf">
![cisco airflow.png](https://qiita-image-store.s3.amazonaws.com/0/214020/578ae7b4-534e-9fa6-458f-ceb5a5408df6.png "ルータエアフローの一例")
</a>

そこで、仮に、先ほどサーバを搭載したラックの上のほうに横・横エアフローのルータを1台マウントしたいと思います。
「サーバもフロントベゼルを前面に向けたし、ルータもフロントパネルを前面に向けよう」
と、ついやってしまいそうになりますが、これはよくありません。
このルータは下に同居している**サーバの熱い排気をホットアイルから吸気し、それを再びホットアイルに排気し続ける**ことになります。
時間とともにルータの内部温度は上がり、温度閾値超過…なんてことも起こりえます[^3]。
ルータが落ちるとインパクトが大きいのでこれは要注意です。




### 配線スペース問題
**サーバは、めいっぱいフロントドア側に寄せるのがおすすめ**です。
なぜならば、前述した通り、サーバの場合ケーブル類は背面側にまとまっており、ここにスペースを残すことが作業性・運用性の観点で重要だからです。
そのために、フロントポストを動かせるならば、なるべく前に寄せましょう。
![server front.jpg](https://qiita-image-store.s3.amazonaws.com/0/214020/14f42896-c0b2-be58-9e06-cd6389240f5f.jpeg "前面を極力寄せた例")　　![server back2.png](https://qiita-image-store.s3.amazonaws.com/0/214020/8abcd006-e3df-1ba3-a418-893cb17eb3f6.png "背面にスペースを確保")

一方で、多くのルータが、前後両方に何らかのケーブル・コード類がつながるデザインです。
お分かりかと思いますが、サーバに最適化されたラックでは、ルータの前面にあるケーブル類が、ドアに干渉して、折れ曲がったり、閉まらなかったりするのです。

### 装置の奥行問題
多くの場合、ルータの奥行はサーバに比べ20～30cm短いです。
したがって、サーバを積んだラックの一番上などにルータを置くと、サーバの筐体が邪魔で、ルータの背面が見えづらくなったり、手が届かなくなります。
無理に作業しようとしたりすると、下にあるサーバのケーブル類に体重がかかって、破損するかもしれません。
### 論物（論理・物理）一致問題
データセンタのネットワーク階層では、ルータは通常アグリゲーション層またはコア層に当たる一方、サーバは端末です。（<a href="https://www.cisco.com/web/JP/solution/netsol/designzone/datacenter/literature/pdf/OL-19225-01-J.pdf">参考</a>）
階層を飛び越えたものが同居していると様々な混乱をきたします。
トラブル時の影響範囲がルータとサーバで大きく異なりますし、万が一、ラックの停電などが起きた場合に、階層の一番上と一番下が同時に落ちることになるので、よくわからない挙動になる可能性があります。
さらには、構造が直感的にわかりづらくなるため、誤解やミスを誘発します。
論物をなるべく一致させ、直感的に理解可能なシステムにすることが、よいシステム基盤設計のミソだと思っています。
### それでも積まなければいけない場合は
- 前・後のエアフローになっているルータ製品を採用する[^4]
- なるべく吸気側をコールドアイルに向けるようにする
- ルータの排気がコールドアイルに抜けることは目をつぶる（データセンタの人に怒られそうですが）
- 後ろ側に耳を付けて、後ろのポストにマウントする（交換時の抜き取り向きがサーバと逆になってしまいますので、マウントした後に、ちゃんと抜き取れるか確認したほうがいいです。）

なんかしらの工夫とあきらめは必要です…

# カタログ値で電力計算すると損をする？
ラックに機器をなるべくいっぱい積まなければ、経済性がよくありません。
極端な話、2倍積めば、サーバあたりの月額データセンタ費用が半分です。（料金体系によります。[^5]）
スペースや重量の問題もありますが、特に電源の計算が難しいです。

### 電源をどうやって計算するか
Lenovoのツールで1U 2ソケットサーバの適当な構成を組んで電力計算してみたところ、
**Maximum 254W**と出ました。
![lenovo max.png](https://qiita-image-store.s3.amazonaws.com/0/214020/c04ef760-3e9b-4550-9e3e-441335c4a316.png)
このサーバを**6KVA**まで利用可能なラックに積むとします。
力率を0.96として計算すると、**254W x 22台 = 5588W**まで搭載できることがわかります。
Top of Rackにスイッチを置く場合などはその分を加味して考えなければいけませんが、今はサーバだけで考えてみます。

まず、経験上サーバの消費電力がMaximumの値になることはありません。
これは、おそらく各パーツの定格から理論的に求められた値だから、なのではないかと思われます。
したがって、Maximumで計算をすると、実際には余裕が出てきてしまうことになりますが、
ここで問題になるのは、では**どの値で計算すればいいのか？**という事です。
*(とはいえ、一番安全なのは、Maximumで計算することです。以下に紹介する方法の実施を含め、電源容量の設計は自己責任でお願いします）*
#### Load Factor
この値には意味がありません。
上の図を見てもわかるように、この%はスライダで自分で動かせるようになっています。何でもありです。
実は、このチャートの中に、使える数字は書いてありません。

#### なので測定してください
まず、クランプメーターを用意します。ACが測定できるもので、In-Rushが測定できる精度のいいものが必要です。
メーターの使い方はここでは触れないので、各自お調べください。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/214020/a460121d-ddf9-5212-aae7-ed335a285832.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/214020/67c32306-ad68-77c5-0a19-a001c7e0eb3e.png)


測るのは

1. 電源がつながった瞬間（コードを刺した時）
2. 起動中（使用予定のOSを入れてください）
3. CPU使用率100%
4. 必要なアプリケーションなどが入った状態で特に負荷の高くない時
5. それなりの負荷状態（これが一番難しい）

この構成で計測したことはありませんが、おそらく
2 >= 3 > 5 > 1 > 4　になると思います。
そして、実際に測ってみると、2も3も5もMaximumをそれなりに下回るはずです。
メーカーや型番、構成によると思いますが、100W以上違いがあった場合もあります。
私の場合は、5を実効電力、2をMaximumと考えることにしています。
ちなみに5は大体45～55%あたりに落ち着くことが多そうです。
#### 再度計算
1,2,3は通常、複数のサーバで同時に発生しません。
ですが、万が一停電からの復旧などで一度にサーバの電力が上がることを考えると
2 x サーバ台数で考えるのが無難。仮に、2が200Wだったとしましょう
**200W x 28台 = 5600W**
なんと、カタログを信じて計算した場合に比べて6台も多く積むことができました。
1台当たりのデータセンターコストが2割ほど削減できます。
実際は、もっと行けるのではないかとみています。
#### リスクをとっても良い人は
5で計算するという手があります。
サーバ間の負荷の上がり方の相互依存度合いによりますが、システム構成的にサーバの負荷が同時に上がる可能性が少ないのであれば、統計多重的にピークが吸収されるからです。
55%だとするとなんと40台も入ります。ここまでくると、ラックの高さや重量が限界でしょう。
**140W x 40台 = 5600W**
ラックのブレーカーが落ちる可能性がありますので、高可用性が求められる場合は絶対にやめておきましょう。


参考までに、あるサーバで実測した例を載せておきます。

| カタログ上の最大 | 1<br>電源がつながった瞬間 | 2<br>起動中 | 3<br>CPU100% | 5<br>それなりの負荷 |
|:--|:--|:-----|:--|:--|
| 499W | 160W  | 380W  | 372W  | 275W  |

もちろん、CPUだけでなく、メモリやドライブなどがすべてフル稼働すると380Wを超えて499Wに近くなる可能性はありますが、あとはそれがどのくらい起こりうるか…という世界になります。

# 配線 - メディアとトランシーバの選択
どのような種類のケーブルで配線するかという事がラック内設計に大きなインパクトをもたらします。
一般的にはメディアと規格の選定は距離をもとに検討されることが多いですが、特にデータセンターにおける設計では
ケーブルの分量と総コスト、メンテナンス性を考慮した配線が求められます。
通常、データセンターの配線で距離が問題になることは、よほど遠はなれたラックを使わない限り、ないと思います。
10Gの規格で比較してみます。

- **光ファイバー（OM3）**
    - コスト：高
    - 距離：長
    - ケーブル取り回し：良い
    - ケーブル径：**細**
    - 消費電力：低
    - 難易度：低
- **カッパー（CAT6A）**
    - コスト：中
    - 距離：中
    - ケーブルの取り回し：やや悪い
    - ケーブル径：**太**
    - 消費電力：**高**
    - 難易度：高
- **DAC**
    - コスト：**低**
    - 距離：極短
    - ケーブルの取り回し：悪い
    - ケーブル径：中
    - 消費電力：低
    - 難易度：高

データセンタ配線の観点では、**光ファイバーの最大の利点は「細さ」**です。細いものは直径2mm以下です。また、ケーブル自体もあまり硬くないので、余長の処理が比較的楽です。配線のやりやすさでは光ファイバーがトップでしょう。
ただし、光用のSFP+も光ファイバーもともに高価なため、下手をするとほかの2つのメディアの数倍のコストになります。

CAT6Aですが、何といっても**コストが魅力**です。ただ、問題は、ケーブルが太く・硬いために、配線に一定の工夫が必要になることです。直径が6mm以上あるので、数十本を超えてくると、抱えるのも大変なほどの束になってきます。単純に計算はできませんが、光ファイバーに比べて9倍くらいの太さになります。太さをクリアできるだけのスペースが確保できれば有効な手段です。
また、1つ重要な問題があり、10GBASE-Tでは、**ポートあたりの消費電力が10GBASE-SRやDACに比べて、7～8W多くなります**。
たかが8Wですが、仮に30台のサーバに2本ずつと考えるとそれだけで480Wになるので、サーバ1台分以上のロスです。

DACは、**コストが低く、消費電力も高くない**ため、魅力的な選択肢です。DACの問題点は、やはり硬いケーブルの取り回しの悪さ。加えて、DACは長さの選択肢が少ないため、ケーブルの硬さも相まって、余った長さをどう処理するのかが技のいるところになってきます。
故障時には、両端のトランシーバとケーブルをまとめて一体で交換しなければならないため、ラック内のケーブル本数が多いと、取り外しに苦労する可能性があります。

# まとめます
- サーバはなるべく前に寄せてマウントする
- サーバとルータなど種類の違うものはなるべく混ぜない
- ホットアイルから吸気しないように気を付ける
- 消費電力は測定して収容設計する
- トータルのケーブルの本数と許容できるコストで配線メディアを決める

正直、どこまで需要があるかわからない記事になってしまいましたが
また機会があれば、いろんな電源の話や海外のデータセンターの話なんかも書けたらと思います。
手探りでやってきた部分もあり、この記事にも正しくないことが書いてあったり、もっと良い方法があるかもしれません。
是非、コメント等でご指摘ください。

最後までお付き合いいただきありがとうございました。


---



[^1]: 紛らわしい表現で恐縮ですが、ここではデータセンタ自体の建屋や設備の設計のことではなく、<br/>「データセンターを利用して情報システムを構築する際のシステム設計」の意図で書かせていただきます。
[^2]: サーバは大体、奥行730mm前後、ラック奥行は1000mm～1200mmですので、サーバ前面をなるべくコールドアイル側に寄せると、背面側に大体200mm～の配線スペースが確保できます。背面側にはラックPDUも設置されますので、ラック当たりのサーバ台数が増えると、このスペースの確保は死活問題になります。
[^3]: 実際にはこれをやったからと言ってそう簡単に熱暴走やリブートまではいかないと思います。しかし、機器の寿命には確実に悪影響な気がします。
[^4]: 例えばCiscoルータですと、ISR G2はトリッキーなエアフローが多かったものの、最新のISRラインナップは前後になっているようです。ただし、サーバと逆向きですのでやっぱりあまりうまくありません。
[^5]: 消費電力に関わらず、ラック当たりの料金が月額固定の場合や、容量に基づいた固定費＋利用分の従量という場合（家庭用の電気契約と似ている）などがあります。
[^6]: かなり安全側に（悪く）見積もっています。