keepalived理论--实验

. 高可用集群
1.1 集群类型
LB : Load Balance 负载均衡
LVS/HAProxy/nginx ( http/upstream, stream/upstream )
HA : High Availability 高可用集群
数据库、 Redis
SPoF: Single Point of Failure ,解决单点故障
HPC : High Performance Computing 高性能集群
1.2 系统可用性
SLA : Service-Level Agreement 服务等级协议(提供服务的企业与客户之间就服务的品质、水准、性能
等方面所达成的双方共同认可的协议或契约)
A = MTBF / (MTBF+MTTR )
指标 : 99.9%, 99.99%, 99.999%,99.9999%
1.3 系统故障
硬件故障:设计缺陷、 wear out (损耗)、非人为不可抗拒因素
软件故障:设计缺陷 bug
1.4 实现高可用
提升系统高用性的解决方案:降低 MTTR- Mean Time To Repair( 平均故障时间 )
解决方案:建立冗余机制
active/passive 主 / 备
active/active 双主
active --> HEARTBEAT --> passive
active <--> HEARTBEAT <--> active
1.5.VRRP Virtual Router Redundancy Protocol
虚拟路由冗余协议 , 解决静态网关单点风险
物理层 : 路由器、三层交换机
软件层 :keepalived
1.5.1 VRRP 相关术语
虚拟路由器: Virtual Router
虚拟路由器标识: VRID(0-255) ,唯一标识虚拟路由器
VIP : Virtual IP
VMAC : Virutal MAC (00-00-5e-00-01-VRID)
物理路由器:
master :主设备
backup :备用设备
priority :优先级
1.5.2 VRRP 相关技术
通告:心跳,优先级等;周期性
工作方式:抢占式,非抢占式
安全认证:
无认证
简单字符认证:预共享密钥
MD5
工作模式:
主 / 备:单虚拟路由器
主 / 主:主 / 备(虚拟路由器 1 ),备 / 主(虚拟路由器 2 )
keepalived部署

keepalived 简介

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

功能:

基于vrrp协议完成地址流动

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

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

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

Keepalived 环境准备

Keepalived 相关文件

软件包名:keepalived

主程序文件:/usr/sbin/keepalived

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

配置文件示例:/usr/share/doc/keepalived/

Unit File:/lib/systemd/system/keepalived.service

Unit File的环境配置文件:/etc/sysconfig/keepalived

Keepalived环境配置

ka1的IP配置

复制代码
[root@localhost network-scripts]# vmset.sh eth0 172.25.254.10 ka1.timinglee.org

ka2的IP配置

复制代码
[root@localhost ~]# vmset.sh eth0 172.25.254.20 ka2.timinglee.org

server1的IP配置

复制代码
[root@localhost ~]# vmset.sh eth0 172.25.254.110 server1.timinglee.org

server2的IP配置

复制代码
[root@localhost ~]# vmset.sh eth0 172.25.254.120 server2.timinglee.org

server1和server2都安装httpd服务

复制代码
[root@server1 ~]# echo 172.25.254.110 > /var/www/html/index.html
[root@server1 ~]# systemctl enable --now httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@server2 ~]# echo 172.25.254.120 > /var/www/html/index.html 
[root@server2 ~]# systemctl enable --now httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

ka1上测试

keepalived虚拟路由配置

ka1和ka2都安装keepalived

root@ka1 \~\]# yum install keepalived -y ![](https://i-blog.csdnimg.cn/direct/7312100ac2504682b2cfdbcafb57f690.png) \[root@ka1 \~\]# man 5 keepalived.conf---查看帮助 \[root@ka1 \~\]# vim /etc/keepalived/keepalived.conf --配置文件 全局配置 ! Configuration File for keepalived global_defs { notification_email { [email protected] #keepalived 发生故障切换时邮件发送的目标邮箱,可以按行区分写多个 [email protected] } notification_email_from [email protected] #发邮件的地址 smtp_server 127.0.0.1 #邮件服务器地址 smtp_connect_timeout 30 #邮件服务器连接timeout router_id KA1.timinglee.org #每个keepalived主机唯一标识建议使用当前主机名,但多节点重名不影响 vrrp_skip_check_adv_addr #对所有通告报文都检查,会比较消耗性能,启用此配置后,如果收到的通告报文和上一个报文是同 一个路由器,则跳过检查,默认值为全检查 vrrp_strict #严格遵循vrrp协议 #启用此项后以下状况将无法启动服务: #1.无VIP地址 #2.配置了单播邻居 #3.在VRRP版本2中有IPv6地址 #建议不加此项配置 vrrp_garp_interval 0 #报文发送延迟,0表示不延迟 vrrp_gna_interval 0 #消息发送延迟 vrrp_mcast_group4 224.0.0.18 #指定组播IP地址范围: } ![](https://i-blog.csdnimg.cn/direct/798eaef761184ca68931f1309049ec32.png) **配置虚拟路由器** vrrp_instance VI_1 { state MASTER interface eth0 #绑定为当前虚拟路由器使用的物理接口,如:eth0,可以和VIP不在一个网卡 virtual_router_id 51 #每个虚拟路由器惟一标识,范围:0-255,每个虚拟路由器此值必须唯一 #否则服务无法启动 #同属一个虚拟路由器的多个keepalived节点必须相同 #务必要确认在同一网络中此值必须唯一 priority 100 #当前物理节点在此虚拟路由器的优先级,范围:1-254 #值越大优先级越高,每个keepalived主机节点此值不同 advert_int 1 #vrrp通告的时间间隔,默认1s authentication { #认证机制 auth_type AH|PASS #AH为IPSEC认证(不推荐),PASS为简单密码(建议使用) uth_pass 1111 #预共享密钥,仅前8位有效 #同一个虚拟路由器的多个keepalived节点必须一样 } virtual_ipaddress { #虚拟IP,生产环境可能指定上百个IP地址 / brd dev scope label

相关推荐
搬码临时工7 小时前
如何通过外网访问内网?哪个方案比较好用?跨网远程连接网络知识早知道
网络·智能路由器
hgdlip2 天前
重启路由器ip不变怎么回事?原因分析与解决方法
网络协议·tcp/ip·智能路由器
孤寂大仙v2 天前
【计算机网络】NAT、代理服务器、内网穿透、内网打洞、局域网中交换机
网络·计算机网络·智能路由器
一只小松许️3 天前
UDP包大小与丢包率的关系:原理分析与优化实践
网络协议·udp·智能路由器
领世达检测V133529092493 天前
「EN 18031」访问控制机制(ACM - 1):智能路由器的安全守卫
网络·智能路由器
SZ1701102313 天前
默认网关 -- 负责转发数据包到其他网络的设备(通常是路由器)
网络·智能路由器
搬码临时工3 天前
什么是内网映射?如何将内网ip映射到外网访问?
运维·服务器·网络·网络协议·tcp/ip·智能路由器
搬码临时工4 天前
如何将内网的IP地址映射到外网?详细方法与步骤解析
服务器·网络·tcp/ip·智能路由器·电脑·远程工作
思科小白白4 天前
网络地址转换
网络·智能路由器
TeleostNaCl4 天前
OpenWrt 搭建 samba 服务器的方法并解决 Windows 不允许访问匿名服务器的方法
运维·服务器·windows·经验分享·智能路由器