SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
How to use Virtualization Technology in Hatena
Report
Shinji Tanaka
Follow
Software Developer at Hatena
Feb. 4, 2009
•
0 likes
•
2,811 views
1
of
33
How to use Virtualization Technology in Hatena
Feb. 4, 2009
•
0 likes
•
2,811 views
Download Now
Download to read offline
Report
Technology
Shinji Tanaka
Follow
Software Developer at Hatena
Recommended
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発
Yuichi Tanaka
6.4K views
•
39 slides
【13-D-4】 アナタのアプリ性能改善の秘訣、オラクルが教えます!
devsumi2009
2K views
•
40 slides
章文嵩:使用LVS集群架设高可扩展的网络服务.pdf
XMourinho
1.1K views
•
41 slides
WebDAV as Web API
Masaki Komagata
3.3K views
•
32 slides
RDF and FOAF
Masaki Komagata
1.6K views
•
28 slides
090214ldd Mogilefs
Kazuhisa Hara
1.3K views
•
40 slides
More Related Content
What's hot
Sentokyo Kansai(20070126)
真 岡本
630 views
•
24 slides
16 Ch
anjaan
869 views
•
15 slides
Utagoe intro
Utagoe Inc.
541 views
•
25 slides
Modern Front End Evolution
KUAN-CHING CHOU
6.4K views
•
50 slides
136 Ch
anjaan
684 views
•
15 slides
gfw工作原理及突破技术
Daniel Cheung
1.9K views
•
19 slides
What's hot
(20)
Sentokyo Kansai(20070126)
真 岡本
•
630 views
16 Ch
anjaan
•
869 views
Utagoe intro
Utagoe Inc.
•
541 views
Modern Front End Evolution
KUAN-CHING CHOU
•
6.4K views
136 Ch
anjaan
•
684 views
gfw工作原理及突破技术
Daniel Cheung
•
1.9K views
XS Japan 2008 Ganeti Japanese
The Linux Foundation
•
962 views
Ext Ncs 20081029
Yuki Naotori
•
1.1K views
Cybozu Inc 10th anniversary event - developing section.
cydn.cybozu.co.jp
•
399 views
T2@java-ja#toyama
Masaaki Yonebayashi
•
1.1K views
XS Japan 2008 App Data Japanese
The Linux Foundation
•
742 views
91 Ch
anjaan
•
860 views
Fmrms Whitepaper.Cnaa
jijiegg
•
201 views
【13-B-3】 企業システムをマッシュアップ型に変えるには
devsumi2009
•
931 views
中小企業E化最新趨勢與效益分析
Alex Lee
•
644 views
331 Ch
anjaan
•
295 views
PHP at Yahoo! JAPAN
Ippei Ogiwara
•
3.7K views
Namo Web Solution
benson56
•
955 views
Hyper Estraierの設計と実装
Hiroshi Ono
•
3.1K views
About OSGeo.JP
Taichi Furuhashi
•
490 views
More from Shinji Tanaka
Mackerelによる 簡単サーバー管理入門と発展形
Shinji Tanaka
8K views
•
44 slides
Lightweight wrapper for Hive on Amazon EMR
Shinji Tanaka
2.1K views
•
15 slides
Using Windows Azure
Shinji Tanaka
2.2K views
•
47 slides
MySQL Multi-master on EC2
Shinji Tanaka
2.4K views
•
9 slides
Original Server Conference
Shinji Tanaka
1.6K views
•
10 slides
Scala on Hadoop
Shinji Tanaka
2.5K views
•
34 slides
More from Shinji Tanaka
(8)
Mackerelによる 簡単サーバー管理入門と発展形
Shinji Tanaka
•
8K views
Lightweight wrapper for Hive on Amazon EMR
Shinji Tanaka
•
2.1K views
Using Windows Azure
Shinji Tanaka
•
2.2K views
MySQL Multi-master on EC2
Shinji Tanaka
•
2.4K views
Original Server Conference
Shinji Tanaka
•
1.6K views
Scala on Hadoop
Shinji Tanaka
•
2.5K views
Performance and Scalability of Web Service
Shinji Tanaka
•
1.9K views
Hatena's Infrastructure from the beginning
Shinji Tanaka
•
3.2K views
How to use Virtualization Technology in Hatena
1.
はてなでの仮想化技術の使い方
はてな 田中 慎司 stanaka @ hatena.ne.jp
2.
アジェンダ はてなの紹介 仮想化技術 Xen はてなでの取り組み Xenの利用ポリシー
Xenの運用 Xenのデメリット 今後の構想
3.
はてなの紹介 2001年 創業 人力検索はてな 質問をすると人が答えてくれる
現在 2001年当時
4.
はてなの紹介 歴史
有限会社はてな創業 京都 人力検索サイトはて 2001年 な はてなアンテナ 2002年 はてなダイアリー 2003年 東京進出 2004年 はてなブックマーク 2005年 シリコンバレー 2006年 はてなスター はてなハイク 2007年 京都移転 2008年 はてなブックマークリニューアル うごメモはてな
5.
はてなのサービス群
6.
仮想化技術 ハードウェアを抽象化し、複数のOSが動作で きるようにする Xen, VMware,
QEMU, UML, KVM, OpenVZなど 古くは.. メインフレームの技術 Linux chroot, FreeBSD jail
7.
仮想化技術のメリット 可用性の向上 動作中の仮想マシンをほぼ瞬時に別ハードウェアに移動することがで きるため、ハードウェアのメンテナンスやアップグレードがサービスを停
止せずに行える。 柔軟性の向上 仮想マシン間でCPUやメモリなどの資源配分を指定することで、ニーズ に応じて適切な資源を無駄なく割り当て活用できる。 運用コストの低下 サーバ群において、他のサーバに環境を構築するのが容易である。 セキュリティの向上 仮想マシン環境は互いに隔離されており、ある仮想マシンで動作する 有害なソフトウェアがほかの環境や仮想マシンモニタに悪影響を与え ることはできない。 出典: Wikipedia
8.
はてなでの仮想化 Xen
9.
Xen もともとはケンブリッジ大学の研究プロジェクト XenSource,
Inc Citrix Systemsが買収 2007.10.25
10.
Xenにおける仮想化のモデル 準仮想化(ParaVirtualization) 仮想的なハードウェアを再定義するため、仮想ハードウェ
アは、操作をするためにはハイパーバイザコールを呼び出 す エミュレーションのオーバーヘッドを最小限に抑えられる OSをXen仮想ハードウェア上に移植することが必要 完全仮想化(FullVirtualization) 実ハードウェア用のOSがそのまま動作 WindowsなどのOSも動作 エミュレーションのためのコストが大きくなる デバイスドライバのみ準仮想化とすることも可能
11.
はてなのサーバ台数 サーバ 500台
→ 仮想化して890台
12.
はてなのシステムの全体像と解説 三層構造 リバースプロキシ アプリケーションサーバ
データベース/ファイルサーバ
13.
バックエンドシステムの三層構造
ロードバランサ LVS LVS リバースプロキシ proxy proxy LVS LVS アプリケーションサーバ mod_perl mod_perl mod_perl mod_perl LVS LVS データベースサーバ MySQL MySQL
14.
全体像 三層構造がサービス毎に サーバー台数の割合
Web : DB = 4 : 6 ~ 6 : 4 全体の 6 ~ 7 割が Web or DB それ以外 ネットワーク関連、ファイルサーバ、管理用、メール、 分散ストレージサーバなど 非同期システムが増量中 MapReduce計算クラスタなど
15.
仮想化サーバの構築ポリシー ハードウェアリソースの利用率の向上 空いているリソースを主に利用するDomUを投入 CPUが空いている
→ ウェブサーバ IOが空いている → DBサーバ メモリが空いている → キャッシュサーバ 同居を避ける組み合わせ 同じ傾向、かつ、負荷の高い用途同士 別サーバのウェブサーバ同士など..
16.
仮想化サーバ ウェブサーバ
メモリ量: 4GB メモリ量: 8GB ハードウェア ハードウェア Dom0: 0.5GB Dom0: 0.5GB ウェブサーバ 3.5GB ウェブサーバ 5.5GB ウェブサーバ ウェブサーバ キャッシュサーバ 2GB キャッシュサーバ 主にCPU-bound 主にメモリを消費 CPUは消費しない
17.
仮想化サーバ データベースサーバ
メモリ量: 4GB メモリ量: 8GB ハードウェア ハードウェア Dom0: 0.5GB Dom0: 0.5GB DBサーバ 3.5GB DBサーバ 3.5GB DBサーバ DBサーバ ウェブサーバ 4GB ウェブサーバ 主にIO-bound 主にCPU-bound
18.
仮想化サーバ 雑用サーバ
メモリ量: 8GB ハードウェア Dom0: 0.5GB メールサーバ 1GB メールサーバ ファイルサーバ 1GB 監視サーバ 1GB ファイルサーバ バッチサーバ 1GB 空き 3.5GB 監視サーバ バッチサーバ いずれもCPU・IOと もに軽い
19.
はてなでのXen CentOS 5.2 Xen 3.0.3 LVM上にパーティション作成
20.
DellサーバとAMD製プロセッサ
AMDの仮想化支援機能と省電力を重視 10%程度電流コストを抑えられる 性能面でも遜色なし CPUの性能差よりメモリ搭載量を重視 RVI*1などの支援機能も貢献 *1 Rapid Virtualization Indexing コードは差さっているが, アイドル時[A] stress時[A] 電源off時[A] PE2970 0.2 1.43 1.82 PE1950 0.14 1.77 2.17 http://global.phoronix-test-suite.com/index.php?k=profile&u=rsakamot-14435-6560-5900
21.
Xenの運用1 新規サーバ作成
install_xen.sh コマンド一発 % ./install_xen.sh hostname: ip addr: mem size: 2048MB root size: 10GB hostname must be specified. ./install_xen.sh: -h hostname -i ip_addr -m size_memory[MB] -s size_root[GB] % ./install_xen.sh -h test -i 192.168.0.1 -m 1024 -s 20
22.
Xenの運用2 負荷の監視 サーバ管理ツール
サーバの親子関係と、子 サーバの負荷を一覧
23.
Xenの運用2 その2
あるラックに含まれるサーバ の構成を負荷とともに一覧
24.
Xenの運用3
xentop xentop - 18:43:20 Xen 3.0.3-rc5-8.1.15.e 4 domains: 1 running, 3 blocked, 0 paused, 0 crashed, 0 dying, 0 shutdown Mem: 8387168k total, 8386812k used, 356k free CPUs: 4@2000MHz NAME STATE CPU(sec) CPU(%) MEM(k) MEM(%) MAXMEM(k).. Domain-0 -----r 1461082 0.0 925840 11.0 no limit haikuback1 --b--- 4017856 0.0 3145536 37.5 3145728 haikudb1 --b--- 608099 0.0 3145520 37.5 3145728 wwwback1 --b--- 2072610 0.0 1048380 12.5 1048576
25.
Xenの運用4 仮想OSの移動・コピー
ddでイメージコピー dom0a$ time dd if=/dev/mapper/vg00-commondb02root_snapshot | gzip -c | nc 192.168.0.2 9210 20971520+0 records in 20971520+0 records out 10737418240 bytes (11 GB) copied, 1096.59 seconds, 9.8 MB/s real 18m16.651s user 9m5.082s sys 0m59.292s dom0b$ nc -l 9210 | gunzip -c | dd of=/dev/vg00/domu2root 20971520+0 records in 20971520+0 records out 10737418240 bytes (11 GB) copied, 1111.61 seconds, 9.7 MB/s
26.
Xenの使っていない機能 ライブマイグレーション 信頼性の高いストレージが必要 完全仮想化 オーバーヘッドが大きすぎる
27.
Xenのデメリット1 ホスト数の増加 Dom0の台数分は増加
28.
Xenのデメリット2 不可解なバグの発生 NICのドライバ不具合
rebootでMACアドレスがリセットされる 物理的な再起動で回復 e1000を利用することで回避 突然ネットワークに接続できなくなる 過去2回発生 → Dom0 再起動で解消
29.
Xenのデメリット3 パフォーマンスの低下 メモリアクセス
ランダムアクセス時に顕著 10%程度 IO性能 IO処理でバッファのメモリコピーが発生 ディスク性能 2,3%の低下
30.
Xenの運用上の注意ポイント DomUが迷子にならないようにする 探すのに苦労 DomUからDom0の情報は得られない サーバの単機能化
サーバの管理・制御が容易となる 不具合の影響範囲を最小化できる
31.
仮想化によって得られるもの 物理的なリソース制約からの解放 リソースの動的な変更 VMのマイグレーション・複製
異常動作時の局所化 ホストの制御が容易となる VM環境の統一化・標準化 自動設定ツール puppet VMの自動的なインストールを可能に 冗長化によるリソース利用効率の低下を最小限に
32.
今後の構想 仮想ホストの自動制御 再起動 負荷に応じた増殖・移動・削減 イメージの自動バックアップ
33.
まとめ はてなの紹介 仮想化技術 Xen はてなでの取り組み Xenの利用ポリシー
Xenの運用 Xenのデメリット 今後の構想