RHEL6 搭建 keepalived + lvs/DR 集群

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介:

搭建 keepalived + lvs/DR  集群


使用Keepalived为LVS调度器提供高可用功能,防止调度器单点故障,为用户提供Web服务:

  • LVS1调度器真实IP地址为192.168.4.50

  • LVS2调度器真实IP地址为192.168.4.55

  • 服务器VIP地址设置为192.168.4.252

  • 真实Web服务器地址分别为192.168.4.51、192.168.4.52


实验拓扑图

3.jpg



实验步骤:


实验准备:

    配置yum源

    # service iptables stop            //关闭防火墙

    # chkconfig iptables off            //关闭开机自启

    # setenforce 0                            //设置SELinux 为宽松模 

    配置WEB服务器  pc51 / pc52

    #yum -y install httpd  

    #service httpd start 

    #chkconfig httpd on

    [root@pc51 ~] #echo " 192.168.4.51  " > /var/www/html/test.html

    [root@pc52 ~] #echo " 192.168.4.52 " > /var/www/html/test.html

     本次实验有些步骤就不详细介绍了,具体有关 keepalived 和 ipvsadm 的相关配置 可以参考

      keepalived 配置高可用集群 : http://blog.51cto.com/13558754/2060950

      ipvsadm 配置LVS/DR 负载均衡集群:http://blog.51cto.com/13558754/2060405


1 在web服务上 配置 VIP地址  pc51 / pc52

    # ifconfig lo:1 192.168.4.252/32    //只拥有ip 就可以

    # ifconfig lo:1

    lo:1      Link encap:Local Loopback  

              inet addr:192.168.4.252  Mask:0.0.0.0

              UP LOOPBACK RUNNING  MTU:65536  Metric:1

    # cd /proc/sys/net/ipv4/conf/

    # echo 1 > lo/arp_ignore

    # echo 2 > lo/arp_announce 

    # echo 1 > all/arp_ignore 

    # echo 2 > all/arp_announce 





2 配置分发器 50(主)  55(备) 分别安装keepalived软件    装包 ipvsadm

    

    # rpm -q ipvsadm keepalived

    ipvsadm-1.26-4.el6.x86_64

    keepalived-1.2.13-5.el6_6.x86_64


4 修改配置文件

    [root@pc50 ~]# vim /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
  vrrp_instance VI_1 {
       state MASTER                  //  描述信息  MASTER为主服务器
       interface eth0                  //  定义网络接口
       virtual_router_id 51            // 主 备VRID号必须一致 
       priority 150                    // 服务器优先级
       advert_int 1
       authentication {
           auth_type PASS            // 验证方式
           auth_pass 1111            // 验证密码     主  备服务器密码必须一致 
       }
       virtual_ipaddress {
           192.168.4.252             //VIP 地址
       }   
   }
    
   virtual_server 192.168.4.252 80 {         // 配置 VIP为192.168.0.252  80 端口
       delay_loop 6
       lb_algo rr                             // 设置LVS调度算法为RR
       lb_kind DR                             // 设置LVS的模式为DR
       nat_mask 255.255.255.0
       persistence_timeout 50
       protocol TCP
       connect_timeout 3
       nb_get_retry 3
       delay_before_retry 3
   
      real_server 192.168.4.51 80 {
           weight 1                         // 设置权重为1
      }   
      real_server 192.168.4.52 80 {
           weight 1                         // 设置权重为1
       }   
           
   }


使用第一个虚拟服务的模版

其余的都删除


主机55

    [root@pc55 ~]# vim /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
   vrrp_instance VI_1 {
       state BACKUP                 //  描述信息 BACKUP为备用服务器
       interface eth0
       virtual_router_id 51
       priority 100
       advert_int 1
       authentication {
           auth_type PASS
           auth_pass 1111
       }
       virtual_ipaddress {
           192.168.4.252
       }
   }
  
   virtual_server 192.168.4.252 80 {
       delay_loop 6
       lb_algo rr
       lb_kind DR
       nat_mask 255.255.255.0
       persistence_timeout 50
       protocol TCP
       connect_timeout 3
       nb_get_retry 3
       delay_before_retry 3
   
       real_server 192.168.4.51 80 {
           weight 1
       }
       real_server 192.168.4.52 80 {
           weight 1
       }
   }




