首页 > 编程知识 正文

lvs和keepalived常见故障,lvs keepalived配置

时间:2023-05-05 13:07:30 阅读:182409 作者:4187

目录一、keepalived介绍二、案例实践2.1案例环境2.2配置主LVS2.3配置准备LVS2.4配置NFS服务器2.5配置节点服务器2.6单点故障验证

一. keepalived简介

传统的LVS-DR模型是单调度器,因此如果调度器出现故障,则会出现单点故障问题。 在这种情况下,需要keepalived来实现双机热备(主从)。

支持故障切换(Failover )。 支持节点健康状况检查(Health Checking )官方网站: http://www.keepalived.org/http://www.Sina.com /

1、Keepalived采用VRRP热备份协议实现Linux服务器的多机热备功能

2、VRRP )虚拟路由冗馀协议)是路由器的备份解决方案

在多个路由器上配置热备盘,通过共享的虚拟IP地址向外部提供服务;

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

当前联机的路由器失效后,其他路由器将根据配置的优先级自动接管虚拟IP地址并继续服务。

二、案例实践Keepalived可以实现多个热备盘,每个热备盘可以有多台服务器

双机热备的故障切换是通过虚拟IP地址漂移实现的,适用于各种APP应用服务器

2.1仅用两台调度程序模拟工况环境热备盘

总共6台主机:

都处于同一网段,VMnet1模式

3358 www.Sina.com/192.168.10.200

Keepalived实现原理:一台作为主LVS,另一台作为从LVS,是优先级最高的主调度服务器,剩下的是备用服务器。 IP:192.168.10.30 (主)和192.168.10.180 (备) )。

3358www.Sina.com/web服务提供,IP:192.168.10.140和192.168.10.150

33558www.Sina.com/NFS部署共享存储服务,为节点服务器提供网页等资源,IP:192.168.10.160

客户机访问的虚拟IP:客户端。 访问虚拟服务器(192.168.10.200 )并测试轮询访问效果。 IP:192.168.10.170

2.2配置主LVS加载LVS内核

[ root @ LVS~] # modprobe IP _ vs [ root @ LVS~] # cat/proc/net/IP _ vsipvirtualserverversion1.2.1(prot local address 3360 portschedulerflags-remote address 3360 portforwardweightactivecon

[ root @ LVS~] # rpm-IVH/mnt/packages/ipvsadm-1.224-7.el7.x86 _ 64.rpm警告:/mnt/packages/ipvsadm-1.27

[ root @ server1~ ] # yum-yinstallgcc-cmake popt-devel kernel-devel OpenSSL-devel [ root @ server1~ ] # tarzxfkeeeeepalice CD keepalived-2.0.13/[ root @ server1keepalived-2.0 ] [ root @ server1keeepalived-2.0.13 ] # make make install [ rre ] 加入系统管理服务[ root @ server1keepalived-2.0.13 ] # systemctlenablekeepalived.service # #设置引导启动[ root @ server ] 每个服务器名称都不一样} vrrp_instance

