LVS Keepalive 高可用集群

网友投稿 244 2022-11-01

LVS Keepalive 高可用集群

1.Keepalived工具介绍

专为LVS和HA设计的一款健康检查工具

支持故障自动切换(Failover)

支持节点健康状态检查(Health Checking)

官方网站: 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。

在一个LVS服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,

但是对外表现为一个虚拟IP,主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,

即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。

2.1集群要满足的三个特点:

1. 负载均衡

2. 健康检查

3. 故障切换

对于节点服务器:健康检查如果发现有故障的节点就会其隔离或者剔除集群,待其恢复后再重新加入

的集群当中

负载均衡器:健康检查会定时检查主机的状态(包括主机和服务的状态),如果出故障就会自动切换到备主机上

待主的恢复重新让主承载业务请求

2.2VRRP (虚拟路由冗余协议)

是针对路由器的一种备份解决方案

由多台路由器组成一个热备组,通过共用的虚拟IP地址对外提供服务

每个热备组内同时只有一台主路由器提供服务,其他路由器处于冗余状态

若当前在线的路由器失效,则其他路由器会根据设置的优先级自动接替虚拟IP地址,继续提供服务

3.LVS+Keepalived 高可用群集

主DR 服务器:192.168.19.10备DR 服务器:192.168.19.20web 服务器1:192.168.19.33web 服务器2:192.168.19.40vip:192.168.19.188客户端:192.168.19.100

3.1配置负载调度器(主:192.168.19.10)

2. #安装服务 yum -y install ipvsadm keepalived

3. #修改配置文件keeplived.conf

cd /etc/keepalived/

cp keepalived.conf keepalived.conf.bak vim keepalived.conf

启动服务、查看虚拟网卡vip

systemctl start keepalived

ip addr show dev ens33

5. #调整proce响应参数,关闭Linux内核的重定向参数响应 vim /etc/sysctl.conf net.ipv4.ip_forward = 1 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.ens33.send_redirects = 0

6. #刷新一下 sysctl -p

7. #配置负载分配策略,并启动服务

ipvsadm-save >/etc/sysconfig/ipvsadm

systemctl start ipvsadm.service

8.

#清空ipvsadm,并做策略

ipvsadm -C

ipvsadm -A -t 192.168.10.188:80 -s rr

ipvsadm -a -t 192.168.10.188:80 -r 192.168.59.33:80 -g

ipvsadm -a -t 192.168.10.188:80 -r 192.168.59.40:80 -g

9. #保存设置

ipvsadm

ipvsadm -ln

ipvsadm-save >/etc/sysconfig/ipvsadm

3.2配置负载调度器 (192.168.19.20)

1. #关闭防火墙

systemctl stop firewalld.service

setenforce 0

2. #安装服务

yum -y install ipvsadm keepalived

3. #修改配置文件keeplived.conf

cd /etc/keepalived/

cp keepalived.conf keepalived.conf.bak

vim keepalived.conf

4. #启动服务、查看虚拟网卡vip

systemctl start keepalived

ip addr show dev ens33

5. #调整proce响应参数,关闭Linux内核的重定向参数响应

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.ens33.send_redirects = 0

6. #刷新一下

sysctl -p

7. #配置负载分配策略,并启动服务

ipvsadm-save >/etc/sysconfig/ipvsadm

systemctl start ipvsadm.service

8.  #清空ipvsadm,并做策略

ipvsadm -C

ipvsadm -A -t 192.168.19.188:80 -s rr

ipvsadm -a -t 192.168.19.188:80 -r 192.168.10.33:80 -g

ipvsadm -a -t 192.168.19.188:80 -r 192.168.10.40:80 -g

9. #保存设置

ipvsadm

ipvsadm -ln

ipvsadm-save >/etc/sysconfig/ipvsadm

3.3配置节点服务器web1 (192.168.19.33)

1. #关闭防火墙

systemctl stop firewalld

setenforce 0

2. #安装并开启-y install start #配置站点文件

vim /var/#配置虚拟vip

vim /etc/sysconfig/network-scripts/ifcfg-lo:0

DEVICE=lo:0

ONBOOT=yes

IPADDR=192.168.19.188

NETMASK=255.255.255.255

5. #重启网络服务,开启虚拟网卡

systemctl restart network

ifup lo:0

ifconfig lo:0

6. #设置路由

route add -host 192.168.19.188 dev lo:0

route -n

7. #调整 proc 响应参数

#添加系统只响应目的IP为本地IP的ARP请求

#系统不使用原地址来设置ARP请求的源地址,而是物理mac地址上的IP

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

8. #刷新proc参数

sysctl -p

3.4配置节点服务器web2 192.168.19.40

1.#关闭防火墙

systemctl stop firewalld

setenforce 0

2. #安装并开启-y install start #配置站点文件

vim /var/#配置虚拟vip

vim /etc/sysconfig/network-scripts/ifcfg-lo:0

DEVICE=lo:0

ONBOOT=yes

IPADDR=192.168.19.188

NETMASK=255.255.255.255

5. #重启网络服务,开启虚拟网卡

systemctl restart network

ifup lo:0

ifconfig lo:0

6. #设置路由

route add -host 192.168.19.188 dev lo:0

route -n

7. #调整 proc 响应参数

#添加系统只响应目的IP为本地IP的ARP请求

#系统不使用原地址来设置ARP请求的源地址,而是物理mac地址上的IP

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

8. #刷新proc参数

sysctl -p

4.测试

断开主DR服务器的Keepalived测试

systemctl stop keepalived.service

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:什么是Java布隆过滤器?如何使用你知道吗
下一篇:美颜SDK实用算法——直播背景扭曲矫正
相关文章

 发表评论

暂时没有评论,来抢沙发吧~