狠狠撸

狠狠撸Share a Scribd company logo
Kauli 自作サーバの歴史と稼働率向上施策

自作に魅せられたフランちゃんウフフなインフラエンジニア
おおかわ かずひと
at
Kauli, Inc.
アジェンダ
- 自己紹介
- 会社紹介
- Kauli 自作サーバの歴史
- 稼働率向上施策
- コンシューマ市場にフィードバックされたエンタープライズ技術
(おまけ)
自己紹介
- おおかわ かずひと (@SatchanP 意識低い系)
- 2012年8月 コミケ4日目 入社
- プライベートラリースト
- 二次属性 アイマス : やよい、真美 東方 : フランちゃん、咲夜
さん
会社紹介
- 日々広告をお届けしています
- 2009年設立、もうスタートアップと言えない年頃
- 入社以来トラフィックは1年半で10倍以上
- いまだに自作サーバから卒業できず、現在に至る
Kauli 自作サーバの歴史
Kauli 自作サーバの概要
- メンテナンス性と高集積化を追及し、第一世代~第四世代と進化
- 第一世代は1U換算 1node ~ 1.5node
- 第四世代は1U 4node/16 core
- CPUはCore i7シリーズを採用
キーパーツ UTR1
- 安価な音楽用1Uシャーシ
- サウ○ドハウスで容易に入手可能
- 除雪にも活躍
第一世代 (~2012/09)

- @nekoya 製
- UTR1にパーツをテープで直接貼り付ける
第一世代の問題点
- 安全に取り外しするために、
最低2穴のスペースが必要
- UTR1ごと取り外すため、メ
ンテナンス性最悪
- パーツむき出し
- これがすべての始まり
第二世代 (2012/10~)

- UTR1の柔軟さに着目し、上からもう一枚はめ込んで天板を実装
- それっぽく1Uサーバ化
- 取り外しのリスクが解消
第二世代の問題点
- 無理やり2枚重ねしたせいで
ねじ止めにコツがいる
- 重い
- 密度上昇により熱問題発生
- 熱問題は後にCPUファンの回
転数を上げることで解決
第三世代 (2013/05~)

- UTR1とパーツの間に薄いアクリル板を挟む方式に変更
- アクリル板がUTR1の上をスライドするため、出し入れが容易に
- 劇的な高密度化に成功
第三世代の問題点
- アクリル板が計算より微妙に厚く、
0.5mmくらいはみ出してしまった
- 原因はマザーのCPUファンマウンタ
- しょうがないのでUTR1の柔軟性に
再び着目し、上下にたわませてマウ
ント
- 5~6U束ねてからねじ穴1個分だけ
スペースを空けて、たわみマウント
のスペースを確保
第三.五世代 (2013/09~)
- アクリル在庫が底を着き、厚さを変更
- とうとうUTR1で隙間なく自作サーバを詰めることに成功
- この時点で1U2ノード、詰め込み欲がさらに沸いてくる
- がもうこれ以上詰め込めないとその時は思っていた
第四世代 (2013/12~)

- マザーをMicroATXからMiniITXに変更
- 电源の位置を无理やり工夫し、鲍罢搁1に乗る奥行きで2个配置
第四世代の問題点
- 詰め込みすぎたため製造と取り回しにコツがいる (退化???)
- 普通のラックでは電源が足りない、場所が余る
- OID LEDがないため錯覚を起こしてメンテナンス対象を見誤る
- メンテするときは2台ともシャットダウンが必要
- 社内から「やりすぎ」と声があがりはじめる
方針転換?
- 実は1プロセッサーにはこだわりがあった
 - NUMAのチューニングがんばりたくない
 - プロセッサー間のスレッドの切り替わりコストを懸念
 - XeonではもったいないCPUの使われ方
- 電源単価を無視できない台数になりつつある
- 地味に大人の事情も作用
方針転換します (???)
- 最新カーネルで使えるか不明だがAutoNUMAがマージされる
- スレッドコストもリファクタで改善
- コストにはこだわりベアボーン?
- IPMIとかECCとかほしかったんや???
でも遠い未来???
- Googleのように自分達でサーバを製造する時が絶対やってくる
- 箱に乗り換えると決めた今も、アイデアだけは出し続けている
- コンテナ丸ごと借りて自作で埋めたい
- その際は是非いいお話を???
稼働率向上施策
サーバ障害が起こる原因
- 大半は社長@karubiが大量に買った激安メモリ起因
 - Kernel Panic, segfault, reboot, ミドルが落ちる
 - ECCないから即死、IPMIないから現地作業確定
メモリによる障害を事前に防ぐ施策
- memtestエージングをよりスパルタに
- memtestエラー → 交換 のサイクルでロンダリング
- 信頼性の高いエルピーダチップも一部に導入
- syslogでsegfaultを検知したらアラートメールを送信
- ハードウェアイのベントログを監視
ハードウェアのイベントログを監視
- mcelogでハードウェアイベントログを参照
$ cat /var/log/mcelog
mcelog: Unsupported new Family 6 Model 3c CPU: only decoding architectural errors
mcelog: failed to prefill DIMM database from DMI data
mcelog: mcelog read: No such device
mcelog: Unsupported new Family 6 Model 3c CPU: only decoding architectural errors
Hardware event. This is not a software error.
MCE 0
CPU 3 BANK 1
MISC 86 ADDR 403c8f940
TIME 1388050029 Thu Dec 26 18:27:09 2013
MCG status:
MCi status:
Uncorrected error
Error enabled
MCi_MISC register valid
MCi_ADDR register valid
Processor context corrupt
SRAR
MCA: Data CACHE Level-0 Write Error
STATUS bf80000000000124 MCGSTATUS 0
MCGCAP c09 APICID 6 SOCKETID 0
CPUID Vendor Intel Family 6 Model 60
コンシューマ市場にフィードバックされたエンタープライズ
技術
RSS(Receive-Side Scaling)
- 一昔前までは高価なサーバ用NICのチップに実装されていた
- 今では8000円位のマザーでもひっそり実装 (Atheros ar8161)
最後に
これでもドン引きしないダメな仲間を求めています!
おわり
ご清聴ありがとうございました!

More Related Content

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