Linux下部署搭建Keepalived+LVS负载均衡实践

1.1 ASP站长网LVS简介
    LVS(Linux Virtual Server),也就是Linux虚拟服务器, 是一个自由软件项目。使用LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能、高可用的服务器群集,它具有良好可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的服务性能。
    LVS主要用来做四层负载均衡。
 
1.2 Keepalived简介
    Keepalived是分布式部署系统解决系统高可用的软件,结合LVS(Linux Virtual Server)使用,其功能类似于heartbeat,解决单机宕机的问题。
    Keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。通过VRRP协议结合LVS,对组群服务器监控情况,若master出现宕机情况,则将VIP漂移到backup机上。实现了分布式系统高可用。可以理解为:keepalived是LVS的管理软件,根据监控情况,将宕机服务器从ipvsadm移除掉。
      Keepalived的诞生最初是为LVS ipvs(director)提供高可用性的,后来发展一个多功能、通用的轻量级高可用组件,可以为ipvs、nginx、haproxy等诸多服务提供高可用功能,主要应用在负载均衡调度器上,同时也可以检查后端各realserver的健康状态。
 
1.3 负载均衡
    四层负载均衡工作在OSI模型的传输层,由于在传输层,只有TCP/UDP协议,这两种协议中除了包含源IP、目标IP以外,还包含源端口号及目的端口号。四层负载均衡服务器在接受到客户端请求后,以后通过修改数据包的地址信息(IP+端口号)将流量转发到应用服务器。
      七层负载均衡工作在OSI模型的应用层,应用层协议较多,常用http、radius、dns等。七层负载就可以基于这些协议来负载。这些应用层协议中会包含很多有意义的内容。比如同一个Web服务器的负载均衡,除了根据IP加端口进行负载外,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。
      四层通过虚拟 IP + 端口接收请求,然后再分配到真实的服务器,七层通过虚拟的 URL 或主机名接收请求,然后再分配到真实的服务器。所谓的四到七层负载均衡,就是在对后台的服务器进行负载均衡时,依据四层的信息或七层的信息来决定怎么样转发流量。
 
2. 搭建过程及测试
 
2.1 主机配置
主机名
ip
操作系统
软件
端口
lvs01
10.1.28.253
CentOS 7.0
lvs  keepalived
8080
lvs02
10.1.28.70
CentOS 7.0
lvs keepalived
8080
Nginxsever01
10.1.28.30
CentOS 7.0
nginx
8080
 Nginxsever01
 10.1.28.40  CentOS 7.0  nginx  8080
 
2.3 搭建准备
2.3.1 关闭所有机器防火墙
[root@lvs01 ~]#systemctl stop firewalld.service
 
2.3.2 关闭防selinux
关闭所有服务器selinux,修改/etc/selinux/config,将SELINUX由enforcing设置为disabled,重启服务器。
 
2.4 ipvs安装
LVS无需安装,安装的是管理工具,第一种叫ipvsadm,第二种叫keepalive。ipvsadm是通过命令行管理,而keepalive读取配置文件管理。
分别在lvs01和lvs02执行如下操作:
[root@lvs01 ~]# yum -y install ipvsadm
 
2.4.1 把模块加载进系统
[root@lvs01 ~]#ipvsadm
 
2.5 keepalived安装
分别在lvs01和lvs02执行如下操作:
[root@lvs01 ~]# yum -y install keepalived
 
2.6 keepalived配置
! Configuration File for keepalived
 
global_defs {
router_id MASTER    ## keepalived 服务器标识符,可以随意设定( 貌似也是全局唯一 )
}
vrrp_instance VI_1 {     ## 定义一个名为 VI_1 的 VRRP 实例
state MASTER   ## Keepalived 服务器角色,MASTER 为主、BACKUP 为备
interface eth0    ## 指定 HA 监测网络接口
virtual_router_id 51    ## 虚拟路由标识,同一个 VRRP 实例使用唯一的标识,主备必须一样
priority 100    ## 节点优先级,同一 VRRP 实例中 MASTER 的优先级必须大于 BACKUP
advert_int 1    ## MASTER / BACKUP 之间同步检查间隔时间,单位 秒
authentication {   ## 节点之间通信验证类型、密码 ,同一 VRRP 实例中,MASTER / BACKUP 必须使用相同的密码才可以通信
auth_type PASS
auth_pass 123456
}

dawei

【声明】:九江站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。