一、介绍说明

1. keepalived软件能干什么?

Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.
Keepalived软件主要是通过VRRP协议实现高可用功能的。
VRRP是Virtual Router Redundancy Protocol(虚拟路由器冗余协议)的缩写,
VRRP出现的目的就是为了解决静态路由单点故障问题的,它能够保证当个别节点宕机时,整个网络可以不间断地运行

2. keepalived软件工作原理?(重点)

  1. VRRP的出现是为了解决静态路由的单点故障。
  2. VRRP是用过IP多播的方式(默认多播地址(224.0.0.18))实现高可用对之间通信的。
  3. 工作时主节点发包,备节点接包,当备节点接收不到主节点发的数据包的时候,就启动接管程序接管主节点的资源。备节点可以有多个,通过优先级竞选,

3. keepalived软件主要功能?

  • 管理LVS负载均衡软件
  • 实现对LVS集群节点健康检查功能
  • 作为系统网络服务的高可用功能

二、部署keepalived高可用服务:

1.确认反向代理服务是否工作正常

1)在lb01/lb02上测试web服务器是否可以正常

1
2
3
4
5
6
curl -H host:www.etiantian.org 10.0.0.7/oldboy.html
curl -H host:www.etiantian.org 10.0.0.8/oldboy.html
curl -H host:www.etiantian.org 10.0.0.9/oldboy.html
curl -H host:bbs.etiantian.org 10.0.0.7/oldboy.html
curl -H host:bbs.etiantian.org 10.0.0.8/oldboy.html
curl -H host:bbs.etiantian.org 10.0.0.9/oldboy.html

2)在浏览器上测试访问lb01/lb02

  1. 解析hosts文件,将域名解析为10.0.0.5,进行测试访问
  2. 解析hosts文件,将域名解析为10.0.0.6,进行测试访问
  3. 测试前同步lb01和lb02配置文件
1
scp -rp /application/nginx/conf/nginx.conf 10.0.0.6:/application/nginx/conf/

三、安装部署高可用keepalived服务

1.安装keepalived服务软件

1
yum install -y keepalived

2.编写keepalived配置文件

配置文件说明
/etc/keepalived/keepalived.conf 配置文件

  • global_defs 全局配置(*)
  • vrrp_instance vrrp配置(*)
  • virtual_server LVS节点配置

lb01主负载均衡器配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
cat >/etc/keepalived/keepalived.conf <<"EOF"
global_defs {
router_id lb01
}
vrrp_instance gorup01 {
state MASTER
interface eth0
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.3/24 dev eth0 label eth0:1
}
}
EOF

3.lb02配置信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
cat >/etc/keepalived/keepalived.conf <<"EOF"
global_defs {
router_id lb02
}
vrrp_instance group01 {
state BACKUP
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.0.0.3/24 dev eth0 label eth0:1
}
}
EOF

4.启动并测试

启动

1
/etc/init.d/keepalived reload

进行测试访问