Contenu connexe
Similaire à LVSつこうた話 (20)
Plus de Satoshi Hirata (20)
LVSつこうた話
- 1. LVSつこうた話
2009/05/29
株式会社Fusic 平田 哲
Copyright © Fusic Co., Ltd. All rights reserved.
- 2. LVSつこうた話
+ちょっと人生の話
2009/05/29
株式会社Fusic 平田 哲
Copyright © Fusic Co., Ltd. All rights reserved.
- 4. 0. 自己紹介
平田 哲 (id:debility)
・プログラマ
・サーバとか主担当(多分)
・ネットワークとか主担当(多分)
・
・
!?
Copyright © Fusic Co., Ltd. All rights reserved. 4
- 5. 0. 自己紹介
平田 哲 (id:debility)
・mixiアプリ進出
どーせえと。
Copyright © Fusic Co., Ltd. All rights reserved. 5
- 6. 0. 自己紹介
まあ普段通りです。
今日もだらだらと喋ります。
Copyright © Fusic Co., Ltd. All rights reserved. 6
- 8. 1. なぜ分散するか
個人的に大きなメリット
1. 冗長化
2. より高負荷に耐えられる
→ サービスが止まらない(超重要)
Copyright © Fusic Co., Ltd. All rights reserved. 8
- 10. 2. LVS
ロードバランサ
外部ネットワークからの要求を一元的に管
理し、同等の機能を持つ複数のサーバに要
求を転送する装置。なるべく多くのサーバ
に要求を分散して送信し、各サーバが快適
な応答速度を保つことを目的としている。
- IT用語辞典より引用
Copyright © Fusic Co., Ltd. All rights reserved. 10
- 11. 2. LVS
ロードバランサ
ざっくり言うと
・リクエストを複数サーバに分散
・ダウンしたら分散対象から外す
Copyright © Fusic Co., Ltd. All rights reserved. 11
- 14. 2. LVS
製品価格:¥1,485,000~
orz
とまあ、恐ろしく高価な代物なんですが。
Copyright © Fusic Co., Ltd. All rights reserved. 14
- 15. 2. LVS
LVS (Linux Virtual Server)
http://www.linux-vs.org/
・Linux負荷分散ソリューション
ざっくり言うと:
Linuxでロードバランシングできる
Copyright © Fusic Co., Ltd. All rights reserved. 15
- 16. 2. LVS
LVS を使うメリット
・安価で導入できる
→ 貧弱なマシンでも問題ない
・Linuxなので応用が利く
→ 他の用途にも使える
→ ログを溜めておくとか
Copyright © Fusic Co., Ltd. All rights reserved. 16
- 18. 3. つこうたデモ
構成図:
LVS WebSrv1 WebSrv2
VIP: 10.0.10.50 10.0.10.101 10.0.10.102
RIP: 10.0.10.51
想定する外からの入口:
10.0.10.50
Copyright © Fusic Co., Ltd. All rights reserved. 18
- 19. 3. つこうたデモ
構成図2:
LVS1/LVS2 WebSrv1 WebSrv2
VIP: 10.0.10.50 10.0.10.101 10.0.10.102
LVS1: 10.0.10.51
LVS2: 10.0.10.52
想定する外からの入口:
10.0.10.50
Copyright © Fusic Co., Ltd. All rights reserved. 19
- 21. 4. ざっくり使用例
つこうたOS:CentOS 5.2
1. IPVS
# yum -y install ipvsadm
2. keepalived
http://www.keepalived.org/
からダウンロードしてRPM作って
インストール
Copyright © Fusic Co., Ltd. All rights reserved. 21
- 22. 4. ざっくり使用例
つこうたOS:CentOS 5.2
3. /etc /keepalived/keepalived.conf
http://viz.is-a-geek.com/~viz/cw/index.php?LVS
とか参考にして編集する
→ codecheck.inに後で置いときます。
Copyright © Fusic Co., Ltd. All rights reserved. 22
- 23. 4. ざっくり使用例
つこうたOS:CentOS 5.2
4. iptables設定
DSRで組む場合はiptablesで設定が必要
DSRについては
http://d.hatena.ne.jp/yamaz/20060817
を参照すると分かりやすいです。
Copyright © Fusic Co., Ltd. All rights reserved. 23
- 24. 4. ざっくり使用例
つこうたOS:CentOS 5.2
4. iptables設定
今回の場合はこんな感じ。
-----
lv1, lv2のiptables設定
# iptables -t mangle -A PREROUTING -d 10.0.10.50 -j MARK --
set-mark 1
web1, web2のiptables設定
# iptables -t nat -A PREROUTING -d 10.0.10.50 -j REDIRECT
Copyright © Fusic Co., Ltd. All rights reserved. 24
- 25. 4. ざっくり使用例
つこうたOS:CentOS 5.2
5. 動かす
/etc /init.d/keepalived start
てな感じです。
Copyright © Fusic Co., Ltd. All rights reserved. 25
- 27. 5. 注意するところ
・セッション
セッションは各サーバに保持される
= セッションがぶちぶち切れてしまう
解法1: persistence_timeout
解法2: NAS
解法3: repcached
などなど。
Copyright © Fusic Co., Ltd. All rights reserved. 27
- 28. 5. 注意するところ
・コンテンツの同期
解法1: 手動で頑張る
解法2: rsync
解法3: makuosanとか
解法4: DRBD
この辺は各自で調べてください。
Copyright © Fusic Co., Ltd. All rights reserved. 28
- 30. 6. リスクを減らす
SPOFという考え方
Single Point Of Failure (単一障害点)
= そこ止まっちゃだめぇぇぇな所
→ 意識しないと冗長化の意味がないです。
Copyright © Fusic Co., Ltd. All rights reserved. 30
- 31. 6. リスクを減らす
SPOFの例(1)
LVS ここがSPOF
WebSv1 WebSv2
DBSv1 DBSv2
Copyright © Fusic Co., Ltd. All rights reserved. 31
- 32. 6. リスクを減らす
SPOFの例(2)
平
田
弁当を注文する人 弁当を食べる人
こいつがSPOF
モデル:弊社
Copyright © Fusic Co., Ltd. All rights reserved. 32
- 33. 6. リスクを減らす
基本的な考え方として
・100%故障しないはありえない
・n台あればリスクは1/n
ではなく1/n になる
2
Copyright © Fusic Co., Ltd. All rights reserved. 33
- 35. 7. 参考資料
・書籍「サーバ/インフラを支える技術」
・DSAS開発者の部屋
・keepalived公式
・Web+DB Press
・他いろいろ
Copyright © Fusic Co., Ltd. All rights reserved. 35