大きな節目だなあと思っていたLVSの検証に入ってます、まったく使いこなせてはいませんが、とりあえずラウンドロビンでアクセスを分散させることには成功しました。
これでまあ、ひと段落かなあ。
と。
もちのロン、今はローカルでの検証だけですがざっと載せてみます。
まずは今回の構成を図で紹介
サーバーのOSはすべてCentOS6.3です。
図ではラック型とかブレードサーバーとかですが、実は全部VMware中のものです。
仮想なんで何でもありです、速く動こうとするな、速いと知れ みたいな。
ipvsadmとKeepalivedのインストールをします。
Keepalivedのインストールは齊藤貴義さんのrpmを使わせていただきました。
yum -y install ipvsadm
rpm -ivh keepalived-1.2.7-5.x86_64.rpm
vim /etc/sysconfig/iptables
-A PREROUTING -p tcp -d 192.168.50.100 -j REDIRECT
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
tako@example.net
}
notification_email_from tako@example.net
smtp_server 192.168.24.100
smtp_connect_timeout 30
router_id LVS_DEVEL
}
include web.conf
vim /etc/keepalived/web.conf
virtual_server_group HTTP100 {
192.168.24.100 80
}
virtual_server group HTTP100 {
delay_loop 3
lvs_sched rr ←これがラウンドロビン
lvs_method NAT
protocol TCP
real_server 192.168.50.101 80 {
weight 1
inhibit_on_failure
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
}
}
real_server 192.168.50.102 80 {
weight 1
inhibit_on_failure
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
}
}
}こんな感じ。
vs_sched lcにすると最小接続数のサーバにリクエストを転送することになる。
ほかにもいろいろありました。
そして起動、ドン。
/etc/init.d/ipvsadm start
/etc/init.d/keepalived start
ipvsadm -ln でチェク。
ipvsadm -ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.24.100:80 rr -> 192.168.50.101:80 Masq 1 0 0 -> 192.168.50.102:80 Masq 1 0 0
こんなのが出る。
Apacheにはindexだけのページを用意して、F5でラウンドロビンされる様をSSに撮ってみた。
ちょっと死活監視?のものが多い気もするけど、しっかりアクセスが振り分けされていた。
テスト環境の検証なのでOKでしょう。
つうことで、にわかのたけけんでも構成できるくらい簡単になっています。
もう1歩踏み込むとめちゃくちゃ難しいんでしょうけどね。
ぜひコストダウンを検討してみてはいかがでしょうか、みたいな。
誰に言ってるんだ(笑)
参考サイト
とある社会学屋の唯物史観 | 齊藤貴義のメインブログ
Sleepless geek in Seattle
usagitest – usagitestのページ