VI_1 { #指定vrrp热备参数 state MASTER #服务器角色是master,备份服务器设置为BACKUP interface ens33 #修改物理网卡名称,默认是centos6的eth0 virtual_router_id 51 #组号相同 priority 110 #优先级,主服务器设置要大于备服务器 authentication { auth_type PASS #验证类型和密码,不建议修改 auth_pass 1111 } virtual_ipaddress { 192.168.10.200 #虚拟IP,漂移地址(VIP)地址,可以有多个 }}virtual_server 192.168.10.200 80 { #配置虚拟服务器 delay_loop 6 lb_algo rr #调度算法为轮询 lb_kind DR #LVS的工作模式为DR(直连路由) persistence_timeout 6 #连接保持时间 protocol TCP #传输协议为TCP协议##################web节点服务器池############### real_server 192.168.10.140 80 { #真实节点1的IP weight 1 TCP_CHECK { #健康检查参数 connect_port 80 #检查80端口连接是否正常 connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } }real_server 192.168.10.150 80 { ##真实节点1的IP weight 1 TCP_CHECK { connect_port 80 connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } }################web节点服务器池################}开启服务systemctl enable keepalivedsystemctl start keepalived

关闭防火墙

2.3 配置备LVS

关闭防火墙
与主调度器的配置过程一样,只有配置文件的区别
复制粘贴主的配置文件,修改配置文件的开头(3处):

global_defs { router_id LVS_02 #备用换成02} vrrp_instance VI_1 { state BACKUP #备份服务器设置为BACKUP interface ens33 virtual_router_id 51 priority 105 #优先级小于主服务器...... 2.4 配置NFS服务器 [root@nfs ~]# yum -y install nfs-utils rpc寂寞的眼睛d[root@nfs ~]# systemctl start nfs-utils[root@nfs ~]# systemctl start rpc寂寞的眼睛d[root@nfs ~]# mkdir /opt/web1 /opt/web2 #建立测试网页[root@nfs ~]# cd /opt/web1[root@nfs web1]# echo "server1" > index.html #给web1服务器使用[root@nfs web1]# cd /opt/web2[root@nfs web2]# echo "server2" > index.html #给web2服务器使用[root@nfs web2]# vi /etc/exports/opt/web1 192.168.10.140 (ro,sync)/opt/web2 192.168.10.150 (ro,sync)[root@nfs web2]# systemctl restart nfs[root@nfs web2]# systemctl restart rpc寂寞的眼睛d#关闭防火墙核心防护[root@nfs web2]# systemctl stop firewalld[root@nfs web2]# setenforce 0 2.5 配置节点服务器

以web1为例
安装httpd网页服务

[root@web1 ~]# yum -y install httpd

查看nfs服务器的发布

#关闭防火墙核心防护[root@web1 ~]# systemctl stop firewalld[root@web1 ~]# setenforce 0[root@web1 ~]# showmount -e 192.168.10.160Export list for 192.168.10.160:/opt/web2 (everyone)/opt/web1 (everyone)

挂载使用nfs服务器的网页

[root@web1 ~]# mount 192.168.10.160:/opt/web1 /var/www/html[root@web1 ~]# systemctl start httpd #开启网络服务

节点2用/opt/web2
DR模式配置:编辑脚本执行,两节点服务器一样,都需要配置

#!/寂寞的眼睛/bash#添加虚拟IP,必须用lo网卡ifconfig lo:0 192.168.10.200 broadcast 192.168.10.200 netmask 255.255.255.255 uproute add -host 192.168.10.200 dev lo:0echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignoreecho "1" > /proc/sys/net/ipv4/conf/all/arp_ignoreecho "2" > /proc/sys/net/ipv4/conf/lo/arp_announceecho "2" > /proc/sys/net/ipv4/conf/all/arp_announcesystctl -p &> /dev/null 2.6 单点故障效果验证

当主调度器正常工作,虚拟IP在主调度器网卡上

[root@lvs ~]# ip addr

客户机1、2、3,轮流访问虚拟服务器时(192.168.10.200),节点1、2轮流提供网页服务。(轮询算法效果)

客户机1


客户机2


客户机3

模拟主调度器故障,关闭keepalived服务

[root@lvs ~]# systemctl stop keepalived.service

虚拟地址漂移到备用调度器上,同时也可以在日志文件里查看到迁移的状态变化。备用调度器日志:

[root@lvs2 ~]# tail -f /var/log/messages


虚拟地址漂移结果:到备用上

[root@lvs2 ~]# ip addr


备用调度器继续提供调度服务。客户机轮流访问虚拟IP,两个节点服务器轮流提供服务。

当再开启主调度器,由于优先级的原因,MASTER状态自动迁移到主上,备用回到BACKUP状态。
查看备用的日志记录:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。