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