• 欢迎访问我的个人博客网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 如果您觉得本站对您有用,那么赶紧使用Ctrl+D收藏吧!
  • 相关内容持续完善中......

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

集群 hubin 7个月前 (09-11) 228次浏览 0个评论 扫描二维码

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是否能工作。


本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Keepalived+LVS实现高可用及负载均衡
喜欢 (0)
hubin
关于作者:
头像
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

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