Top Banner
2009/05/29 株式会社Fusic 平田 哲 Copyright © Fusic Co., Ltd. All rights reserved. LVSつこうた話
36

LVSつこうた話

Jul 01, 2015

Download

Technology

Satoshi Hirata
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: LVSつこうた話

2009/05/29株式会社Fusic 平田 哲

Copyright © Fusic Co., Ltd. All rights reserved.

LVSつこうた話

Page 2: LVSつこうた話

LVSつこうた話+ちょっと人生の話

2009/05/29株式会社Fusic 平田 哲

Copyright © Fusic Co., Ltd. All rights reserved.

Page 3: LVSつこうた話

0. 自己紹介

3Copyright © Fusic Co., Ltd. All rights reserved.

Page 4: LVSつこうた話

平田 哲 (id:debility)・プログラマ・サーバとか主担当(多分)・ネットワークとか主担当(多分)・

!?

0. 自己紹介

4Copyright © Fusic Co., Ltd. All rights reserved.

Page 5: LVSつこうた話

平田 哲 (id:debility)・mixiアプリ進出

どーせえと。

0. 自己紹介

5Copyright © Fusic Co., Ltd. All rights reserved.

Page 6: LVSつこうた話

まあ普段通りです。今日もだらだらと喋ります。

0. 自己紹介

6Copyright © Fusic Co., Ltd. All rights reserved.

Page 7: LVSつこうた話

1. なぜ分散するか

7Copyright © Fusic Co., Ltd. All rights reserved.

Page 8: LVSつこうた話

個人的に大きなメリット

1. 冗長化2. より高負荷に耐えられる

→ サービスが止まらない(超重要)

1. なぜ分散するか

8Copyright © Fusic Co., Ltd. All rights reserved.

Page 9: LVSつこうた話

2. LVS

9Copyright © Fusic Co., Ltd. All rights reserved.

Page 10: LVSつこうた話

ロードバランサ

外部ネットワークからの要求を一元的に管理し、同等の機能を持つ複数のサーバに要求を転送する装置。なるべく多くのサーバに要求を分散して送信し、各サーバが快適な応答速度を保つことを目的としている。

- IT用語辞典より引用

2. LVS

10Copyright © Fusic Co., Ltd. All rights reserved.

Page 11: LVSつこうた話

ロードバランサ

ざっくり言うと・リクエストを複数サーバに分散・ダウンしたら分散対象から外す

2. LVS

11Copyright © Fusic Co., Ltd. All rights reserved.

Page 12: LVSつこうた話

2. LVS

12Copyright © Fusic Co., Ltd. All rights reserved.

Page 13: LVSつこうた話

2. LVS

13Copyright © Fusic Co., Ltd. All rights reserved.

Page 14: LVSつこうた話

製品価格:¥1,485,000~

orz

とまあ、恐ろしく高価な代物なんですが。

2. LVS

14Copyright © Fusic Co., Ltd. All rights reserved.

Page 15: LVSつこうた話

LVS (Linux Virtual Server)http://www.linux-vs.org/

・Linux負荷分散ソリューション

ざっくり言うと:Linuxでロードバランシングできる

2. LVS

15Copyright © Fusic Co., Ltd. All rights reserved.

Page 16: LVSつこうた話

LVS を使うメリット・安価で導入できる→ 貧弱なマシンでも問題ない・Linuxなので応用が利く→ 他の用途にも使える

→ ログを溜めておくとか

2. LVS

16Copyright © Fusic Co., Ltd. All rights reserved.

Page 17: LVSつこうた話

3. つこうたデモ

17Copyright © Fusic Co., Ltd. All rights reserved.

Page 18: LVSつこうた話

構成図:

3. つこうたデモ

18Copyright © Fusic Co., Ltd. All rights reserved.

WebSrv1 WebSrv2LVS

VIP: 10.0.10.50RIP: 10.0.10.51

10.0.10.101 10.0.10.102

想定する外からの入口:10.0.10.50

Page 19: LVSつこうた話

構成図2:

3. つこうたデモ

19Copyright © Fusic Co., Ltd. All rights reserved.

