LVS+Keepalived-DR模式

Environment:4台CentOS机器   

          两台LVS

          两台web服务器

LVS主备的操作,都需要安装ipvsadm和keepalived

 yum -y install ipvsadm keepalived

LVS主机操作 :

 1 更改keep alive的配置文件
 2 vrrp_instance VI_1 {
 3     state MASTER        \\初始状态
 4     interface eth0        \\VIP的网卡    
 5     virtual_router_id 51
 6     priority 100        \\优先级
 7     advert_int 1
 8     authentication {
 9         auth_type PASS
10         auth_pass 1111
11     }
12     virtual_ipaddress {
13         192.168.153.181     \\VIP地址
14     }
15 }
16 
17 virtual_server 192.168.153.181 80 {    \\虚拟服务器
18     delay_loop 6
19     lb_algo rr        \\算法
20     lb_kind DR        \\模式
21     nat_mask 255.255.255.0    \\子网掩码
22     protocol TCP        \\虚拟服务器协议
23 
24     real_server 192.168.153.128 80 {    \\真实服务器web1的ip地址和端口
25         weight 1            \\权重
26         TCP_CHECK {            \\健康检查模块    
27             connect_timeout 3
28             connect_port 80
29             nb_get_retry 3
30             delay_before_retry 3
31         }
32     }
33     real_server 192.168.153.129 80 {    \\真实服务器web2的ip地址和端口
34         weight 1            \\权重
35         TCP_CHECK {            \\健康检查模块
36             connect_timeout 3
37             connect_port 80
38             nb_get_retry 3
39             delay_before_retry 3
40         }
41     }
42 }

 

配置完成后关闭防火墙并启动keepalived

1 service iptables stop

2 setenforce 0

3 service keepalived start 

查看vip是否生成  ip a

1 ip a
2 eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
3     link/ether 00:0c:29:fc:d6:23 brd ff:ff:ff:ff:ff:ff
4     inet 192.168.153.128/24 brd 192.168.153.255 scope global eth0
5     inet 192.168.153.181/32 scope global eth0
6 ###############################################################################

LVS备份主机的操作

备份主机keepalived的配置文件和主的基本相同,需要修改初始状态和优先级即可

vrrp_instance VI_1 {
    state BACKUP        \\初始状态BACKUP
    interface eth0        \\VIP的网卡    
    virtual_router_id 51
    priority 90        \\优先级
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.153.181     \\VIP地址
    }
}

其他配置和LVS主机一样
配置完毕后关闭防火墙并启动keepalived

 service iptables stop
 setenforce 0
 service keepalived start

 

web服务器配置

1.安装httpd并创建测试页面

2.增加lo:0,并绑定VIP

3.修改arp级别

4.增加静态路由

5.关闭防火墙

###############################################

全部配置完之后,在LVS主上执行如下命令,查看LVS规则是否增加成功

Ipvsadm -Ln

ifconfig eth1:0 192.168.189.181

Lvs-DR模式配置

1.打开ipv4的网络网口

vim /etc/sysctl.conf

   net.ipv4.ip_forward=1 

sysctl -p

2.Lvs机器添加网络

cp ifcfg-eth0 ifcfg-eth0:1

vim ifcfg-eth0:1

  ipaddr=    181  #虚拟vip的地址

删除dns

service network restart  重启网卡

查看ip是否有ifcfg-eth0:1   ifconfig

3.web1/2机器上操作

cp ifcfg-lo ifcfg-lo:0

vim ifcfg-lo:0  #只留下四行 (网络名称,vip地址,网口,onboot)

 1 lo:0   2 IPADDR= 181  3 NETMASK=255.255.255.255  4 ONBOOT=yes 

重启网卡  service network restart

4.web服务器安装Apache并创建测试页面index.php( 随便写一个测试页面即可 )

5.Lvs添加网口  安装ipvsadm

1 ipvsadm -A -t 192.168.189.181:80 -s rr
2 ipvsadm -Ln
3 ipvsadm -a -t 192.168.189.181:80 -r 192.168.189.138:80 -g
4 ipvsadm -a -t 192.168.189.181:80 -r 192.168.189.139:80 -g
  ipvsadm -Ln

 6.修改内核参数(web1/2)

 1 echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
 2 
 3 echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
 4 
 5 echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
 6 
 7 echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
 8 
 9 route add 12.168.189.181 dev lo:0
10 
11 route -n

 

################################################################
全部配置完毕后,在LVS主上执行如下命令,查看LVS规则是否增加成功
# ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.189.181:80 rr -> 192.168.189.163:80 Route 1 0 0 -> 192.168.189.164:80 Route 1 0 0

若有规则输出说明成功
################################################################
访问VIP测试效果

并且停止主的keepalived测试VIP是否飘逸之LVS的备份主机,若能成功飘逸,并且可以正常访问,说明我们实现了LVS+keepalvied集群的配置,
成功实现了LVS的高可用

posted @ 2019-12-04 19:35  相磊  阅读(371)  评论(0编辑  收藏  举报