2009-02-21 はてなでの仮想化技術のあれこれ osc2009 virtualization hatena id:stanakaによる、はてなの仮想化について はてな 月間ユニークユーザ:1000万 / 月間PV:10億 サーバ台数:約500台(仮想化して890台) 仮想化とは? 古くは、メインフレーム技術とかLinux chrootとかFreeBSD Jailとか メリット 可用性向上 柔軟性向上 運用コスト低下 セキュリティ向上 デメリット ホスト数増加 IPアドレス消費増加 不可解なバグ はてなでは、rebootしたらMACアドレスがリセットとかあった パフォーマンス低下 はてなの仮想化 Xenを採用 CentOS 5.2 / Xen 3.0.3(CentOS標準バージョン) 準仮想化を使用し、完全仮想化はしていない 完全仮想化はオーバヘッド大きい(そもそも基本的にはLinuxなので、完全仮想化は不要) ストレージはローカルHDD/SSDを採用し、Linux Volume Managerを使用 ネットワークストレージは、高価なので使っていない ネットブート(PXEブート、aufsでイメージ展開)は試している(テスト環境で稼働中) はてなの仮想化の歴史 2007年前半 CentOS 5系への移行に伴い、Xenを試し始める 2007年夏 スモールスタート 管理ツールの開発を始める 2009年 全面的に採用、安定稼働 仮想化を行う上でのポイント サーバを同居させることで、H/Wリソースの利用率向上を考える 空リソース:CPU -> Webサーバを同居 空リソース:I/O -> DBサーバを同居 空リソース:MEM -> Cacheサーバを同居 同じ傾向、負荷の高い用途同士は、同居させない ボトルネックが分かりにくい はてなの仮想化の運用 新規仮想サーバ作成は、スクリプト一発で 独自開発の管理ツール サーバ構成(親子関係)や負荷状況を表示 Railsで開発したらしい xentop ライブマイグレーションは利用していないので、仮想サーバの移動やコピーはddで(結構強引だけど、上手く動いている) MyDNSを利用し、管理ツールと同期 monitによる、DomUの強制再起動 運用でのポイント DomUが迷子にならないようにする(親子関係の把握) サーバの単機能化(1OS1機能) 自動設定ツールやpuppetによる仮想サーバの統一化、標準化 はてなの仮想化の今後 他の仮想化(KVM、OpenVZ)も試していきたい オープンソースカンファレンス2009 Tokyo/Spring - OSSの春が来る! はてな stanaka's blog