5 启动服务

    # service keepalived start

    [root@pc50 ~]# 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.4.252:80 rr persistent 50

      -> 192.168.4.51:80              Route   1      0          0         

      -> 192.168.4.52:80              Route   1      0          0     

    [root@pc50 ~]# ip addr show | grep 192.168.4

        inet 192.168.4.50/24 brd 192.168.4.255 scope global eth0

        inet 192.168.4.252/32 scope global eth0

    

    [root@pc55 ~]# ipvsadm -Ln --stats

    IP Virtual Server version 1.2.1 (size=4096)

    Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes

      -> RemoteAddress:Port

    TCP  192.168.4.252:80               0        0        0        0        0

      -> 192.168.4.51:80                     0        0        0        0        0

      -> 192.168.4.52:80                     0        0        0        0        0

    [root@pc55 ~]# ip addr show | grep 192.168.4

        inet 192.168.4.55/24 brd 192.168.4.255 scope global eth0




6 客户端访问


# elinks --dump 192.168.4.252

   192.168.4.52

[root@room1pc32 桌面]# elinks --dump 192.168.4.252

   192.168.4.51

[root@room1pc32 桌面]# elinks --dump 192.168.4.252

   192.168.4.52

[root@room1pc32 桌面]# elinks --dump 192.168.4.252

   192.168.4.51

[root@room1pc32 桌面]# elinks --dump 192.168.4.252

   192.168.4.52


# ipvsadm -Ln --stats

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes

  -> RemoteAddress:Port

TCP  192.168.4.252:80               5       25        0     2075        0

  -> 192.168.4.51:80                     2       10        0      830        0

  -> 192.168.4.52:80                     3       15        0     1245        0


[root@pc55 ~]# ipvsadm -Ln --stats

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes

  -> RemoteAddress:Port

TCP  192.168.4.252:80               0        0        0        0        0

  -> 192.168.4.51:80                     0        0        0        0        0

  -> 192.168.4.52:80                     0        0        0        0        0





模拟50 故障 验证Keepalived 高可用

[root@pc50 ~]#  service keepalived stop


[root@pc50 ~]# ip addr show | grep 192.168.4

    inet 192.168.4.50/24 brd 192.168.4.255 scope global eth0


[root@pc55 ~]# ip addr show | grep 192.168.4

    inet 192.168.4.55/24 brd 192.168.4.255 scope global eth0

    inet 192.168.4.252/32 scope global eth0


客户端访问

# elinks --dump 192.168.4.252

   192.168.4.52

# elinks --dump 192.168.4.252

   192.168.4.51

# elinks --dump 192.168.4.252

   192.168.4.52

# elinks --dump 192.168.4.252

   192.168.4.51

# elinks --dump 192.168.4.252

   192.168.4.52


# ipvsadm -Ln --stats

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port               Conns   InPkts  OutPkts  InBytes OutBytes

  -> RemoteAddress:Port

TCP  192.168.4.252:80               5       25        0     2075        0

  -> 192.168.4.51:80                     2       10        0      830        0

  -> 192.168.4.52:80                     3       15        0     1245        0











本文转自 Xuenqlve 51CTO博客,原文链接:http://blog.51cto.com/13558754/2061009,如需转载请自行联系原作者
相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
3月前
|
运维 负载均衡 网络协议
LVS+Keepalived 负载均衡
LVS+Keepalived 负载均衡
74 8
LVS+Keepalived 负载均衡
|
3月前
|
域名解析 运维 负载均衡
LVS+Keepalived 负载均衡(二)28-1
【8月更文挑战第28天】LVS+Keepalived 负载均衡 配置 LVS VIP
65 5
|
7月前
|
负载均衡 网络协议 算法
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
|
4月前
|
负载均衡 网络协议
使用LVS搭建集群实现负载均衡(二)安装使用
【8月更文挑战第8天】使用LVS搭建集群实现负载均衡(二)安装使用
70 5
|
4月前
|
存储 负载均衡 算法
使用LVS搭建集群实现负载均衡(一)
【8月更文挑战第8天】使用LVS搭建集群实现负载均衡
157 5
|
4月前
|
负载均衡 监控 算法
在Linux中,如何配置和管理LVS集群?
在Linux中,如何配置和管理LVS集群?
|
7月前
|
弹性计算 负载均衡 网络协议
LVS (Linux Virtual server)集群介绍
LVS (Linux Virtual server)集群介绍
|
7月前
|
运维 负载均衡 监控
keepalived+LVS实现高可用性集群
通过结合keepalived和LVS,你可以创建一个高可用性的负载均衡集群,确保服务器的稳定性和性能。这对于托管Web服务、应用服务器等关键服务的服务器集群非常有用。
119 1
|
负载均衡 应用服务中间件 Linux
企业实战(13)LVS负载均衡NAT(网络地址转换)模式实战详解(一)
企业实战(13)LVS负载均衡NAT(网络地址转换)模式实战详解(一)
172 0
|
存储 负载均衡 网络协议
企业实战(13)LVS负载均衡DR(直接路由)模式实战详解(二)
企业实战(13)LVS负载均衡DR(直接路由)模式实战详解(二)
219 0