- 論壇徽章:
- 0
|
環(huán)境:
Rserver1:192.168.0.196
Rserver2:192.168.0.172
vip:192.168.0.18
Dserver:192.168.0.238
先說問題.我看了好多人問過目前好像沒有解決
我用vmware來做測試,發(fā)現(xiàn)一切日志正常,但是問題來了...在ipvsadm做測試wrr調(diào)度法,權(quán)重都為1的時候,當(dāng)使用vip訪問會調(diào)度到r1上面,再刷..還是r1....但等過一段時間后再會變r2...
dserver配置命令如下:
ifconfig eth0:0 192.168.0.18 netmask 255.255.255.0 up
ipvsadm -At 192.168.0.18:80 -s wrr
ipvsadm -at 192.168.0.18:80 -r 192.168.0.172 -g -w 1
ipvsadm -at 192.168.0.18:80 -r 192.168.0.196 -g -w 1
兩個rserver都跑腳本來配置如下:- cat lvs_dr_RS.sh
- #!/bin/bash
- #
- # Script to start LVS DR real server.
- # chkconfig: - 90 10
- # description: LVS DR real server
- #
- . /etc/rc.d/init.d/functions
- VIP=192.168.0.18
- host=`/bin/hostname`
- case "$1" in
- start)
- # Start LVS-DR real server on this machine.
- /sbin/ifconfig lo down
- /sbin/ifconfig lo up
- echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
- echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
- echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
- echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
- /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
- /sbin/route add -host $VIP dev lo:0
- ;;
- stop)
- # Stop LVS-DR real server loopback device(s).
- /sbin/ifconfig lo:0 down
- echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
- echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
- echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
- echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
- ;;
- status)
- # Status of LVS-DR real server.
- islothere=`/sbin/ifconfig lo:0 | grep $VIP`
- isrothere=`netstat -rn | grep "lo:0" | grep $VIP`
- if [ ! "$islothere" -o ! "isrothere" ];then
- # Either the route or the lo:0 device
- # not found.
- echo "LVS-DR real server Stopped."
- else
- echo "LVS-DR real server Running."
- fi
- ;;
- *)
- # Invalid entry.
- echo "$0: Usage: $0 {start|status|stop}"
- exit 1
- ;;
- esac
復(fù)制代碼 第2個問題就是我用結(jié)合了keepalived與ipvsadm來做lvs高可用,遇到的問題是當(dāng)使用vip訪問會調(diào)度到r1上面,再刷..還是r1....但等過一段時間后再會變r2...,但是如果我把正在被訪問的一個rserver的httpd關(guān)掉的話,可以在日志跟ipvsadm -Ln 看到正常的被剔除..可這時候在用vip再訪問的時候就沒辦法訪問了,要等一段時間才可以調(diào)度到另外一個rserver上面......在keepalived切換上沒有半點問題.目前與ipvsadm問題一樣都是不會在兩個rserver之前來回切...配置如下
rserver配置腳本還是上面那一個.
keepalived的配置文件我貼出一個吧.因為backup那個只改了backup跟粘性值..
keepalived.conf如下- cat keepalived.conf
- ! Configuration File for keepalived
- global_defs {
- notification_email {
- root@localhost
- }
- notification_email_from Alexandre.Cassen@firewall.loc
- smtp_server 127.0.0.1
- smtp_connect_timeout 30
- router_id LVS_DEVEL
- }
- vrrp_instance VI_1 {
- state MASTER
- interface eth0
- virtual_router_id 51
- priority 100
- advert_int 1
- authentication {
- auth_type PASS
- auth_pass 1111
- }
- virtual_ipaddress {
- 192.168.0.18/24 dev eth0 label eth0:0
- }
- }
- virtual_server 192.168.0.18 80 {
- delay_loop 6
- lb_algo wrr
- lb_kind DR
- nat_mask 255.255.255.0
- protocol TCP
- real_server 192.168.0.196 80 {
- weight 1
- HTTP_GET {
- url {
- path /
- status_code 200
- }
- connect_timeout 3
- nb_get_retry 3
- delay_before_retry 3
- }
- }
- real_server 192.168.0.172 80 {
- weight 1
- HTTP_GET {
- url {
- path /
- status_code 200
- }
- connect_timeout 3
- nb_get_retry 3
- delay_before_retry 1
- }
- }
- notify_master "/etc/keepalived/notify.sh master 192.168.0.18"
- notify_backup "/etc/keepalived/notify.sh backup 192.168.0.18"
- notify_fault "/etc/keepalived/notify.sh fault 192.168.0.18"
- }
復(fù)制代碼 |
|