自作サーバ同窓会スライド

27
Kauli 自作サーバの歴史と稼働率向上施策 自作に魅せられたフランちゃんウフフなインフラエンジニア おおかわ かずひと at Kauli, Inc.

Upload: kazuhito-ohkawa

Post on 24-Jun-2015

2.060 views

Category:

Technology


2 download

DESCRIPTION

自作サーバ同窓会で発表したスライドをうp

TRANSCRIPT

Page 1: 自作サーバ同窓会スライド

Kauli 自作サーバの歴史と稼働率向上施策

自作に魅せられたフランちゃんウフフなインフラエンジニア

おおかわ かずひと

at

Kauli, Inc.

Page 2: 自作サーバ同窓会スライド

アジェンダ

- 自己紹介

- 会社紹介

- Kauli 自作サーバの歴史

- 稼働率向上施策

- コンシューマ市場にフィードバックされたエンタープライズ技術 (おまけ)

Page 3: 自作サーバ同窓会スライド

自己紹介

- おおかわ かずひと (@SatchanP 意識低い系)

- 2012年8月 コミケ4日目 入社

- プライベートラリースト

- 二次属性 アイマス : やよい、真美 東方 : フランちゃん、咲夜さん

Page 4: 自作サーバ同窓会スライド

会社紹介

- 日々広告をお届けしています

- 2009年設立、もうスタートアップと言えない年頃

- 入社以来トラフィックは1年半で10倍以上

- いまだに自作サーバから卒業できず、現在に至る

Page 5: 自作サーバ同窓会スライド

Kauli 自作サーバの歴史

Page 6: 自作サーバ同窓会スライド

Kauli 自作サーバの概要

- メンテナンス性と高集積化を追及し、第一世代~第四世代と進化

- 第一世代は1U換算 1node ~ 1.5node

- 第四世代は1U 4node/16 core

- CPUはCore i7シリーズを採用

Page 7: 自作サーバ同窓会スライド

キーパーツ UTR1

- 安価な音楽用1Uシャーシ

- サウ○ドハウスで容易に入手可能

- 除雪にも活躍

Page 8: 自作サーバ同窓会スライド

第一世代 (~2012/09)

- @nekoya 製

- UTR1にパーツをテープで直接貼り付ける

Page 9: 自作サーバ同窓会スライド

第一世代の問題点

- 安全に取り外しするために、最低2穴のスペースが必要

- UTR1ごと取り外すため、メンテナンス性最悪

- パーツむき出し

- これがすべての始まり

Page 10: 自作サーバ同窓会スライド

第二世代 (2012/10~)

- UTR1の柔軟さに着目し、上からもう一枚はめ込んで天板を実装

- それっぽく1Uサーバ化

- 取り外しのリスクが解消

Page 11: 自作サーバ同窓会スライド

第二世代の問題点

- 無理やり2枚重ねしたせいでねじ止めにコツがいる

- 重い

- 密度上昇により熱問題発生

- 熱問題は後にCPUファンの回転数を上げることで解決

Page 12: 自作サーバ同窓会スライド

第三世代 (2013/05~)

- UTR1とパーツの間に薄いアクリル板を挟む方式に変更

- アクリル板がUTR1の上をスライドするため、出し入れが容易に

- 劇的な高密度化に成功

Page 13: 自作サーバ同窓会スライド

第三世代の問題点

- アクリル板が計算より微妙に厚く、0.5mmくらいはみ出してしまった

- 原因はマザーのCPUファンマウンタ

- しょうがないのでUTR1の柔軟性に再び着目し、上下にたわませてマウント

- 5~6U束ねてからねじ穴1個分だけスペースを空けて、たわみマウントのスペースを確保

Page 14: 自作サーバ同窓会スライド

第三.五世代 (2013/09~)

- アクリル在庫が底を着き、厚さを変更

- とうとうUTR1で隙間なく自作サーバを詰めることに成功

- この時点で1U2ノード、詰め込み欲がさらに沸いてくる

