LVSつこうた話

4,124 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,124
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
27
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

LVSつこうた話

  1. 1. LVSつこうた話 2009/05/29 株式会社Fusic 平田 哲 Copyright © Fusic Co., Ltd. All rights reserved.
  2. 2. LVSつこうた話 +ちょっと人生の話 2009/05/29 株式会社Fusic 平田 哲 Copyright © Fusic Co., Ltd. All rights reserved.
  3. 3. 0. 自己紹介 Copyright © Fusic Co., Ltd. All rights reserved. 3
  4. 4. 0. 自己紹介 平田 哲 (id:debility) ・プログラマ ・サーバとか主担当(多分) ・ネットワークとか主担当(多分) ・ ・ !? Copyright © Fusic Co., Ltd. All rights reserved. 4
  5. 5. 0. 自己紹介 平田 哲 (id:debility) ・mixiアプリ進出 どーせえと。 Copyright © Fusic Co., Ltd. All rights reserved. 5
  6. 6. 0. 自己紹介 まあ普段通りです。 今日もだらだらと喋ります。 Copyright © Fusic Co., Ltd. All rights reserved. 6
  7. 7. 1. なぜ分散するか Copyright © Fusic Co., Ltd. All rights reserved. 7
  8. 8. 1. なぜ分散するか 個人的に大きなメリット 1. 冗長化 2. より高負荷に耐えられる → サービスが止まらない(超重要) Copyright © Fusic Co., Ltd. All rights reserved. 8
  9. 9. 2. LVS Copyright © Fusic Co., Ltd. All rights reserved. 9
  10. 10. 2. LVS ロードバランサ 外部ネットワークからの要求を一元的に管 理し、同等の機能を持つ複数のサーバに要 求を転送する装置。なるべく多くのサーバ に要求を分散して送信し、各サーバが快適 な応答速度を保つことを目的としている。 - IT用語辞典より引用 Copyright © Fusic Co., Ltd. All rights reserved. 10
  11. 11. 2. LVS ロードバランサ ざっくり言うと ・リクエストを複数サーバに分散 ・ダウンしたら分散対象から外す Copyright © Fusic Co., Ltd. All rights reserved. 11
  12. 12. 2. LVS Copyright © Fusic Co., Ltd. All rights reserved. 12
  13. 13. 2. LVS Copyright © Fusic Co., Ltd. All rights reserved. 13
  14. 14. 2. LVS 製品価格:¥1,485,000~ orz とまあ、恐ろしく高価な代物なんですが。 Copyright © Fusic Co., Ltd. All rights reserved. 14
  15. 15. 2. LVS LVS (Linux Virtual Server) http://www.linux-vs.org/ ・Linux負荷分散ソリューション ざっくり言うと: Linuxでロードバランシングできる Copyright © Fusic Co., Ltd. All rights reserved. 15
  16. 16. 2. LVS LVS を使うメリット ・安価で導入できる → 貧弱なマシンでも問題ない ・Linuxなので応用が利く → 他の用途にも使える → ログを溜めておくとか Copyright © Fusic Co., Ltd. All rights reserved. 16
  17. 17. 3. つこうたデモ Copyright © Fusic Co., Ltd. All rights reserved. 17
  18. 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. 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
  20. 20. 4. ざっくり使用例 Copyright © Fusic Co., Ltd. All rights reserved. 20
  21. 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. 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. 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. 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. 25. 4. ざっくり使用例 つこうたOS:CentOS 5.2 5. 動かす /etc /init.d/keepalived start てな感じです。 Copyright © Fusic Co., Ltd. All rights reserved. 25
  26. 26. 5. 注意するところ Copyright © Fusic Co., Ltd. All rights reserved. 26
  27. 27. 5. 注意するところ ・セッション セッションは各サーバに保持される = セッションがぶちぶち切れてしまう 解法1: persistence_timeout 解法2: NAS 解法3: repcached などなど。 Copyright © Fusic Co., Ltd. All rights reserved. 27
  28. 28. 5. 注意するところ ・コンテンツの同期 解法1: 手動で頑張る 解法2: rsync 解法3: makuosanとか 解法4: DRBD この辺は各自で調べてください。 Copyright © Fusic Co., Ltd. All rights reserved. 28
  29. 29. 6. リスクを減らす Copyright © Fusic Co., Ltd. All rights reserved. 29
  30. 30. 6. リスクを減らす SPOFという考え方 Single Point Of Failure (単一障害点) = そこ止まっちゃだめぇぇぇな所 → 意識しないと冗長化の意味がないです。 Copyright © Fusic Co., Ltd. All rights reserved. 30
  31. 31. 6. リスクを減らす SPOFの例(1) LVS ここがSPOF WebSv1 WebSv2 DBSv1 DBSv2 Copyright © Fusic Co., Ltd. All rights reserved. 31
  32. 32. 6. リスクを減らす SPOFの例(2) 平 田 弁当を注文する人 弁当を食べる人 こいつがSPOF モデル:弊社 Copyright © Fusic Co., Ltd. All rights reserved. 32
  33. 33. 6. リスクを減らす 基本的な考え方として ・100%故障しないはありえない ・n台あればリスクは1/n ではなく1/n になる 2 Copyright © Fusic Co., Ltd. All rights reserved. 33
  34. 34. 7. 参考資料 Copyright © Fusic Co., Ltd. All rights reserved. 34
  35. 35. 7. 参考資料 ・書籍「サーバ/インフラを支える技術」 ・DSAS開発者の部屋 ・keepalived公式 ・Web+DB Press ・他いろいろ Copyright © Fusic Co., Ltd. All rights reserved. 35
  36. 36. ご清聴ありがとうございました。 Copyright © Fusic Co., Ltd. All rights reserved. 36

×