自作サーバ同窓会スライド
DESCRIPTION
自作サーバ同窓会で発表したスライドをうpTRANSCRIPT
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に変更
- 電源の位置を無理やり工夫し、UTR1に乗る奥行きで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 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
コンシューマ市場にフィードバックされたエンタープライズ技術
RSS(Receive-Side Scaling)
- 一昔前までは高価なサーバ用NICのチップに実装されていた
- 今では8000円位のマザーでもひっそり実装 (Atheros ar8161)
最後に
これでもドン引きしないダメな仲間を求めています!
おわり
ご清聴ありがとうございました!