前言
lvs 没有健康检查
keepalived
通过keepalived来管理lvs
1.可以自动生成VIP地址
2.可以自动创建虚拟服务器和真实服务器
3.可以实现对后端的真实服务器实现健康检查,工作异常的主机,会从调度表中移除,恢复后再自动添加回来
4.可以实现lvs的高可用
一、部属
环境准备:LVS-Master:
DIP: 192.168.218.102
VIP: 192.168.218.181
LVS-Backup:
DIP: 192.168.189.103
RS1:
RIP: 192.168.189.123
RS2:
RIP: 192.168.189.104
安装配置:
systemctl stop firewalld
setenforce 0
四台虚拟机都关闭防火墙
LVS_MASTER:
yum -y install keepalived ipvsadm
安装服务
vim /etc/keepalived/keepalived.conf
配置keepalived配置文件
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
! vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.218.181
}
}
virtual_server 192.168.218.181 80 {
delay_loop 6
lb_algo rr
lb_kind DR
protocol TCP
real_server 192.168.218.104 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.218.123 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
配置如上
systemctl start keepalived
其余的配置删掉即可,保存退出之后启动keepalived
LVS_BACKUP:
配置参考LVS_MASTER
scp root@192.168.189.172:/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
可复制配置
并将MASTER改成BACKUP
将优先级改为小于100的数字
RS1:
先布置httpd
yum -y install httpd
systemctl start httpd
安装httpd并开启
echo web1 > /var/www/html/index.html
在文件里写入内容
配置VIP:
cd /etc/sysconfig/network-scripts
cp ifcfg-lo ifcfg-lo:0
复制ifcfg-l0
vim ifcfg-lo:0
进入并修改如下图
DEVICE=lo:0
IPADDR=192.168.218.181
NETMASK=255.255.255.255
ONBOOT=yes
保存退出之后启动
ifup lo:0
设置arp级别
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
配置静态路由
route add 192.168.218.181 dev lo:0
RS2:
配置参考RS1将写入配置文件的内容改成web2
二、测试
1、查看vip的生成:
ip a
效果如上
2、查看LVS调度表
ipvsadm -Ln
效果如上
3、最终测试负载均衡效果
若能看到任务别调度到不同的服务器上,说名实现了负载均衡
lvs高可用测试
停止master主机上keepalived,查看VIP是否漂移到BAKCUP节点,成功漂移,并且依然可以通过访问VIP测试到负载均衡
效果,说明高可用效果实现成功
健康检查
停止其中一台RS,在调度表中可以看到被自动删除,访问虚拟服务器,任务不再给故障的主机调度,说明健康检查功能实现成功
三、配置永久ipvsadm规则
vim /etc/sysctl.conf
进入配置文件
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
插入如上配置
sysctl -p
查看永久配置
ipvsadm -Sn
永久保存(仅适用于centos7)