`
blackhost
  • 浏览: 14320 次
社区版块
存档分类
最新评论

CentOS6.2下选择LVS+Keepalived构建高看复用性负载均衡架构

阅读更多

     在互连网应用技术里,使用负载均衡技术主要的目的包括如下几点:
     ◆ 系统高可用性。组成系统的某些设备或部件失效,并不会影响正常的服务。
     ◆ 系统可扩展性。用户的增加,引起访问数乃至流量的增加,这种情形下,需要对系统进行扩容,以应对这种快速增长。对于提供高可用服务的互联网网站,其对可扩展的基本要求就是在保持系统服务不终止的情况下,透明的扩充容量,即用户不知道扩容的存在,或者说是扩容不对现有的服务产生任何负面作用。这些扩展主要包括:带宽扩展、服务器扩展、存储容量扩展、数据库扩展等,当然也包括主机增加内存等方面的扩展。
     ◆ 负载均衡能力。一个应用或服务由数个物理服务器提供,并且每个物理服务器运行的应用或服务是相同的,我们可以让用户的访问通过某种控制策略,把负载分摊到不同的物理服务器,从而保持每个物理服务器有比较合理的负载。当整个系统的负载趋于饱和时,通过增加物理服务器和扩充物理带宽来解决这个麻烦。增加物理服务器以后,系统的负载情况将重新在所有集群的物理服务器之间按照指定的算法重新达到新的均衡。   

      一个完整的负载均衡项目,一般由虚拟服务器、故障隔离及失败切换 3 个功能框架所组成。虚拟服务器是负载均衡体系的基本架构,它分两层结构:转发器(Director)和真实服务器。
图 1-1 为虚拟服务器的结构示意。

图1-1

       为什么称虚拟服务器?因为从用户的角度看来,似乎只是一个服务器在提供服务。虚拟服务器最主要的功能是提供包转发和负载均衡,这个功能可以通过撰写 ipvsadm 脚本具体实现。虚拟服务器是通过在IPVS服务器上增加一条转发路由实现的虚拟IP访问来控制用户的访问IP地址为虚拟IP地址。

 

       故障隔离指虚拟服务器中的某个真实服务器(或某几个真实服务器)失效或发生故障,系统将自动把失效的服务器从转发队列中清理出去,从而保证用户访问的正确性;另一方面,当实效的服务器被修复以后,系统再自动地把它加入转发队列。
       失败切换,这是针对负载均衡器 Director 采取的措施,在有两个负载均衡器 Director 的应用场景,当主负载均衡器(MASTER)失效或出现故障,备份负载均衡器(BACKUP)将自动接管主负载均衡器的工作;一旦主负载均衡器故障修复,两者将恢复到最初的角色。

       要从技术上实现虚拟服务器、故障隔离及失败切换 3 个功能,需要两个工具:ipvsadm 和
keepalived。当然也有 heartbeat 这样的工具可以实现同样的功能,但相对于 keepalived,
heartbeat 的实现要复杂得多(如撰写 ipvsadm 脚本,部署 ldirectord,编写资源文件等)。在
采用 keepalived 的方案里,只要 ipvsadm 被正确的安装,简单的配置唯一的文件 keepalived
就行了。

 

       本文以实际应用场景为例,实际用了2台服务器来实现了IPVS+KeepAlived的高可用性负载均衡组件技术。

 

     1、安装IPVS

     在CentOS最小安装中,可采用Yum的方式简化安装步骤,目前网络上很多的文章提供的是编译安装,实际上yum已经提供了安装源,已经不需要那么麻烦了,需要做的只是: 

 

#yum install ipvsadm*

    安装完毕后,ipvsadm会自动加入到系统启动应用中,可用chkcongfig --list检查下是否自启动

    下面是修改ipvsadm的配置文件,配置文件位于/etc/sysconfig/ipvsadm,打开这个文件插入如下代码

   

-A -t 192.168.1.225:80 -s wrr
-a -t 192.168.1.225:80 -r 192.168.1.222:80 -g -w 1
-a -t 192.168.1.225:80 -r 192.168.1.223:80 -g -w 1

   保存后退出,修改ipvsadm的启动脚本

  

GW=192.168.1.1
# website director vip.
SNS_VIP=192.168.1.225 #这个是要虚拟的IP地址
.....

start() {
    /sbin/ifconfig em1:0 $SNS_VIP braodcast $SNS_VIP netmask 255.255.255.255 up #添加虚拟IP
    /sbin/route add -host $SNS_VIP dev em1:0 #添加到虚拟IP的静态路由
    echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
    echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
    echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce
......

stop() {
    /sbin/ifconfig em1:0 down
    /sbin/route del $SNS_VIP>/dev/null 2>&1
    echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
    echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
    echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
    echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
.....

    同时修改/etc/sysctl.conf文件中

   

# Controls IP packet forwarding
net.ipv4.ip_forward = 1

 

   保存退出后,输入

   

#sysctl -p

 

   将以上步骤在两台机器上全部做一遍。这时候即可启动IPVS

 

    2、安装Keepalived

     

 yum install keepalived*
    安装成功后,输入
   
#vim /etc/keepalived/keepalived.conf
   在文件中修改几处地方
  
vrrp_instance VI_1 {
    state BACKUP  #备份机填写这个,主服机此处为MASTER
    interface em1
    virtual_router_id 51
    priority 98       #备份机的优先级,要比主服的优先级低一些
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.1.225    #虚拟服务器地址
    }
}
virtual_server 192.168.1.225 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    nat_mask 255.255.255.0
    persistence_timeout 50
    protocol TCP

    real_server 192.168.1.222 80 {
        weight 1
        TCP_CHECK {
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        connect_timeout 10
       }
    }


    real_server 192.168.1.223 80 {
        weight 1
        TCP_CHECK {
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        connect_timeout 10
       }
    }
}
      两个机器上按照上述配置配置好后重启keepalived服务即可,最后形成的网络拓扑图如下
  
  • 大小: 148.9 KB
  • 大小: 127.9 KB
分享到:
评论

相关推荐

    利用LVS+Keepalived 实现高性能高可用负载均衡服务器

    【LVS+Keepalived 实现高性能高可用负载均衡服务器】 在互联网行业中,随着网站业务量的不断增长,服务器承受的压力日益增大。为了确保服务的稳定性和可用性,需要采用负载均衡策略。LVS(Linux Virtual Server)和...

    Lvs+keepalived 高可用性负载均衡配置

    Lvs+keepalived 高可用性负载均衡配置 本文介绍了使用 LVS(Linux Virtual Server)和 Keepalived 实现高可用性负载均衡的配置。LVS 是一种开源的负载均衡解决方案,可以将入站流量分配到多个后端服务器上,以提高...

    CentOS系统安装配置Nginx+keepalived实现负载均衡

    在Keepalived+Nginx高可靠性负载均衡架构中,keepalived负责实现High-availability(HA)功能,控制前端机VIP(虚拟网络地址),当有设备发生故障时,热备服务器可以瞬间将VIP自动切换过来,实际运行中体验只有2秒钟...

    CentOS5.5环境下布署LVS+keepalived

    在CentOS 5.5环境下部署LVS+Keepalived是一项高级网络管理任务,主要目的是构建一个高可用性(HA)和负载均衡的服务器集群。本文将深入解析部署过程中的关键知识点,帮助读者理解并掌握在该环境中设置LVS与...

    centos7搭建LVS+keepalived.txt

    centos7搭建LVS+keepalived

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

    ### LVS+Keepalived 实现高可用负载均衡 ...综上所述,通过LVS+Keepalived结合DR模型,可以构建出一套既高效又稳定的高可用负载均衡系统,这对于处理大量并发访问、提高服务可靠性和用户体验至关重要。

    Centos 5.5环境下部署LVS+Keepalived

    本文档将详细介绍如何在CentOS 5.5操作系统环境中搭建基于LVS (Linux Virtual Server) 和 Keepalived 的高可用性负载均衡集群。通过此方案可以有效提升服务器集群的负载分担能力,并确保在主服务器发生故障时能够...

    通过LVS+Keepalived搭建高可用的负载均衡集群系统[归纳].pdf

    通过LVS和Keepalived的组合,可以构建出一个高效、稳定且高可用的负载均衡集群系统,有效地分散网络流量,提高服务的可靠性和响应速度。同时,这种架构也便于扩展,随着业务增长,只需添加更多的Real Server即可。

    CentOS+window2008下,LVS+keepalived高可用群集

    ### CentOS+Windows 2008 下 LVS+Keepalived 高可用集群配置详解 #### 一、系统与软件环境准备 为了构建一个稳定且高效的负载均衡集群,本章节将详细介绍所需系统的版本以及相关软件的配置过程。该集群由两台 ...

    Centos6.3搭建LVS+keepalived集群.pdf

    在本文档中,我们讨论了如何在CentOS 6.3上搭建LVS(Linux Virtual Server)和Keepalived集群,这两个组件一起用于创建高可用性负载均衡解决方案。以下是搭建过程中涉及的关键知识点: 1. **LVS(Linux Virtual ...

    CentOS 6.5 LVS+Keepalived高可用集群搭建教程

    ### CentOS 6.5 LVS+Keepalived 高可用集群搭建详解 ...通过以上步骤,可以成功搭建基于CentOS 6.5的LVS+Keepalived高可用集群,实现负载均衡和故障切换等功能,确保系统的稳定运行和服务的连续性。

    LVS+KEEPalived 配置

    LVS(Linux Virtual Server)和Keepalived是两种常用于构建高效、可靠的负载均衡解决方案的开源工具,尤其在Linux环境中。本文将深入探讨LVS+Keepalived的配置,以及如何在Linux系统上实现它们。 **LVS(Linux ...

    在lvs+keepalived+MHA+MySQL下构建ecshop

    项目要达到搭建一个每日PV200W的电子商务网站,系统采用lvs+keepalived+mha+mysql 高可用架构, 本项目各个服务器操作系统均采用Centos7.5,数据库均为MYSQL5.7.23

    centos6.5 LVS +keepalived安装包.zip

    总结来说,LVS和Keepalived的组合在CentOS 6.5环境下提供了强大的负载均衡和高可用性解决方案。通过离线安装,你可以避免网络问题对部署的影响,但需确保所有依赖项都被正确处理。这个压缩包包含了所有必要的文件,...

    centos7.5 LVS +keepalived安装包.zip

    在IT行业中,LVS(Linux Virtual Server)和Keepalived是构建高可用性集群的关键组件。这个名为"centos7.5 LVS +keepalived安装包...在CentOS 7.5这样的Linux环境下,它们能帮助你构建出强大的负载均衡和高可用性架构。

    CentOS6.2下配置Django+Python环境步骤

    在CentOS 6.2系统下配置Django与Python环境是一项关键任务,尤其对于那些希望在稳定的企业级Linux操作系统上部署动态网站或Web应用的开发者而言。以下将详细阐述整个配置流程,涵盖从安装必要的软件包到最终启动...

    MyCat高可用负载均衡集群实现(HAProxy+Keepalived+MyCat)

    标题所涉及的知识点为“Mycat高可用负载均衡集群实现”,这是使用HAProxy和Keepalived技术来达成MyCat服务器集群的高可用性和负载均衡的方案。下面详细说明这一知识点。 首先,Mycat是一个数据库中间件,它可以实现...

    LVS+KEEPALIVED+MYSQL 单点写入读负载均衡主主同步高可用方案安装教程

    KEEPALIVED是一个用C语言编写的软件,它可以用来实现虚拟路由器冗余协议(VRRP)和负载均衡,它在LVS的基础上添加高可用性特性。KEEPALIVED通过在多个LVS之间同步配置信息和状态,使得一个LVS故障时,另一个能够无缝...

Global site tag (gtag.js) - Google Analytics