项目实战---Lvs+keepAlived实现负载均衡高可用集群(DR实现)

LVS :负载均衡

LVS是Linux Virtual Server的简写,意为Linux虚拟服务器,是虚拟的服务器集群系统,可在UNIX/LINUX平台下实现负载均衡集群功能

  • 实验环境

需要四台虚拟机

server1_lue2 : 172.25.6.4

server2_lue3 : 172.25.6.5

server3_lue4 : 172.25.6.6

server3_lue5 : 172.25.6.7

:lue2和lue3做调度器,lue4和lue5做服务器

在lue2 和lue3里面做以下操作:

pcs cluster disable --all

pcs cluster stop --all

systemctl disable --now pcsd

ssh lue2 "systemctl disable --now pcsd"

  • VR配置
yum install -y ipvsadm   <安装ipvsadm管理工具>

ssh lue2  "yum install -y ipvsadm"

systemctl enable ipvsadm

ssh lue2 "systemctl enable ipvsadm"

ip addr add 172.25.6.100/24 dev eth0    <在eth0网卡绑定VIP地址(高可用)>

ipvsadm -A -t 172.25.6.100:80 -s rr      <添加虚拟服务>

ipvsadm -a -t 172.25.6.100:80 -r 172.25.6.6:80 -g   <将虚拟服务关联到真实服务上>

ipvsadm -a -t 172.25.6.100:80 -r 172.25.6.7:80 -g
ipvsadm -ln     <查看配置结果>

  • RS配置
yum install -y httpd
ssh lue4 "yum install -y httpd"
systemctl enable --now httpd
ssh lue4 "systemctl enable --now httpd"
ip addr add 172.25.6.100/24 dev eth0
cd /var/www/html
echo vm4 > index.html
echo vm5 > index.html

  • arptables
yum install -y arptales

ssh lue4 "yum install -y arptales"

systemctl enable arptables

ssh lue4 "systemctl enable arptables"

arptables -A INPUT -d 172.25.6.100 -j DROP

arptables -A OUTPUT -s 172.25.6.100 -j mangle --mangle-ip-s 172.25.6.6    在lue4

arptables -A OUTPUT -s 172.25.6.100 -j mangle --mangle-ip-s 172.25.6.7    在lue5

  • 测试:

问题

某台RealServer down了,怎么办? ---健康检查

LVS本身down了,怎么办 --LVS冗余

解决: keepalived ---LVS管理软件

Keepailived有一台主服务器和多台备份服务器,在主服务器和备份服务器上面部署相同的服务配置,使用一个虚拟IP地址对外提供服务,当主服务器出现故障时,虚拟IP地址会自动漂移到备份服务器。

调度器VSlue2和lue3中都要配置

在主调度器lue2中

yum install -y keepalived 

yum install -y mailx  <邮件>

ipvsadm -C   <在lue3>

ip addr del 172.25.6.100 dev eth0

vim /etc/keepalived/keepalived.conf    <lue2>  

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
   notification_email {   <发送报警邮件收件地址>
     root@localhost
   }
   notification_email_from keepalived@localhost   <指明报警邮件的发送地址>
   smtp_server 127.0.0.1    <邮件服务器地址>
   smtp_connect_timeout 30      <smtp的超时时间>
   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|BACKUP     <当前节点在此虚拟路由器上的初始状态;只能有一个是MASTER,余下的都应该为BACKUP;>
    interface eth0          <绑定为当前虚拟路由器使用的物理接口;>
    virtual_router_id 57    <当前虚拟路由器的惟一标识,范围是0-255;>
    priority 100            <当前主机在此虚拟路径器中的优先级;范围1-254;>
    advert_int 1            <通告发送间隔,包含主机优先级、心跳等。>
    authentication {        <认证配置>
        auth_type PASS      <认证类型,PASS表示简单字符串认证>
        auth_pass 1111      <密码,PASS密码最长为8位>

   virtual_ipaddress {
    172.25.6.100          <虚拟路由IP地址,以辅助地址方式设置>
    }
 }
virtual_server 172.25.6.100 80 {        <LVS配置段 ,设置LVS的VIP地址和端口>
    delay_loop 6                        <服务轮询的时间间隔;检测RS服务器的状态。>
    lb_algo rr                          <调度算法,可选rr|wrr|lc|wlc|lblc|sh|dh。>
    lb_kind DR                          <集群类型>
    #persistence_timeout 50              <是否启用持久连接,连接保存时长>
    protocol TCP                        <协议,只支持TCP>

    real_server 172.25.6.6 80 {         <配置RS服务器的地址和端口>
        weight 1                        <权重>
      TCP_CHECK {                       <检测RS服务器的状态,发送请求报文>
                             <          <这个hash码可以使用genhash命令请求这个页面生成>
            connect_timeout 3           <连接超时时间>
            nb_get_retry 3              <超时重试次数>
            delay_before_retry 3        <每次超时过后多久再进行连接>
        }
    }
   real_server 172.25.6.7 80 {   
        weight 1                       
      TCP_CHECK {                          
                           
            connect_timeout 3          
            nb_get_retry 3              
            delay_before_retry 3       
        }
    }
}

systemctl restart keepalived

systemctl stop httpd

在备调度器lue3中,在/etc/keepalived/keepalived.conf 中,lue优先级比主调度器低,需要修改优先级和BACKUP

测试:

关闭主服务器的keepalived,并ip addr查看接口是否有虚拟主机172.25.6.100

查看备份服务器的接口,地址已经漂移到了备份服务器上面

 

注:1.各节点时间必须同步

       2.确保各节点的用于集群服务的接口支持MULTICAST通信

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值