LVS_NAT+keepalived疑难问题

2010年3月3日 | 标签: , ,

这个问题很简单,但花了我两天时间,郁闷
正文:

LVS_NAT配置可以参考这篇文件:http://www.linuxnotes.cn/?p=884
我LVS_NAT环境都搭建好了,测试也正常了,我就不贴具体配置了。现在主要是我想用KEEPALIVED来检测realserver是否正常。
lvs手动启动脚本:

1
2
3
4
5
6
7
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
LVSADM='/sbin/ipvsadm'
$LVSADM -C
$LVSADM -A -t 192.168.1.9:80 -s rr
$LVSADM -a -t 192.168.1.9:80 -r 10.10.10.10:80 -m -w 1
$LVSADM -a -t 192.168.1.9:80 -r 10.10.10.11:80 -m -w 1

keepalived安装过程:

1
2
3
4
5
6
7
8
9
10
11
12
[root@lb keepalived-1.1.19]# ./configure --prefix=/ --mandir=/usr/share/man
Keepalived configuration
------------------------
Keepalived version : 1.1.19
Compiler : gcc
Compiler flags : -g -O2
Extra Lib : -lpopt -lssl -lcrypto
Use IPVS Framework : Yes
IPVS sync daemon support : Yes
Use VRRP Framework : Yes
Use Debug flags : No
[root@lb keepalived-1.1.19]# make && make install

keepalived配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
global_defs {
notification_email {
acassen@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
virtual_server 192.168.1.9 80 {
delay_loop 6
lb_algo rr
lb_kind NAT
nat_mask 255.255.255.0
persistence_timeout 20
protocol TCP
real_server 10.10.10.10 80 {
weight 1
HTTP_GET{
url{
path /index.html
digest 9e60b98421b874661bdc7260aa1d6206
}
connect_port 80
connect_timeout 3
}
}

real_server 10.10.10.11 80 {
weight 1
HTTP_GET{
url{
path /index.html
digest 9e60b98421b874661bdc7260aa1d6206
}
connect_port 80
connect_timeout 3
}
}

}

重启keepalived后

1
2
3
4
5
6
7
8
/etc/init.d/keepalived start

[root@lb keepalived]# ipvsadm -l
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.1.9:http rr persistent 20
-> 10.10.10.10:http Masq 1 0 0

它只能检测到第一台realserver,且即使这台realserver 80端口关闭,keepalived也检测不出来,我用TCP_CHECK也试过,都是老样子,请各位高手指教。

 

故障解决:原因是因为keepalived的配置有问题,TCP_CHECK和后面的{符号中间的空格。很惭愧,被个空格折腾了两天。

再贴下日志文件:
[root@lb keepalived]# tail /var/log/messages -f
Mar 3 15:43:37 lb Keepalived_vrrp: Configuration is using : 32921 Bytes
Mar 3 15:43:37 lb Keepalived_vrrp: Using LinkWatch kernel netlink reflector…
Mar 3 15:44:38 lb Keepalived_healthcheckers: Error connecting server [10.10.10.11:80].
Mar 3 15:44:38 lb Keepalived_healthcheckers: Removing service [10.10.10.11:80] from VS [192.168.1.9:80]

Mar 3 15:44:38 lb Keepalived_healthcheckers: Remote SMTP server [192.168.200.1:25] connected.
Mar 3 15:45:02 lb Keepalived_healthcheckers: MD5 digest success to [10.10.10.11:80] url(1).
Mar 3 15:45:08 lb Keepalived_healthcheckers: Timeout reading data to remote SMTP server [192.168.200.1:25].
Mar 3 15:45:08 lb Keepalived_healthcheckers: Remote Web server [10.10.10.11:80] succeed on service.
Mar 3 15:45:08 lb Keepalived_healthcheckers: Adding service [10.10.10.11:80] to VS [192.168.1.9:80]

Mar 3 15:45:08 lb Keepalived_healthcheckers: Remote SMTP server [192.168.200.1:25] connected.
^[[AMar 3 15:45:38 lb Keepalived_healthcheckers: Timeout reading data to remote SMTP server [192.168.200.1:25].
Mar 3 15:49:45 lb Keepalived_healthcheckers: Error connecting server [10.10.10.11:80].
Mar 3 15:49:45 lb Keepalived_healthcheckers: Removing service [10.10.10.11:80] from VS [192.168.1.9:80]
Mar 3 15:49:45 lb Keepalived_healthcheckers: Remote SMTP server [192.168.200.1:25] connected.
Mar 3 15:49:57 lb Keepalived_healthcheckers: MD5 digest success to [10.10.10.11:80] url(1).
Mar 3 15:50:03 lb Keepalived_healthcheckers: Remote Web server [10.10.10.11:80] succeed on service.
Mar 3 15:50:03 lb Keepalived_healthcheckers: Adding service [10.10.10.11:80] to VS [192.168.1.9:80]
Mar 3 15:50:03 lb Keepalived_healthcheckers: Remote SMTP server [192.168.200.1:25] connected.
Mar 3 15:50:15 lb Keepalived_healthcheckers: Timeout reading data to remote SMTP server [192.168.200.1:25].

以上日志红色显示区域为realserver10.10.10.11 apache服务重启时生成的

Related posts:

  1. LVS-DR简易测试实验 结构图如下: 环境:OS:CentOS 5.3 调度器LVS:lb-192.168.1.8 真实服务器1:node1-192.168.1.10 真实服务器2:node2-192.168.1.11 网关(路由器):192.168.1.1 ipvsadm安装不讲了,请参考http://www.linuxnotes.cn/?p=884 我直接贴配置,这个模式最关键的地方是realserver的arp问题。 1,调度器(lb)配置如下:...

以上关联文章由 Yet Another Related Posts Plugin 提供支持。

目前还没有任何评论.
注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。
关闭
Powered by ShareThis