keepalivedで冗長化
- 2008/08/17
この前の LVS の構成では落ちているサーバにもお構いなしにリクエストを
転送してしまうので keepalived を使って冗長化してみました
ちなみに、今回も動作を見たかっただけなので必要最低限のことしか
やってませんが、あしからず
まずは keepalived をソースからインストールします
# tar zxvf keepalived-1.1.15.tar.gz
# cd keepalived-1.1.15
# ./configure --prefix=/usr/local
# make
# make install
特に引っかかるところはありませんでした
続いて最低限の keepalived.conf を作ります
virtual_server 192.168.0.200 80 {
delay_loop 5
lb_algo lc
lb_kind NAT
nat_mask 255.255.255.0
protocol TCP
sorry_server 127.0.0.1 80
virtualhost 127.0.0.1
real_server 192.168.1.101 80 {
weight 1
inhibit_on_failure
HTTP_GET {
url {
path /index.html
status_code 200
}
connect_timeout 3
}
}
real_server 192.168.1.102 80 {
weight 1
inhibit_on_failure
HTTP_GET {
url {
path /index.html
status_code 200
}
connect_timeout 3
}
}
}
これで環境ができました
早速実行してみます
# /usr/local/sbin/keepalived -n -S 1 ¥
-f /usr/local/etc/keepalived/keepalived.conf --check -d
まず両方のリアルサーバが生きている状態で確認
# 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.0.200:80 lc
-> 192.168.1.102:80 Masq 1 0 0
-> 192.168.1.101:80 Masq 1 0 0
ここで 192.168.1.102 側を落としてみると
# 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.0.200:80 lc
-> 192.168.1.102:80 Masq 0 0 0
-> 192.168.1.101:80 Masq 1 0 0
自動的に Weight が 0 に変わって転送されなくなりました
素晴らしい〜
- 23:33:00
- | comment(0)
- | trackback(0)
- | Linux
- |

この記事に対するトラックバック
この記事のトラックバックURL
この記事にコメントする
- HOME |


この記事に対するコメント