1、简介
1.1. Keepalived
Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免单点故障。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。Keepalived是VRRP的完美实现。
1.2. HAProxy
HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在时下的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进当前的架构中, 同时可以保护web服务器不被暴露到网络上。
备注:
- KeepalivedA和KeepalivedB是主从配置,当其中一台服务器发生故障时,Keepalived会将虚拟IP地址迁移到另一台服务器上,确保服务的高可用性。
- Haproxy实现负载均衡功能
概念说明:
虚拟ip:虚拟IP技术,就是一个未分配给客户端真实主机的IP,也就是说对外提供服务器除了有一个真实IP外还有一个虚IP,使用任意一个IP都可以连接到这台主机。当服务器发生故障无法对外提供服务时,动态将这个虚IP切换到备用主机。
负载均衡:含义就是指通过调度算法将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,从而协同完成工作任务。负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。
2、Keepalived安装和配置(两台机器)
下载官网:https://www.keepalived.org/download.html
## 安装依赖
$ yum install -y libnl libnl-devel curl gcc openssl-devel libnl3-devel net
snmp-devel libnfnetlink-devel
在执行一遍看缺不缺包
yum install curl gcc openssl-devel libnl3-devel net-snmp-devel libnfnetlink
devel -y
##将安装包放到服务器并解压安装
$ tar -zxvf keepalived-2.1.5.tar.gz
$ cd keepalived-2.1.5
$ ./configure --prefix=/usr/local/keepalived
$ make && make install
##配置
$ mkdir /etc/keepalived
2.1、主节点配置
##主节点配置(这个配置未检测Haproxy)
##virtual_router_id 159 与虚拟