piranha实现web负载均衡(dr)
时间:2010-06-12 来源:qingheliu
这个文档写的蛮好的!
|
按照它来配,在realserver配置上老是出问题!
我正确的realserver配置如下:
1:在/etc/sysctl.conf中添加如下四行:
# disable arp
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
2:在/etc/sysconfig/network-scripts/
目录下创建一个文件,名为ifcfg-lo:0
内容如下 :注意NETMASK=255.255.255.255而非255.255.255.0
[root@qht124 ~]# cd /etc/sysconfig/network-scripts/
[root@qht124 network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@qht124 network-scripts]# cat ifcfg-lo
ifcfg-lo ifcfg-lo:0
[root@qht124 network-scripts]# cat ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.1.6 #vip address
NETMASK=255.255.255.255 #netmask
BROADCAST=192.168.1.6 #vip address
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
NAME=loopback
ONBOOT=yes
测试日志:
我手动关闭192.168.1.5上的pulse进程,则eth0:1网口消失了
如下:[root@qht124 ~]# /etc/init.d/pulse stop
Shutting down pulse: [ OK ]
[root@qht124 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:8A:0A:AF
inet addr:192.168.1.5 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe8a:aaf/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2462 errors:0 dropped:0 overruns:0 frame:0
TX packets:2541 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:203344 (198.5 KiB) TX bytes:203901 (199.1 KiB)
Interrupt:193 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:79 errors:0 dropped:0 overruns:0 frame:0
TX packets:79 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:7384 (7.2 KiB) TX bytes:7384 (7.2 KiB)
同时日志文件中内容如下:
[root@qht124 ~]# tail -f /var/log/messages
......
Jun 12 10:23:31 qht124 pulse[2957]: Terminating due to signal 15
Jun 12 10:23:31 qht124 lvs[3056]: shutting down due to signal 15
Jun 12 10:23:31 qht124 lvs[3056]: shutting down virtual service virtual
Jun 12 10:23:31 qht124 nanny[3070]: Terminating due to signal 15
Jun 12 10:23:31 qht124 nanny[3071]: Terminating due to signal 15
Jun 12 10:23:32 qht124 pulse: pulse shutdown succeeded
在192.168.1.4上日志中内容如下:
Jun 12 10:12:12 qht124 pulse[2940]: partner dead: activating lvs
Jun 12 10:12:12 qht124 kernel: send_arp uses obsolete (PF_INET,SOCK_PACKET)
Jun 12 10:12:12 qht124 kernel: IPVS: Registered protocols (TCP, UDP, AH, ESP)
Jun 12 10:12:12 qht124 kernel: IPVS: Connection hash table configured (size=4096, memory=32Kbytes)
Jun 12 10:12:12 qht124 kernel: IPVS: ipvs loaded.
Jun 12 10:12:12 qht124 lvs[3952]: starting virtual service virtual active: 80
Jun 12 10:12:12 qht124 kernel: IPVS: [wlc] scheduler registered.
Jun 12 10:12:12 qht124 lvs[3952]: create_monitor for virtual/web1 running as pid 3966
Jun 12 10:12:12 qht124 lvs[3952]: create_monitor for virtual/web2 running as pid 3967
Jun 12 10:12:12 qht124 nanny[3967]: starting LVS client monitor for 192.168.1.6:80 -> 192.168.1.3:80
Jun 12 10:12:12 qht124 nanny[3966]: starting LVS client monitor for 192.168.1.6:80 -> 192.168.1.2:80
Jun 12 10:12:17 qht124 pulse[3954]: gratuitous lvs arps finished
Jun 12 10:16:00 qht124 nanny[3966]: making 192.168.1.2:80 available
Jun 12 10:16:06 qht124 nanny[3967]: making 192.168.1.3:80 available
同时:
[root@qht124 ~]# ipvsadm -ln
IP Virtual Server version 1.2.0 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.1.6:80 wlc persistent 30
-> 192.168.1.3:80 Route 1 0 0
-> 192.168.1.2:80 Route 1 0 0
[root@qht124 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:7F:30:5D
inet addr:192.168.1.4 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe7f:305d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1041 errors:0 dropped:0 overruns:0 frame:0
TX packets:955 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:79690 (77.8 KiB) TX bytes:66145 (64.5 KiB)
Interrupt:193 Base address:0x2000
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:7F:30:5D
inet addr:192.168.1.6 Bcast:192.168.1.6 Mask:255.255.255.255
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:193 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:10 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:760 (760.0 b) TX bytes:760 (760.0 b)
也可使用web 界面来进行测试,方法:最后先修改real1和real2的index.html内容,使得显示不一样。这样方便测试
http://192.168.1.6即可
还有一点:
在real2和real1上同时开启httpd服务,同时在active router上开启httpd服务,则http://192.168.1.6会执行real2或real1上的内容,而不会显示192.168.1.6上的httpd的内容。 |
过程中遇到的问题:
root@qht124 ha]# /etc/init.d/pulse start
错误如下:
Starting pulse: pulse: no active lvs services defined in /etc/sysconfig/ha/lvs.cf
解决方法: |