keepalived高可用集群

一、keepalived简介

        keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived是自动完成,不需人工干涉。

1.1 功能

基于vrrp协议完成地址流动

为vip地址所在的节点生成ipvs规则(在配置文件中预先定义)

为ipvs集群的各RS做健康状态检测

基于脚本调用接口完成脚本中定义的功能,进而影响集群事务,以此支持nginx、haproxy等服务

1.2 架构

用户空间核心组件:

        vrrp stack:VIP消息通告

        checkers:监测real server

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

        SMTP:邮件组件

        IPVS wrapper:生成IPVS规则

        Netlink Reflector:网络接口

        WatchDog:监控进程

控制组件:提供keepalived.conf 的解析器,完成Keepalived配置

IO复用器:针对网络目的而优化的自己的线程抽象

内存管理组件:为某些通用的内存管理功能(例如分配,重新分配,发布等)提供访问权限

二、实验环境

2.1 前提条件

各节点时间必须同步:ntp, chrony

关闭防火墙及SELinux

各节点之间可通过主机名互相通信:非必须

建议使用/etc/hosts文件实现:非必须

各节点之间的root用户可以基于密钥认证的ssh服务完成互相通信:非必须

2.2 实验设备

设备名IPVIP用途
ka1172.25.254.10172.25.254.100

ka1

ka2172.25.254.20172.25.254.100ka2
rs1172.25.254.110172.25.254.100realserver
rs2172.25.254.120172.25.254.100realserver
cilent172.25.254.66测试

2.3 实验准备

2.3.1 网络设置

2.3.2 关闭防火墙及SELinnux

systemctl disabled --now firewalld
vim /etc/selinux/config

2.3.3 下载安装包

#realserver上安装apache
yum install httpd -y
#修改访问页面
echo server1 -172.25.254.110 > /etc/www/html/index.html
echo server2 -172.25.254.120 > /etc/www/html/index.html
#测试httpd服务是否正常
curl 172.25.124.110
curl 172.25.124.120

#ka上安装keepalived
yum install keepalived -y
vim /etc/keepalived/keepalived.conf    #修改配置文件
systemctl enable --now keepalived.service

2.3.4 实验

2.3.4.1 虚拟路由间的通讯

2.3.4.2 独立日志

vim /etc/sysconfig/keepalived

vim /etc/rsyslog.conf
systemctl restart keepalived.service
systemctl restart rsyslog.service

2.3.4.3 独立子配置文件
mkdir -p /etc/keepalived/conf.d
vim /etc/keepalived/keepalived.conf #将虚拟路由复制并注释,写明路径
vim /etc/keepalived/conf.d/172.25.254.100.conf    #粘贴之前复制的内容

    

2.3.4.4 非抢占模式和抢占延迟

2.3.4.5 单播模式设定

2.3.4.6 邮件通知设置

首先打开QQ邮件 ->点击账号与安全 ->点击安全设置 ->生成授权码

vim /etc/keepalived/mail.sh
vim /etc/mail.rc
echo hello | mail -s test XXXXXXXXXXXX@qq.com    #测试是否能收到邮件

2.3.4.7 双主模式

2.3.4.8 keepalived+lvs
#ka上配置
yum install ipvsadm -y
vim /etc/keepalived/keepalived.conf
systemctl restart keepalived.service
systemctl start ipvsadm.service
ipvsadm -A -t 172.25.254.100:80 -s wrr
ipvsadm -a -t 172.25.254.100:80 -r 172.25.254.110:80 -g -w 2
ipvsadm -a -t 172.25.254.100:80 -r 172.25.254.120:80 -g -w 1
systemctl stop ipvsadm.service

rs上配置

ip a a 172.25.254.100/32 dev lo    #临时配置,重启后需重新配置

2.3.4.9 keepalived+haproxy+脚本执行

注意:此实验与上一个实验是独立的,ipvsadm和haproxy不能同时启动,之前keepalived配置文件中做的配置需要删除或注释

ka上配置
yum install haproxy -y
systemctl restart haproxy
vim /etc/keepalived/test.sh
chmod +x /etc/keepalived/test.sh
vim /etc/keepalived/keepalived.conf
systemctl restart keepalived.service

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值