keepalived+nginx高可用
实验环境
一个客户端,一个主nginx,一个备用的nginx,2个后端服务器
主备的keepalived
实验目的
当有大量的流量的请求时nginx,会负载均衡将这个请求分发到后端服务器上
当nginx服务器出现了故障,备用服务器会出来接收请求,保证了服务的高可用
keepalived+nginx(主备模式)
-
一个master,一个backup
-
使用的nat模式,后端服务器需要指定网关是lvs节点上的,我对这个内网网关也做一个vip漂移
-
当然也可以使用DR模式

[root@server keepalived]# cat keepalived.conf
! Configuration File for keepalived
global_defs {
router_id lvs1
}
vrrp_instance VI_1 {
state MASTER
interface ens160
virtual_router_id 77
priority 255
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.50.77/24
}
}
vrrp_instance rs_gw {
state MASTER
interface ens224
virtual_router_id 78
priority 255
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.100.77/24
}
}
virtual_server 192.168.50.77 80 {
delay_loop 6
lb_algo rr
lb_kind NAT
# persistence_timeout 1
protocol TCP
real_server 192.168.100.12 81 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
retry 3
delay_before_retry 3
}
}
real_server 192.168.100.12 82 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
retry 3
delay_before_retry 3
}
}
}
backup节点
[root@node1 keepalived]# cat keepalived.conf
! Configuration File for keepalived
global_defs {
router_id lvs2
}
vrrp_instance VI_1 {
state BACKUP
interface ens160
virtual_router_id 77
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.50.77/24
}
}
vrrp_instance rs_gw {
state BACKUP
interface ens224
virtual_router_id 78
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.100.77/24
}
}
virtual_server 192.168.50.77 80 {
delay_loop 6
lb_algo rr
lb_kind NAT
# persistence_timeout 1
protocol TCP
real_server 192.168.100.12 81 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
retry 3
delay_before_retry 3
}
}
real_server 192.168.100.12 82 {
weight 1
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
retry 3
delay_before_retry 3
}
}
}
ipvsadm 查看信息
[root@server keepalived]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.50.77:80 rr
-> 192.168.100.12:81 Masq 1 0 0
-> 192.168.100.12:82 Masq 1 0 0
keepalived+nginx (主主模式)

-
这样的话,2个节点都在运行,没有节点空闲
-
但是了这个nginx负载均衡器挂掉的话,业务就没有了,对这个nginx做一个高可用
-
或者是不要这个nginx负载均衡器,直接指定一个域名,A记录里面指向2个vip地址即可
高可用
对谁都可以实现高可用
比如一个nginx网页地址,对这个地址进行高可用,就是访问这个地址就能实现业务的访问,但是如果有一个机器故障的话,可以实现自动的切换
如果想要实现高可用的话,可以对谁都实现
keepalived+lvs 这个lvs自带检测后端服务器的健康检查的机制,如果后端服务器出现了故障的话,自动的移除掉ipvsadm -ln 列表中
因此的话,这个高可用的话,非常的方便,实现了业务的冗余性,就是保证了业务持续工作的一个状态

浙公网安备 33010602011771号