LVS+Keepalived之DR模式配置

来源:互联网 发布:suse 端口转发 编辑:程序博客网 时间:2024/06/06 02:49
网络拓扑图如下:


1. RealServer服务器的配置
1). 安装httpd
2). 配置ip 192.168.92.131
3). 编辑脚本并运行
[root@chen ~]# cat /etc/init.d/lvs_DR_node #!/bin/sh#descript : start real server DRVIP=192.168.92.100. /etc/rc.d/init.d/functionscase "$1" in       start)             echo "start LVS of RealServer DR"             ifconfig lo:0 $VIP/32 broadcast $VIP 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     sysctl -p > /dev/null 2>&1     echo "Real Server Start OK!"               ;;       stop)             ifconfig lo:0 down             echo "close LVS of RealServer DR"     route del $VIP > /dev/null 2>&1             echo "0" > /proc/sys/net/ipv4/conf/all/arp_ignore             echo "0" > /proc/sys/net/ipv4/conf/all/arp_announce              ;;         *)              echo "Usage : $0 {start|stop}"              exit 1esac[root@chen ~]# cd /etc/init.d/[root@chen init.d]# chmod a+x /etc/init.d/lvs_DR_node[root@chen init.d]# /etc/init.d/lvs_DR_node startstart LVS of RealServer DRReal Server Start OK!

4).启动httpd service httpd restart


2. Master服务器的配置
1). 配置ip 192.168.92.130
2). 安装ipvsadm
3). 安装keepalived
4). 配置keepalived
[root@chen keepalived]# cat /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs {   router_id LVS_DEVEL}vrrp_instance VI_1 {    state BACKUP    interface eth0    virtual_router_id 51    priority 80    advert_int 1    authentication {        auth_type PASS        auth_pass 1111    }    virtual_ipaddress {        192.168.92.100    }}virtual_server 192.168.92.100 80 {    delay_loop 6    lb_algo wlc    lb_kind DR    nat_mask 255.255.255.0    persistence_timeout 50    protocol TCP    real_server 192.168.92.131 80 {        weight 1        TCP_CHECK {            url {            connect_timeout 3            nb_get_retry 3            delay_before_retry 3    connect_port 80        }    }}
5). 关闭防火墙,启动ipvsadm,keepalived
[root@chen sbin]# service iptables stop[root@chen sbin]# service ipvsadm restartipvsadm: Clearing the current IPVS table:                  [确定]ipvsadm: Unloading modules:                                [确定]ipvsadm: Clearing the current IPVS table:                  [确定]ipvsadm: Applying IPVS configuration:                      [确定][root@chen sbin]# service keepalived restart停止 keepalived:                                          [确定]正在启动 keepalived:                                      [确定]
6). 查看状态
[root@chen sbin]# ip addr list1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo    inet6 ::1/128 scope host        valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000    link/ether 00:0c:29:25:68:9f brd ff:ff:ff:ff:ff:ff    inet 192.168.92.130/24 brd 192.168.92.255 scope global eth0    inet 192.168.92.100/32 scope global eth0    inet6 fe80::20c:29ff:fe25:689f/64 scope link        valid_lft forever preferred_lft forever[root@chen sbin]# ipvsadm -l -nIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags  -> RemoteAddress:Port           Forward Weight ActiveConn InActConnTCP  192.168.92.100:80 wlc persistent 50  -> 192.168.92.131:80            Route   1      0          0     

3. BackUp服务器的配置
1). 配置ip 192.168.92.130
2). 安装ipvsadm
3). 安装keepalived
4). 配置keepalived
[root@chen keepalived]# cat /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs {   router_id LVS_DEVEL}vrrp_instance VI_1 {    state BACKUP    interface eth0    virtual_router_id 51    priority 80    advert_int 1    authentication {        auth_type PASS        auth_pass 1111    }    virtual_ipaddress {        192.168.92.100    }}virtual_server 192.168.92.100 80 {    delay_loop 6    lb_algo wlc    lb_kind DR    nat_mask 255.255.255.0    persistence_timeout 50    protocol TCP    real_server 192.168.92.131 80 {        weight 1        TCP_CHECK {            url {            connect_timeout 3            nb_get_retry 3            delay_before_retry 3    connect_port 80        }    }}
5). 关闭防火墙,启动ipvsadm,keepalived
[root@chen sbin]# service iptables stop[root@chen sbin]# service ipvsadm restartipvsadm: Clearing the current IPVS table:                  [确定]ipvsadm: Unloading modules:                                [确定]ipvsadm: Clearing the current IPVS table:                  [确定]ipvsadm: Applying IPVS configuration:                      [确定][root@chen sbin]# service keepalived restart停止 keepalived:                                          [确定]正在启动 keepalived:                                      [确定]
6). 查看状态
[root@chen keepalived]# ipvsadm -l -nIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags  -> RemoteAddress:Port           Forward Weight ActiveConn InActConnTCP  192.168.92.100:80 wlc persistent 50  -> 192.168.92.131:80            Route   1      0          0         [root@chen keepalived]# ip addr list1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo    inet6 ::1/128 scope host        valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000    link/ether 00:0c:29:fb:8c:5c brd ff:ff:ff:ff:ff:ff    inet 192.168.92.128/24 brd 192.168.92.255 scope global eth0    inet6 fe80::20c:29ff:fefb:8c5c/64 scope link        valid_lft forever preferred_lft forever


4. 测试

1). 客户端(192.168.92.1)浏览器输入 http://192.168.92.100/index.html 正常访问
2). 停止Master keepalived服务, service keepalived stop, 刷新浏览器还能正常访问
在BACKUP服务器会发现多了一个192.168.92.100的ip
[root@chen keepalived]# ip addr list1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo    inet6 ::1/128 scope host        valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000    link/ether 00:0c:29:fb:8c:5c brd ff:ff:ff:ff:ff:ff    inet 192.168.92.128/24 brd 192.168.92.255 scope global eth0    inet 192.168.92.100/32 scope global eth0    inet6 fe80::20c:29ff:fefb:8c5c/64 scope link        valid_lft forever preferred_lft forever





1 0
原创粉丝点击