Web服务器--在配置LVS的NAT模式/DR模式的基础上添加Keepalived 负载均衡高可用配置

Keepalived简介

Keepalived是Linux下一个轻量级别的高可用解决方案。高可用(High Avalilability,HA),其实两种不同的含义:广义来讲,是指整个系统的高可用行,狭义的来讲就是之主机的冗余和接管;Keepalived起初是为LVS设计的,专门用来监控集群系统中各个服务节点的状态,它根据TCP/IP参考模型的第三、第四层、第五层交换机制检测每个服务节点的状态,Keepalived起初是为LVS设计的,专门用来监控集群系统中各个服务节点的状态,它根据TCP/IP参考模型的第三、第四层、第五层交换机制检测每个服务节点的状态

VRRP协议与工作原理

在现实的网络环境中。主机之间的通信都是通过配置静态路由或者(默认网关)来完成的,而主机之间的路由器一旦发生故障,通信就会失效,因此这种通信模式当中,路由器就成了一个单点瓶颈,为了解决这个问题,就引入了VRRP协议。
工作原理:
VRRP可以将两台或者多台物理路由器设备虚拟成一个虚拟路由,这个虚拟路由器通过虚拟IP(一个或者多个)对外提供服务,而在虚拟路由器内部十多个物理路由器协同工作,同一时间只有一台物理路由器对外提供服务,这台物理路由设备被成为:主路由器(Master角色),一般情况下Master是由选举算法产生,它拥有对外服务的虚拟IP,提供各种网络功能

四台虚拟机网卡配置:

在这里插入图片描述

拓扑图展示:

在这里插入图片描述

配置调度机

配置一台新的虚拟机作为调度机1或者2(调度机配置除优先级和主次机名称以外基本相同)
首先我们应当下载ipvsadm:

yum install -y ipvsadm

然后使用命令:modprobe ip_vs导入模块

[root@localhost network-scripts]# modprobe ip_vs

添加vip地址作为调度器地址,并且加入节点服务器的真实ip地址:(注:有需要删除服务节点的话使用命令:ipvsadm -d -r192.168.148.131:80(虚拟ip地址) -t 192.168.148.132(节点服务器地址):80

ipvsadm -A -t 192.168.148.131:80 -s rr         #添加vip地址
ipvsadm -a -t 192.168.148.131:80 -r 192.168.148.132 -g -w 1    #只想节点服务器1
ipvsadm -a -t 192.168.148.131:80 -r 192.168.148.133 -g -w 1     #只想节点服务器2

使用ipvsadm命令查看是否添加成功:
在这里插入图片描述
修改/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

并输入sysctl -p来进行验证:
在这里插入图片描述
永久保存负载分配策略
使用 导入/导出 工具 ipvsadm-restore(导入) / ipvsadm-save(导出)

ipvsadm-save > /etc/sysconfig/ipvsadm   #将策略保存到文件
cat /etc/sysconfig/ipvsadm         #查看文件

重启并设置开机自启动:

systemctl enable ipvsadm
systemctl restart ipvsadm

在ipvsadm配好的情况下下载keepalived:

yum install -y keepalived

进入keepalived配置文件进行配置(注意这里两台调度机配置基本相同,不同点:state BACKUP(从) /state MASTER(主)设置主从调度机 priority 100 优先级):

vim /etc/keepalived/keepalived.conf    #编辑keepalived配置文件

global_defs {
        R2
}

vrrp_instance VI_1 {
    state BACKUP                            #配置主从服务器
    interface ens33                           #设置网卡型号
    virtual_router_id 51                    
    priority 100                                 #配置优先级
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123                       #设置密码
    }
    virtual_ipaddress {
        192.168.148.131                     #设置虚拟地址
    }
}
virtual_server 192.168.148.131 80 {          #虚拟IP地址(vip),端口
    delay_loop 6                                  #健康检查的间隔时间
    lb_algo rr                                       #轮询(rr)调度算法
    lb_kind DR                                    #采用的什么群集工作模式 (NAT,DR)
    !persistence_timeout 50            #连接保持时间(秒) 若启用请去掉!号
    protocol TCP                                #应用服务采用的TCP协议

    real_server 192.168.148.132 80 {           #第一个wed服务器节点的ip地址,端口
        weight 1                                               #权重
        TCP_CHECK {                                    #健康检查方式
            connect_port 80                             #检查的端口目标
            connect_timeout 3                         #连接超时(秒)
            nb_get_retry 3                               #重试次数
            delay_before_retry 3                      #重试间隔
        }
    }

    real_server 192.168.148.133 80 {
        weight 1
        TCP_CHECK {
            connect_port 80
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

到这里调度机ipvsadm和keepalived配置完毕!

配置真实服务器

在这里为了给大家展示,NFS服务器就不进行配置,将网站放入nginx/apache/tomcat服务器中充当NFS配置完成。
配置两台真实服务器的网卡
使用ip a 命令查看双网卡是否配置成功,并重启服务
在这里插入图片描述
进入网卡配置文件,配置环回接口,将环回接口文件给复制下来并且命名为ifcfg-lo:0并且进行修改:

cd /etc/sysconfig/network-scripts/  #进入网卡配置
cp ifcfg-lo ifcfg-lo:0                      #复制环回接口
vim ifcfg-lo:0                              #编辑环回接口

在这里插入图片描述

systemctl restart network   #重启网卡

2.进入/etc/sysctl.conf文件中在后面追加如下字段:

net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.lo.all_ignore=1
net.ipv4.conf.lo.all_announce=2

使用命令sysctl -p 查看是否输入成功:
在这里插入图片描述
添加路由器,指明路由方向

route add -host 192.168.148.131 dev lo:0   #指明路由

使用命令route -n 查看

 route -n                #查看路由

在这里插入图片描述

下载nginx/apache/tomcat服务器(这里我使用http演示)

yum install -y httpd               

yum安装完的httpd放网站的位置在/var/www/html下:

echo B > /var/www/html/index.html    #将内容(A/B)写入html的index.html中

到这里,真实服务器配置完成!

打开浏览器测试。
在这里插入图片描述
(清楚浏览器缓存)关闭调度机1网卡再测试,查看调度机2是否接替:
在这里插入图片描述
(清楚浏览器缓存)打开调度器1网卡,查看调度机1是否能抢占回来:
在这里插入图片描述
在调度机1上输入ipvsadm -ln 查看:
在这里插入图片描述
到这里位置说明Keepalived 负载均衡高可用配置成功!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值