LVS+Keepalived群集

LVS+Keepalived群集

Keepalived案例分析

  • 企业应用中,单台服务器承担应用存在单点故障的危险
  • 单点故障一旦发生,企业服务发生中断,造成极大的危险

Keepalived工具介绍

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

1.支持故障自动切换(Failover)
2.支持节点健康状态检查

Keepalived实现原理剖析

  • Keepalived采用VRRP热备份协议实现Linux服务器的多机热备功能
  • VRRP(虚拟路由器冗余协议)是针对路由器的一种备份解决方案

1.有多台路由器组成一个热备组,通过共用的虚拟IP地址对外提供服务
2.每个热备份组内同时只有一台主路由器提供服务,其他路由器处于冗余状态
3.若当前在线的路由器失效,则其他路由器会根据设置的优先级自动接替虚拟IP地址,继续提供服务

Keepalived项目

现在nfs机上 yum安装nfs 和 rpcbind

[root@nfs ~]# rpm -qa | grep rpcbind
rpcbind-0.2.0-42.el7.x86_64
[root@nfs ~]# rpm -qa | grep nfs
nfs-utils-1.3.0-0.48.el7.x86_64
libnfsidmap-0.25-17.el7.x86_64
nfs4-acl-tools-0.3.3-15.el7.x86_64
创建两个web目录
[root@nfs ~]# mkdir /web1
[root@nfs ~]# mkdir /web2
[root@nfs ~]# echo "<h1>this is ggg 2 <h1>" > /web2/index.html
[root@nfs ~]# echo "<h1>this is ggg 1 <h1>" > /web1/index.html

web1 机上先挂载

[root@web1 ~]# mount 20.0.0.14:/web1 /var/www/html/
[root@web1 ~]# curl http://localhost
<h1>this is ggg 1 <h1>
[root@web1 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         20.0.0.2        0.0.0.0         UG    100    0        0 ens33
20.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 ens33
20.0.0.200      0.0.0.0         255.255.255.255 UH    0      0        0 lo
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

web2同上
在LVS1上

modprobe ip_vs
cat /proc/net/ip_vs
yum -y install ipvsadm
yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel
在解压缩包
tar zxvf keepalived-2.0.13.tar.gz 
cd keepalived-2.0.13/
在编译安装
./configure --prefix=/
make && make install
cd keepalived/
cd /etc/init.d/
cp keepalived /etc/init.d/
systemctl enable keepalived.service 
在修改配置文件
vi /etc/keepalived/keepalived.conf 
! Configuration File for keepalived
global_defs {
    
    
          router_id lvs_01
}
vrrp_instance vi_1 {
    
    
        state MASTER
        interface ens33
        virtual_router_id 51
        priority 110
        advert_int 1
        authentication {
    
    
         auth_type PASS
         auth_pass 6666
  }
        virtual_ipaddress {
    
    
             20.0.0.200
   }
   }
   virtual_server 20.0.0.200 80 {
    
    
           delay_loop 6
           lb_algo rr
           lb_kind DR
           persistence_timeout 6
           protocol TCP
           real_server 20.0.0.12 80{
    
    
           weight 1
           TCP_CHECK {
    
    
           connect_port 80
           connect_timeout 3
           nb_get_retry 3
           delay_before_retry 3
      }
    }
    real_server 20.0.0.13 80{
    
    
            weight 1
            TCP_CHECK {
    
    
            connect_port 80        
            connect_timeout 3        
            nb_get_retry 3        
            delay_before_retry 3    
             } 
          }

在这里插入图片描述
在这里插入图片描述
LVS2同上

修改配置文件
[root@lvs2 ~]# vi /etc/keepalived/keepalived.conf
在这里插入图片描述
在lvs1上(主)
[root@lvs1 ~]# ip addr
在这里插入图片描述

当关闭主(lvs1)时 备(lvs2)就会变成主
在这里插入图片描述
在客户机上访问 http://20.0.0.200
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_50346902/article/details/110919908