- がもうこれ以上詰め込めないとその時は思っていた

Page 15: 自作サーバ同窓会スライド

第四世代 (2013/12~)

- マザーをMicroATXからMiniITXに変更

- 電源の位置を無理やり工夫し、UTR1に乗る奥行きで2個配置

Page 16: 自作サーバ同窓会スライド

第四世代の問題点

- 詰め込みすぎたため製造と取り回しにコツがいる (退化・・・)

- 普通のラックでは電源が足りない、場所が余る

- OID LEDがないため錯覚を起こしてメンテナンス対象を見誤る

- メンテするときは2台ともシャットダウンが必要

- 社内から「やりすぎ」と声があがりはじめる

Page 17: 自作サーバ同窓会スライド

方針転換?

- 実は1プロセッサーにはこだわりがあった

 - NUMAのチューニングがんばりたくない

 - プロセッサー間のスレッドの切り替わりコストを懸念

 - XeonではもったいないCPUの使われ方

- 電源単価を無視できない台数になりつつある

- 地味に大人の事情も作用

Page 18: 自作サーバ同窓会スライド

方針転換します (゚∀゚)

- 最新カーネルで使えるか不明だがAutoNUMAがマージされる

- スレッドコストもリファクタで改善

- コストにはこだわりベアボーン?

- IPMIとかECCとかほしかったんや・・・

Page 19: 自作サーバ同窓会スライド

でも遠い未来・・・

- Googleのように自分達でサーバを製造する時が絶対やってくる

- 箱に乗り換えると決めた今も、アイデアだけは出し続けている

- コンテナ丸ごと借りて自作で埋めたい

- その際は是非いいお話を・・・

Page 20: 自作サーバ同窓会スライド

稼働率向上施策

Page 21: 自作サーバ同窓会スライド

サーバ障害が起こる原因

- 大半は社長@karubiが大量に買った激安メモリ起因

 - Kernel Panic, segfault, reboot, ミドルが落ちる

 - ECCないから即死、IPMIないから現地作業確定

Page 22: 自作サーバ同窓会スライド

メモリによる障害を事前に防ぐ施策

- memtestエージングをよりスパルタに

- memtestエラー → 交換 のサイクルでロンダリング

- 信頼性の高いエルピーダチップも一部に導入

- syslogでsegfaultを検知したらアラートメールを送信

- ハードウェアイのベントログを監視

Page 23: 自作サーバ同窓会スライド

ハードウェアのイベントログを監視

- mcelogでハードウェアイベントログを参照

$ cat /var/log/mcelog mcelog: Unsupported new Family 6 Model 3c CPU: only decoding architectural errorsmcelog: failed to prefill DIMM database from DMI datamcelog: mcelog read: No such devicemcelog: Unsupported new Family 6 Model 3c CPU: only decoding architectural errorsHardware event. This is not a software error.MCE 0CPU 3 BANK 1 MISC 86 ADDR 403c8f940 TIME 1388050029 Thu Dec 26 18:27:09 2013MCG status:MCi status:Uncorrected errorError enabledMCi_MISC register validMCi_ADDR register validProcessor context corruptSRARMCA: Data CACHE Level-0 Write ErrorSTATUS bf80000000000124 MCGSTATUS 0MCGCAP c09 APICID 6 SOCKETID 0 CPUID Vendor Intel Family 6 Model 60

Page 24: 自作サーバ同窓会スライド

コンシューマ市場にフィードバックされたエンタープライズ技術

Page 25: 自作サーバ同窓会スライド

RSS(Receive-Side Scaling)

- 一昔前までは高価なサーバ用NICのチップに実装されていた

- 今では8000円位のマザーでもひっそり実装 (Atheros ar8161)

Page 26: 自作サーバ同窓会スライド

最後に

これでもドン引きしないダメな仲間を求めています!

Page 27: 自作サーバ同窓会スライド

おわり

ご清聴ありがとうございました!