一、高可用集群
1、类型
- LB:Load Balance 负载均衡 --- LVS/HAProxy/nginx(http/upstream, stream/upstream)
- LVS(Linux Virtual Server)是基于 Linux 内核实现的四层负载均衡技术,具有高性能和高可靠性。它通过修改 IP 数据包的目的地址和端口来实现负载分发。
- HAProxy 是一款提供高可用性、负载均衡和基于 TCP 和 HTTP 应用的代理软件。它支持七层负载均衡,可以根据 HTTP 请求的内容进行更精细的流量分发。
- Nginx 不仅是一个优秀的 Web 服务器,也具备强大的负载均衡功能。在 http/upstream 中可以配置基于 HTTP 协议的负载均衡,而 stream/upstream 用于配置基于 TCP 协议的负载均衡。
- HA:High Availability 高可用集群 --- 数据库、Redis
- 数据库:通过主从复制、数据备份与恢复、故障自动切换等技术来保障数据的可用性和业务的连续性。例如 MySQL 的主从架构,当主库出现故障,从库可以迅速切换为主库继续提供服务。
- Redis 也可以通过集群模式、主从复制等方式实现高可用性。比如 Redis Sentinel 可以监控 Redis 主从节点的状态,实现自动故障切换。
- SPoF: Single Point of Failure,解决单点故障
单点故障是指系统中某个组件的故障会导致整个系统无法正常工作。解决单点故障就是通过冗余、备份、故障转移等策略消除这种风险。
- HPC:High Performance Computing 高性能集群
将多个计算机通过高速网络连接起来,协同完成大规模计算任务。
通常用于科学计算、工程模拟、大数据分析等需要强大计算能力的领域。比如气象预测模型的计算、基因序列的分析等。通过并行计算、分布式存储等技术,高性能集群能够大幅提高计算效率,缩短计算时间。
2、系统可用性
SLA
:
Service-Level Agreement
服务等级协议(提供服务的企业与客户之间就服务的品质、水准、性能等方面所达成的双方共同认可的协议或契约)
A = MTBF / (MTBF+MTTR
)
指标:
99.9%, 99.99%, 99.999%,99.9999%
3、系统故障
硬件故障:设计缺陷、
wear out
(损耗)、非人为不可抗拒因素
软件故障:设计缺陷
bug
4、实现高可用
提升系统高用性的解决方案:降低
MTTR- Mean Time To Repair(
平均故障时间
)
解决方案:建立冗余机制
- active/passive 主/备
- active/active 双主
- active --> HEARTBEAT --> passive
- active <--> HEARTBEAT <--> active
5、VRRP(Virtual Router Redundancy Protocol)
虚拟路由冗余协议
,解决静态网关单点风险。
通过把几台路由设备联合组成一台虚拟的路由设备,将虚拟路由设备的IP地址作为用户的默认网关实现与外部网络通信。当网关设备发生故障时,VRRP机制能够选举新的网关设备承担数据流量,从而保障网络的可靠通信。
- 物理层:路由器、三层交换机
- 软件层:keepalived
(1)作用
出口网关的备份,保证出口网关的高可用性。
(2)相关术语
- 虚拟路由器:Virtual Router
- 虚拟路由器标识:VRID(0-255),唯一标识虚拟路由器
- VIP:Virtual IP
- VMAC:Virutal MAC (00-00-5e-00-01-VRID)
- 物理路由器:
master:主设备
backup:备用设备
priority:优先级
(3)相关技术
通告:心跳,优先级等;周期性
工作方式:抢占式,非抢占式
安全认证:
无认证
简单字符认证:预共享密钥
MD5
工作模式:
主/备:单虚拟路由器
主/主:主
/
备(虚拟路由器
1
),备
/
主(虚拟路由器
2
)
二、keepalived
1、简介
官网:
http://keepalived.org/
vrrp
协议的软件实现,原生设计目的为了高可用
ipvs
服务
功能:
- 基于vrrp协议完成地址流动
- 为vip地址所在的节点生成ipvs规则(在配置文件中预先定义)
- 为ipvs集群的各RS做健康状态检测
- 基于脚本调用接口完成脚本中定义的功能,进而影响集群事务,以此支持nginx、haproxy等服务
2、架构
说明:
a.用户空间核心组件:
vrrp stack:VIP
消息通告
checkers:监测real server
system call:实现 vrrp
协议状态转换时调用脚本的功能
SMTP