欢迎光临
一直在努力

Keepalived+LVS实现高可用及负载均衡

LVS可以实现后端服务器的负载均衡,但是依然存在不少问题,比如调度器单点,不能实时检测后端服务器的状态。所以我们希望可以实现调度器有主备,并能根据后端服务器的健康情况增加删除RS。这就需要使用keepalived了。

Director(Master):192.168.88.100

Director(Slave):192.168.88.150

RS1:192.168.88.180

RS2:192.168.88.185

VIP:192.168.88.200

一、配置Director:

在两台Director上安装上keepalived,yum install -y keepalived

修改keepalived配置文件,以Master为例:vi /etc/keepalived/keepalived.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
vrrp_instance VI_1 {
#备用服务器上为 BACKUP
state MASTER
#绑定vip的网卡为ens33,如果不一样,需要改一下
interface ens33
virtual_router_id 51
#备用服务器上为90
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass hubininfo
}
virtual_ipaddress {
192.168.88.200
}
}
virtual_server 192.168.88.200 80 {
#(每隔10秒查询realserver状态)
delay_loop 10
#(lvs 算法)
lb_algo rr
#(DR模式)
lb_kind DR
#(同一IP的连接60秒内被分配到同一台realserver)
persistence_timeout 60
#(用TCP协议检查realserver状态)
protocol TCP

real_server 192.168.88.180 80 {
#(权重)
weight 100
TCP_CHECK {
#(10秒无响应超时)
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.168.88.185 80 {
weight 100
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}

启动两台Director上的Keepalived,systemctl start keepalived

二、配置Real Server(以一台为例):

首先安装nginx,并修改nginx默认页不同;

yum install nginx;echo “1” > /usr/share/nginx/html/index.html;systemctl start nginx

echo “1” > /proc/sys/net/ipv4/conf/lo/arp_ignore

echo “1” > /proc/sys/net/ipv4/conf/all/arp_ignore

echo “2” > /proc/sys/net/ipv4/conf/lo/arp_announce

echo “2” > /proc/sys/net/ipv4/conf/all/arp_announce

ifconfig lo:0 192.168.88.180 broadcast 192.168.88.180 netmask 255.255.255.255 up

route add -host 192.168.88.180 dev lo:0

三、测试:

关闭一台RS,测试能否访问另一台;

关闭主Director上的Keepalived,测试备份Director是否能工作。

赞(0)
未经允许不得转载:在路上 » Keepalived+LVS实现高可用及负载均衡

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址