keepalive高可用群集相关和联用LVS-DR

高可用群集相关

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

keepalive工具

专为lvs和ha设计的一款健康检查工具

作用

支持故障自动切换failover
支持节点健康状态检查Heath checking

原理剖析

keepalive采用vrrp热备协议,实现linux服务器的多机热备功能

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

案例讲解

keepalive可实现多机热备,每个热备组可有多台服务器
双机热备的故障切换是由虚拟IP地址的飘逸的来实现,适用于各种应用服务器

安装与启动

在lvs群集环境中应用时,也需要用到ipvsadm管理工具

配置kpa master服务器

配置目录位于/etc/keepalived/
keepalived.conf是主配置文件
global_defs{…}区段指定全局参数
vrrp_instance实例名称{。。}区段指定vrrp热备参数
注释文字以“!"开头
目录samples,提供了许多配置样例作为参考

常用的配置选项

router_id HA_TEST_R1 本路由器(服务器)的名称,主从不同
vrrp_instance 定义vrrp热备实例
state MASTER 热备状态,master表示主服务器 主从不同
interface ens33 承载vip地址的网络接口
virtual_router_id 虚拟路由器的id号,每个热备组保持一致
priority 100 优先级,数值越大优先级越高 主从不同
adver_int 1 通告间隔1秒(心跳频率)
auth_type PASS 认证类型
auth_pass 123123 密码字串
virtual_ipaddress{vip} 指定漂移地址vip 可以有多个

配置流程

准备

准备1,2,3,,4,5,6主机
5号主机提供网页ip:20.0.0.50
3,4号主机提供网页服务ip分别为20.0.0.30和20.0.0.40
1,2号分别作为主从调度器提供调度服务ip分别为20.0.0.10和20.0.0.2

配置

配置在5号主机内配置两个网页挂载在两台服务器上
mkdir /web1
mkdir /web2
echo “

web1

” > /web1/index.html
echo “

web2

” > /web2/index.html
在这里插入图片描述
安装nfs
yum -y install rpcbind nfs-utils
挂载
vi /etc/exports
在这里插入图片描述
重启服务后检查挂载情况
在这里插入图片描述

在3,4两台服务器上安装httpd后开启
挂载网页后尝试连接网页
3号主机
mount 20.0.0.50:/web1 /var/www/html/
在这里插入图片描述
编写服务器群集脚本
vi web1.sh

#!/bin/bash
#lvs dr web1
ifconfig lo:0 20.0.0.100 broadcast 20.0.0.100 netmask 255.255.255.255 up
route add -host 20.0.0.100 dev lo:0
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p &> /dev/null
运行脚本后查看

在这里插入图片描述
4号主机
mount 20.0.0.50:/web2 /var/www/html/
在这里插入图片描述
编写服务器群集脚本
vi web2.sh

#!/bin/bash
#lvs dr web2
ifconfig lo:0 20.0.0.100 broadcast 20.0.0.100 netmask 255.255.255.255 up
route add -host 20.0.0.100 dev lo:0
echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p &> /dev/null
运行脚本后查看

在这里插入图片描述

在1,2主机上配置调度器
安装调度器软件和解压高可用软件包及其依赖软件
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
cd
systemctl enable keepalived.service

编辑配置文件
vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs {     
   router_id lvs_1
   }
   vrrp_instance vi_1 {
        state MASTER
        interface ens33     
        virtual_router_id 51     
        priority 110     
        advert_int 1     
        authentication {        
            auth_type PASS        
            AUTH_pass 1212
         }     
      virtual_ipaddress {      
        20.0.0.100   
       }   
       }
virtual_server 20.0.0.100 80 {  
    delay_loop 6  
    lb_algo rr  
    lb_kind DR  
    persistence_timeout 6  
    protocol TCP
real_server 20.0.0.30 80 {  
    weight 1  
    TCP_CHECK {
        connect_port 80
        connect_timeout 3    
        nb_get_retry 3    
        delay_before_retry 3   
        }
      }
real_server 20.0.0.40 80 {
  weight 1  
  TCP_CHECK {
      connect_port 80    
      connect_timeout 3    
      nb_get_retry 3    
      delay_before_retry 3   
      }
   }
 }

启动keepalived服务后查看网卡
systemctl start keepalived.service
ip addr
在这里插入图片描述
检查日志文件
生成了节点
vi /var/log/message
在这里插入图片描述
节点生效
在这里插入图片描述
若只在一台主机上编辑了配置文件,可将编辑好的配置文件复制scp到另一台主机里
在这里插入图片描述
修改配置文件中的router id、state和priority
在这里插入图片描述
启动服务
systemctl start keepalived.service
查看服务状态
systemctl status keepalived.service
在这里插入图片描述
查看ip,未生成虚拟ip,因为虚拟ip只会存在与主服务器
在这里插入图片描述
在客户机上访问20.0.0.100
在这里插入图片描述
查看调度情况
在这里插入图片描述
关掉主服务器的keepalived
systemctl stop keepalived.service
在另一台调度器主机上查看日志
在这里插入图片描述
重新在客户机上访问20.0.0.100
在这里插入图片描述
查看调度情况
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值