WebSrv1 WebSrv2LVS1/LVS2

VIP: 10.0.10.50LVS1: 10.0.10.51LVS2: 10.0.10.52

10.0.10.101 10.0.10.102

想定する外からの入口:10.0.10.50

Page 20: LVSつこうた話

4. ざっくり使用例

20Copyright © Fusic Co., Ltd. All rights reserved.

Page 21: LVSつこうた話

つこうたOS:CentOS 5.2

1. IPVS# yum -y install ipvsadm

2. keepalivedhttp://www.keepalived.org/からダウンロードしてRPM作ってインストール

4. ざっくり使用例

21Copyright © Fusic Co., Ltd. All rights reserved.

Page 22: LVSつこうた話

つこうたOS:CentOS 5.2

3. /etc/keepalived/keepalived.conf

http://viz.is-a-geek.com/~viz/cw/index.php?LVS

とか参考にして編集する

→ codecheck.inに後で置いときます。

4. ざっくり使用例

22Copyright © Fusic Co., Ltd. All rights reserved.

Page 23: LVSつこうた話

つこうたOS:CentOS 5.2

4. iptables設定DSRで組む場合はiptablesで設定が必要

DSRについてはhttp://d.hatena.ne.jp/yamaz/20060817

を参照すると分かりやすいです。

4. ざっくり使用例

23Copyright © Fusic Co., Ltd. All rights reserved.

Page 24: LVSつこうた話

つこうた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

4. ざっくり使用例

24Copyright © Fusic Co., Ltd. All rights reserved.

Page 25: LVSつこうた話

つこうたOS:CentOS 5.2

5. 動かす/etc/init.d/keepalived start

てな感じです。

4. ざっくり使用例

25Copyright © Fusic Co., Ltd. All rights reserved.

Page 26: LVSつこうた話

5. 注意するところ

26Copyright © Fusic Co., Ltd. All rights reserved.

Page 27: LVSつこうた話

・セッション

セッションは各サーバに保持される= セッションがぶちぶち切れてしまう

解法1: persistence_timeout解法2: NAS解法3: repcachedなどなど。

5. 注意するところ

27Copyright © Fusic Co., Ltd. All rights reserved.

Page 28: LVSつこうた話

・コンテンツの同期解法1: 手動で頑張る解法2: rsync解法3: makuosanとか解法4: DRBD

この辺は各自で調べてください。

5. 注意するところ

28Copyright © Fusic Co., Ltd. All rights reserved.

Page 29: LVSつこうた話

6. リスクを減らす

29Copyright © Fusic Co., Ltd. All rights reserved.

Page 30: LVSつこうた話

SPOFという考え方

Single Point Of Failure (単一障害点)= そこ止まっちゃだめぇぇぇな所

→ 意識しないと冗長化の意味がないです。

6. リスクを減らす

30Copyright © Fusic Co., Ltd. All rights reserved.

Page 31: LVSつこうた話

SPOFの例(1)

31Copyright © Fusic Co., Ltd. All rights reserved.

6. リスクを減らす

WebSv1 WebSv2

DBSv1 DBSv2

LVS ここがSPOF

Page 32: LVSつこうた話

SPOFの例(2)

32Copyright © Fusic Co., Ltd. All rights reserved.

6. リスクを減らす

弁当を注文する人 弁当を食べる人

こいつがSPOF

平田

モデル:弊社

Page 33: LVSつこうた話

基本的な考え方として・100%故障しないはありえない・n台あればリスクは1/n

ではなく1/n になる

6. リスクを減らす

33Copyright © Fusic Co., Ltd. All rights reserved.

2

Page 34: LVSつこうた話

7. 参考資料

34Copyright © Fusic Co., Ltd. All rights reserved.

Page 35: LVSつこうた話

・書籍「サーバ/インフラを支える技術」・DSAS開発者の部屋・keepalived公式・Web+DB Press・他いろいろ

7. 参考資料

35Copyright © Fusic Co., Ltd. All rights reserved.

Page 36: LVSつこうた話

ご清聴ありがとうございました。

36Copyright © Fusic Co., Ltd. All rights reserved.