LVS+Keepalived-DR模式
Posted leilei001
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的高可用
以上是关于LVS+Keepalived-DR模式的主要内容,如果未能解决你的问题,请参考以下文章
LVS DR 模式搭建Keepalived+LVS DR模式搭建