keepalived-lvs-nat-主备模型实现高可用负载均衡
2016-11-03 13:53
1076 查看
keepalived简介
Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。
lvs简介
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。
lvs-nat
多目标的DNAT,通过将请求报文中的目标地址和目标端口修改为挑选出的某RS的RIP和PORT实现转发;
1)RIP和DIP必须在同一IP网络,且应该使用私有地址;RS的网络要指向DIP(保证响应报文必须经由VS);
2)请求报文和响应报文都经由Director转发,较高负载下,Director易于成为系统性能瓶颈;
3)支持端口映射;
4)VS必须是Linux,RS可以是任意OS;
lvs-nat设计要点:
(1) DIP与RIP要在同一IP网络,RIP的网关要指向DIP;
(2) 支持端口映射;
(3) 是否用到共享存储取决业务需求;
keepalived提供高可用并监测后端服务器健康状态
lvs提供负载均衡
这里使用lvs-nat keepalived的主/备模型来搭建
实验环境:
虚拟机:VMware Workstation 12.1 pro
操作系统:CentOS 7
keepalived-1.2.13-7.el7.x86_64
ipvsadm-1.27-7.el7.x86_64
httpd-2.4.6-40.el7.centos.x86_64
IP规划:
DR-MASTER-外网IP:172.18.1.105
DR-BACKUP-外网IP:172.18.1.106
外网VIP:172.18.1.66
DR-MASTER-内网IP:192.168.10.1
DR-BACKUP-内网IP:192.168.10.2
RS1:192.168.10.11
RS2:192.168.10.12
RS1和RSS2的网关(内网VIP):192.168.10.254
实验拓扑图
开始前将所有主机的iptables和selinux关闭或者设置允许策略
[code=bash;toolbar:false">systemctl stop iptables.service
systemctl disable iptables.service
setenforce 0
vim /etc/selinux/config
SELINUX=disable
为DR-MASTER和DR-BACKUP打开网卡转发vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
保存退出
sysctl -p
cat /proc/sys/net/ipv4/ip_forward #结果为1就OK为RS1、RS2配置IP地址和网关,并保证能ping通yum -y install httpd实验中为验证效果,在RS1新建一个主页为/var/www/html/index.html内容如下:<h1>RS-1</h1>RS2中新建主页为/var/www/html/index.html,内容如下:<h1>RS-2</h1>! Configuration File for keepalived
global_defs {
notification_email {
root@localhost #通知邮件
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id lvs-keepalived
}
!配置外网VIP
vrrp_instance VI_1 {
state MASTER #类型为MASTER
interface eno16777736 网卡
virtual_router_id 51
priority 100 #优先级
advert_int 1
authentication {
auth_type PASS
auth_pass 1a2b3c
}
virtual_ipaddress {
172.18.1.66 dev eno16777736 label eno16777736:0 #虚拟地址,可以有多个
}
}
!配置内网VIP
vrrp_instance gateway{
state MASTER #类型为MASTER
interface eno33554984 #网卡
virtual_router_id 70
priority 100 #优先级
advert_int 1
authentication {
auth_type PASS
4000
auth_pass 1a2b3c
}
virtual_ipaddress {
192.168.10.254 dev eno33554984 label eno33554984:0 #虚拟地址
}
}
!配置外网VIP里的Real Server
virtual_server 172.18.1.66 80 {
delay_loop 6
lb_algo rr
lb_kind NAT
nat_mask 255.255.255.0
persistence_timeout 50 #会话保持时间,单位是秒。也可以把这句话删除,后面的测试里就会看到差异了
protocol TCP
real_server 192.168.10.11 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.10.12 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。
lvs简介
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。
lvs-nat
多目标的DNAT,通过将请求报文中的目标地址和目标端口修改为挑选出的某RS的RIP和PORT实现转发;
1)RIP和DIP必须在同一IP网络,且应该使用私有地址;RS的网络要指向DIP(保证响应报文必须经由VS);
2)请求报文和响应报文都经由Director转发,较高负载下,Director易于成为系统性能瓶颈;
3)支持端口映射;
4)VS必须是Linux,RS可以是任意OS;
lvs-nat设计要点:
(1) DIP与RIP要在同一IP网络,RIP的网关要指向DIP;
(2) 支持端口映射;
(3) 是否用到共享存储取决业务需求;
keepalived提供高可用并监测后端服务器健康状态
lvs提供负载均衡
这里使用lvs-nat keepalived的主/备模型来搭建
实验环境:
虚拟机:VMware Workstation 12.1 pro
操作系统:CentOS 7
keepalived-1.2.13-7.el7.x86_64
ipvsadm-1.27-7.el7.x86_64
httpd-2.4.6-40.el7.centos.x86_64
IP规划:
DR-MASTER-外网IP:172.18.1.105
DR-BACKUP-外网IP:172.18.1.106
外网VIP:172.18.1.66
DR-MASTER-内网IP:192.168.10.1
DR-BACKUP-内网IP:192.168.10.2
RS1:192.168.10.11
RS2:192.168.10.12
RS1和RSS2的网关(内网VIP):192.168.10.254
实验拓扑图
开始前将所有主机的iptables和selinux关闭或者设置允许策略
[code=bash;toolbar:false">systemctl stop iptables.service
systemctl disable iptables.service
setenforce 0
vim /etc/selinux/config
SELINUX=disable
为DR-MASTER和DR-BACKUP打开网卡转发vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
保存退出
sysctl -p
cat /proc/sys/net/ipv4/ip_forward #结果为1就OK为RS1、RS2配置IP地址和网关,并保证能ping通yum -y install httpd实验中为验证效果,在RS1新建一个主页为/var/www/html/index.html内容如下:<h1>RS-1</h1>RS2中新建主页为/var/www/html/index.html,内容如下:<h1>RS-2</h1>! Configuration File for keepalived
global_defs {
notification_email {
root@localhost #通知邮件
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id lvs-keepalived
}
!配置外网VIP
vrrp_instance VI_1 {
state MASTER #类型为MASTER
interface eno16777736 网卡
virtual_router_id 51
priority 100 #优先级
advert_int 1
authentication {
auth_type PASS
auth_pass 1a2b3c
}
virtual_ipaddress {
172.18.1.66 dev eno16777736 label eno16777736:0 #虚拟地址,可以有多个
}
}
!配置内网VIP
vrrp_instance gateway{
state MASTER #类型为MASTER
interface eno33554984 #网卡
virtual_router_id 70
priority 100 #优先级
advert_int 1
authentication {
auth_type PASS
4000
auth_pass 1a2b3c
}
virtual_ipaddress {
192.168.10.254 dev eno33554984 label eno33554984:0 #虚拟地址
}
}
!配置外网VIP里的Real Server
virtual_server 172.18.1.66 80 {
delay_loop 6
lb_algo rr
lb_kind NAT
nat_mask 255.255.255.0
persistence_timeout 50 #会话保持时间,单位是秒。也可以把这句话删除,后面的测试里就会看到差异了
protocol TCP
real_server 192.168.10.11 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.10.12 80 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
相关文章推荐
- keepalived-lvs-nat-主备模型实现高可用负载均衡
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡(推荐)
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
- VM虚拟机上 实现CentOS 6.X下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
- LVS(NAT)+keepalived实现高性能高可用负载均衡
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
- keepalived-lvs-dr-主主模型实现高可用负载均衡
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
- CentOS6.2下搭建LVS(NAT)+Keepalived实现高性能高可用负载均衡
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
- 转载--CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