4. 检查ipvs状态
命令: ipvsadm
IP Virtual Server version
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.104.99:http rr
-> 192.168.113.23:http Tunnel 1 0 0
-> 192.168.104.69:http Tunnel 1 0 0
具体命令内容即参数请参考:man clustat.
5. LVS配置文件
一个集群中的各个节点的配置文件应该是一致的位置都是在/etc/sysconfig/ha/下,名字是lvs.cf.。且内容相同。
[root@LB ha]# more /etc/sysconfig/ha/lvs.cf
serial_no = 294
primary = 192.168.104.52
service = lvs
backup_active = 1
backup = 192.168.104.98
heartbeat = 1
heartbeat_port = 539
keepalive = 6
deadtime = 18
network = tunnel
debug_level = NONE
virtual JBOSS {
active = 1
address = 192.168.104.99 eth0:0
vip_nmask = 255.255.255.255
port = 80
persistent = 0
send = "GET / HTTP/1.0\r\n\r\n"
expect = "HTTP"
use_regex = 0
load_monitor = ruptime
scheduler = rr
protocol = tcp
timeout = 6
reentry = 15
quiesce_server = 0
server 192.168.104.69 {
address = 192.168.104.69
active = 1
weight = 1
}
server 192.168.113.23 {
address = 192.168.113.23
active = 1
weight = 1
}
}
6. 查看日志文件
LVS的日志文件在可以从/var/log/message从得到.从这里你可以得到你在运行lvs各种服务时是否有报错信息,以及错误的来源与故障点,这个文件是系统排错时的理想助手.建议经常使用,方便排错与日常维护.
7 常见问题解答
常见问题解答
(1)LB上可以看到IPVS路由,但是得不到正常服务
解决办法 检查real server上web服务是否正常,检查real server的网络配置,确保real server配置正确的VIP,可以把数据包直接返回给请求客户端
检查办法
查看IPVS连接状态信息
ipvsadm -lcn
IPVS connection entries
pro expire state source virtual destination
TCP 01:03 FIN_WAIT 192.168.14.206:1708 192.168.104.99:80 192.168.104.69:80
TCP 01:03 FIN_WAIT 192.168.14.206:1706 192.168.104.99:80 192.168.113.23:80
TCP 01:00 FIN_WAIT 192.168.14.206:1668 192.168.104.99:80 192.168.113.23:80
TCP 01:00 SYN-RECV 92.168.14.206:1670 192.168.104.99:80 192.168.104.69:80
1
FIN_WAIT 代表TCP连接已经释放,数据发送完成
SYN-RECV 代表LB已经发起SYN请求,realserver 无响应或有异常
此时我们重点检查real server,确保realserver能正常提供服务,VIP正确配置
(2) LB可以学习到IPVS路由,real server也正常服务,但不能提供服务
在real server抓包,确保它能接受LB转发的数据包
Tcpdump –i tunl0
listening on tunl0, link-type RAW (Raw IP), capture size 96 bytes
17:52:29.220363 IP 192.168.14.206.1412 > 192.168.104.48.http: S 1584784775:1584784775(0) win 65535 <mss 1460,nop,nop,sackOK>
17:52:29.220590 IP 192.168.14.206.1412 > 218.28.20.141.http: . ack 53993279 win 65535
17:52:29.225907 IP 192.168.14.206.1412 > 218.28.20.141 http: P 0:426(426) ack 1 win 65535
17:52:29.226780 IP 192.168.14.206.1412 > 218.28.20.141 http: . ack 230 win 65307
17:52:29.230546 IP 192.168.14.206.1412 > 218.28.20.141 http: F 426:426(0) ack 230 win 65307
如有以上信息,说明realserver已经通过 tunnnel正确接收数据包
检查realserver是否打开IP转发
0代表关闭IP转发
1代表打开IP转发
echo "1" >/proc/sys/net/ipv4/ip_forward
关闭ARP在real server上对VIP的响应,使的只有LB才会响应客户端的请求
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
在real server上配置tunnel ,
ifconfig tunl0 218.28.20.141 netmask 255.255.255.255 broadcast 218.28.20.141
route add -host 218.28.20.141 dev tunl0
(3 )LB不能学习IPVS路由
确保LB上VIP正确配置,pulse 服务正常启动
检查 /usr/sbin/nanny是否正常启动,nanny进程主要是用来监控 realserver服务状态的
Ps –ef | grep nanny
在关闭pulse服务时,一定要先关闭备机上的pulse ,以避免切换到备机上
(4) iptunnel配置
Iptunnel 查看tunnel配置信息
sit0: ipv6/ip remote any local any ttl 64 nopmtudisc
tunl0: ip/ip remote any local any ttl inherit nopmtudisc
LB上配置文件参考
该配置文件可以通过 vcompiranha管理工具配置完成后,保存生成
