2011年11月29日火曜日

LVS ロードバランサ (3) VRRP

こんばんは、Cです。

LVS ロードバランサのフィナーレは、
LVS自体の冗長化だ。

もう1機LVSを追加しAct/Std構成にする。

■LVS01の仮想IPを解除する
VIPはkeepalivedのVRRPで管理するため、
前回まで使用していた、eth0:0を削除する。
#vi /etc/network/interfaces
auto lo eth0 bond0
iface lo inet loopback
allow-hotplug eth0 eth1 eth2

iface eth0 inet static
address 192.168.24.161
netmask 255.255.255.0
gateway 192.168.24.1

#iface eth0:0 inet static
#address 192.168.24.160
#netmask 255.255.255.0
#gateway 192.168.24.1

iface bond0 inet static
address 10.10.10.11
netmask 255.255.255.0
broadcast 10.10.10.255
slaves eth1 eth2

■LVS02をセットアップ
 ・ifslave,ipvsadm,keepalivedのインストール
 ・LVS01にあわせてネットワーク設定

■LVS01 VRRP設定
vrrp_instance VI {
state BACKUP
interface bond0
garp_master_delay 5
virtual_router_id 1
priority 101
nopreempt
advert_int 1
authentication {
auth_type PASS
auth_pass p@ssw0rd
}
virtual_ipaddress {
192.168.24.160/24 dev eth0
}
}


virtual_server_group PROXY10 {
192.168.24.160 8080
}

virtual_server group PROXY10 {
delay_loop 3
lvs_sched wrr
lvs_method DR
protocol TCP


real_server 10.10.10.10 8080{
weight 1
inhibit_on_failure

TCP_CHECK {
connect_port 8080
connect_timeout 2
}
}

real_server 10.10.10.20 8080{
weight 1
inhibit_on_failure

TCP_CHECK {
connect_port 8080
connect_timeout 2
}
}

}

■LVS02 VRRP設定
vrrp_instance VI {
state BACKUP
interface bond0
garp_master_delay 5
virtual_router_id 1
priority 100
nopreempt
advert_int 1
authentication {
auth_type PASS
auth_pass p@ssw0rd
}
virtual_ipaddress {
192.168.24.160/24 dev eth0
}
}


virtual_server_group PROXY10 {
192.168.24.160 8080
}

virtual_server group PROXY10 {
delay_loop 3
lvs_sched wrr
lvs_method DR
protocol TCP


real_server 10.10.10.10 8080{
weight 1
inhibit_on_failure

TCP_CHECK {
connect_port 8080
connect_timeout 2
}
}

real_server 10.10.10.20 8080{
weight 1
inhibit_on_failure

TCP_CHECK {
connect_port 8080
connect_timeout 2
}
}

}

LVS01と違うのはpriorityだけ。

■VRRPを動かす

1号機のkeepalivedを動作させる。

#/etc/init.d/keepalived start

syslogにMASTERとなった事が出力されていれば、OK。

#ip addr show eth0
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:ff:3b:21 brd ff:ff:ff:ff:ff:ff
inet 192.168.24.161/24 brd 192.168.24.255 scope global eth0
inet 192.168.24.160/24 scope global secondary eth0

VIPが設定されているはずだ。

次に2号機でもkeepalivedを動作させよう。
2号機はBACKUPとなりVIPは振られない。

■障害テスト

1.クライアントからVIP宛にping -t しておこう。
2.LVS01をshutdownする。
3.pingは途切れず、クライアントからブラウザでPROXY経由でWebが見れる事を確認

自分の場合は1回だけPing応答が途切れたが、タイミングの問題だろう。

以上、動作も問題ない。

0 件のコメント:

コメントを投稿