目录
一、概念
Keepalived和LVS(Linux Virtual Server)是两个常用的开源工具,可以用于构建高可用的负载均衡集群。其中Keepalived用于实现服务的高可用性,而LVS则用于实现负载均衡。
二、作用
Keepalived+lvs(DR)高可用集群的主要作用是提高服务的可用性和负载均衡能力。
在一个高可用集群中,如果Master节点出现故障,Keepalived会自动将Backup节点中的一台升级为Master节点,以保证服务的持续可用性。同时,LVS会将客户端请求分发到各个节点上,以实现负载均衡,避免某一节点过载而导致服务不可用。
在LVS(DR)模式下,客户端请求可以直接到达后端真实服务器,而不需要经过LVS节点的转发处理,提高了数据传输的效率,减少了请求处理时间。
因此,使用Keepalived+lvs(DR)高可用集群可以提高服务的可用性、负载均衡能力和数据传输效率,为企业提供更加可靠和高效的服务。
三、搭建
1、调整ARP参数
vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
net.ipv4.conf.default.arp_ignore=1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce=2
sysctl -p
2、配置虚拟IP地址
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.115.200
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback:0
3、添加回环路由
route add -host 192.168.115.200/32 dev lo:0
4、安装软件
两台web服务器安装httpd软件
yum -y install httpd
两台lvs服务器安装keepalived和ipvsadm软件
yum install -y keepalived
yum install -y ipvsadm
5、lvs服务器加载模块
modprobe ip_vs
systemctl start ipvsadm
6、lvs服务器修改配置文件
global_defs {
router_id LVS_DEVEL1
}
vrrp_instance VI_1 {
state MASTER #从lvs服务器写BACKUP
interface ens33
virtual_router_id 51
priority 100 #从lvs服务器写99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.115.250
}
}
virtual_server 192.168.115.250 80 {
delay_loop 6
lb_algo rr
lb_kind DR
#persistence_timeout 50
protocol TCP
real_server 192.168.115.198 80 {
weight 1
HTTP_GET {
url {
path /
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.115.197 80 {
weight 1
HTTP_GET {
url {
path /
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
7、开启所有服务
systemctl start httpd
systemctl start keepalived
8、查看lvs节点状态
ipvsadm -ln
四、验证
1、使用客户端访问
curl 192.168.115.250