keeplive高可用集群

目录

1、keeplive介绍

        1.1、可用性计算

        1.2、故障原因

        1.3、实现高可用

        1.4、VRRP---虚拟路由冗余协议

2、keepalived配置

        2.1、keepalived简介

        2.2、keepalived组件及其架构

        2.3、keepalived环境准备

   2.4、keepalived配置说明

​编辑3、keepalived功能配置

3.1、非抢占模式

3.2、延迟抢占

3.3、VIP单播配置

3.4、邮件通知、

4、双主模式

5、实现IPVS高可用性

6、keepalived结合harpoxy

        6.1、VRRP Script配置

         6.2、keepalived结合harpoxy集群


1、keeplive介绍

        keeplive属于高可用集群

        1.1、可用性计算

        A = MTBF / (MTBF+MTTR)

        MTBF:集群上线时间    MTTR:故障时间

        1.2、故障原因

        软件故障:bug

        硬件故障:设计缺陷,设备损耗,天灾人祸

        1.3、实现高可用

        主/备(机)

        双主机

        设备心跳:每隔一段时间发送信息给组播地址

        1.4、VRRP---虚拟路由冗余协议

        通过心跳来判断机器是否存活

        虚拟路由标识:VRID(0-255),识别虚拟路由的唯一标识

        VMAC:虚拟路由的虚拟mac地址

        物理路由器---(使用顺序按照优先级进行)

                master:主设备

                backup:备用设备

                priority:优先级     

        VRRP模式:抢占,非抢占

        安全认证:无认证,简单字符认证,MD5

        工作模式:

                主/备:一台使用,另一台备份

                主/主(避免资源浪费) :两个主机中,都有不同业务的VIP,其中一台出问题后,VIP都会转向存活的主机

2、keepalived配置
        2.1、keepalived简介

        vrrp协议的软件实现,原生设计目的为了高可用ipvs服务

        官网:Keepalived for Linux

        功能:

        基于vrrp协议完成地址流动

        根据主机情况自动生成规则

        为ipvs集群进行健康检测

        定义脚本,在集群事务中使用脚本

        2.2、keepalived组件及其架构

        vrrp stack:VIP信息通告

        checkers:监测后端real server健康检测

        system call :实现vrrp协议状态转换时调用脚本

        SMTP:邮件组件,出问题时发送邮件

        IPVS wrapper:生成IPVS规则

        Netlink Reflector:网络接口(通过网络接口进行访问)

        WatchDog:监控进程

        2.3、keepalived环境准备

        一个测试主机,两台keepalived,后端两台子机

        环境:企业7.9

        实验环境搭建:

   

   利用网络配置脚本配置ip

vmset.sh eth0 172.25.254.10 ka.sun.org

  在子机里面安装httpd服务

yum install httpd -y

   插入内容

[root@se sun]# echo 172.25.254.110 > /var/www/html/index.html

   启动httpd服务

[root@se sun]# systemctl enable --now httpd
   2.4、keepalived配置说明

        1、配置文件组成部分

配置文件: /etc/keepalived/keepalived.conf

配置文件组成:

        global configuration (全局配置)

             配置邮件,路由id, vrrp配置

        VRRP CONFIGURATION

               定义每个vrrp虚拟路由

        LVS CONFIGURATION

                LVS集群的VS和RS

          在两个ka服务器上面安装keepalived服务

[root@ka sun]# yum install keepalived -y

              进入主配置文件

[root@ka sun]# vim /etc/keepalived/keepalived.conf 

2、设定VIP

     

重启服务

[root@ka sun]# systemctl restart keepalived.service 
将配置文件复制到第二个主机中
[root@ka sun]# scp /etc/keepalived/keepalived.conf  root@172.25.254.20:/etc/keepalived/keepalived.conf 

更改第二台主机配置

重启服务

[root@ka sun]# systemctl enable --now keepalived.service 

3、虚拟路由通讯设定

[root@ka sun]# systemctl restart keepalived.service 

重启服务

通讯正常

keepalived日志分离

4、进入配置文件

[root@ka sun]# vim /etc/sysconfig/keepalived

重启服务
[root@ka sun]# systemctl restart keepalived.service 
进入日志文件
[root@ka sun]# vim /etc/rsyslog.conf

重启服务
[root@ka sun]# systemctl restart rsyslog.service

5、keepalived独立子配置文件

进入配置文件

[root@ka sun]# vim /etc/keepalived/keepalived.conf 

创建文件
[root@ka sun]# mkdir -p /etc/keepalived/conf.d
[root@ka sun]# vim /etc/keepalived/conf.d/172.25.254.100.conf
3、keepalived功能配置
3.1、非抢占模式

进入配置文件,将两个子机类型都改为BACKUP

  重启服务

[root@ka sun]# systemctl restart keepalived.service
3.2、延迟抢占

进入配置文件

[root@ka sun]# systemctl restart keepalived.service

[root@ka sun]# systemctl restart keepalived.service

3.3、VIP单播配置
[root@ka sun]# systemctl restart keepalived.service

重启服务
[root@ka sun]# systemctl restart rsyslog.service
3.4、邮件通知、

用脚本调度

创建脚本

[root@ka sun]# vim /etc/keepalived/mail.sh

[root@ka sun]# chmod +x /etc/keepalived/mail.sh
提升权重

4、双主模式
进入配置文件
[root@ka sun]# vim /etc/keepalived/keepalived.conf

配置第二套主从

5、实现IPVS高可用性

在子机内配置VIP

ip a a  172.25.254.100/32 dev lo
[root@se network-scripts]# vim ifcfg-lo

配置文件内容
DEVICE=lo
IPADDR0=127.0.0.1
NETMASK0=255.0.0.0
IPADDR1=172.25.254.100
NETMASK1=255.255.255.255
NETWORK=127.0.0.0
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
BROADCAST=127.255.255.255
ONBOOT=yes
NAME=loopback

启动服务
[root@se network-scripts]# systemctl restart network

写入配置文件
[root@se network-scripts]# vim /etc/sysctl.d/arp.conf

启用文件
[root@se network-scripts]# sysctl --system

配置keepalived内的LVS

进入配置文件
[root@ka sun]# vim /etc/keepalived/keepalived.conf

6、keepalived结合harpoxy
        6.1、VRRP Script配置

自定义资源监控脚本script

[root@ka ~]# vim /etc/keepalived/test.sh


脚本内容
#!/bin/bash
[ ! -f /mnt/lee ]
echo $?


给脚本执行权限
[root@ka ~]# chmod +x /etc/keepalived/test.sh

将脚本写入配置文件

进入配置文件
[root@ka sun]# vim /etc/keepalived/keepalived.conf

调用VRRP Script

6.2、keepalived结合harpoxy集群

两台主机先安装haproy服务

yum install haproxy
配置haproxy配置文件
vim /etc/haproxy/haproxy.cfg

vim /etc/sysctl.conf

systemctl enable --now haproxy.service
启用haproxy功能
启用对内核的更改
sysctl -p
更改环回配置文件


DEVICE=lo
IPADDR=127.0.0.1
NETMASK=255.0.0.0
NETWORK=127.0.0.0
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
BROADCAST=127.255.255.255
ONBOOT=yes
NAME=loopback


重新启用gaproxy功能
systemctl restart network

​编写脚本

vim /etc/keepalived/test.sh

脚本内容
#!/bin/bash
killall -0 haproxy

在配置文件里面更改脚本名称

vim /etc/keepalived/keepalived.conf

  • 26
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值