通过keepalived搭建lvs高可用集群-阿里云开发者社区

开发者社区> 云计算> 正文

通过keepalived搭建lvs高可用集群

简介:

1.配置keepalived

  Keepalived的配置仅需要一个配置文件即可完成对HA cluster和LVS服务节点监控,在通过Keepalived搭建高可用的LVS集群实例中,主、备Director Server都需要安装Keepalived软件,安装成功后,默认的配置文件路径(可以通过rpm -ql keepalived查看)是:/etc/keppalived/keeplived.conf。一个完整的keepalived的配置文件由3个部分组成,分别是全局定义部分、vrrp实例定义部分以及虚拟服务定义部分:

! Configuration File for keepalived

global_defs {     #全局定义部分

   notification_email {

   dba.gao@gmail.com   #设置报警邮件地址,可设置多个,每行一个。注意,如果

                      #要开启邮件报警,需要开启本机的sendmail服务

   ixdba@163.com

   }

   notification_email_from Keepalived@localhost  #设置邮件的发送地址

   smtp_server 192.168.200.1  #设置smtp Server地址

   smtp_connect_timeout 30    #设置连接smtp Server的超时时间

   router_id LVS_DEVEL    #表示运行keepalived服务器的一个标识。

                          #发邮件时显示在邮件主题中的信息

}


vrrp_instance VI_1 {   #vrrp实例定义部分

state MASTER         #指定keepalived的角色,Master表示此主机是主服务器,

                    #BACKUP表示此主机是备用服务器

   interface eth0   #指定HA监测网络的接口

   virtual_router_id 51  #虚拟路由标识,这个标识是一个数字,同一个vrrp实例

      #使用唯一的标识,即同一个vrrp_instance下,MASTER和BACKUP必须是一致的

priority 100  #定义优先级,数字越大,优先级越高。在一个vrrp_instance下,

              #MASTER的优先级必须大于BACKUP的优先级

   advert_int 1 #设定MASTER与BACKUP负载均衡器之间同步检测时间间隔,单位是s

   authentication {  #设定认证类型和密码

        auth_type PASS   #设置验证类型,主要有PASS和AH两种

        auth_pass 1111   #设置验证密码,在一个vrrp_instance下,MASTER和

                         #BACKUP必须使用相同的密码才能正常通信

      }

  virtual_ipaddress {  #设置虚拟IP地址,可以设置多个虚拟IP地址,每行一个

  192.168.12.200

  }

}


virtual_server 192.168.12.200 80 {  #设置虚拟服务器,需要指定虚拟IP地址和服

                                   #务端口,IP与端口之间用空格隔开

delay_loop 6 #设置运行情况检查时间,单位是s

lb_algo rr   #设置负载调度算法,这里设置为rr

lb_kind DR #设置负载均衡的机制,有NAT,DR和TUN三种模式

persistence_timeout   #会话保持时间,单位是s。这个对动态网页是非常有用的,为集群系统中session共享提供了一个很好的解决方案。有了这个会话保持功能,用户的请求会被一直分发到某个服务节点,直到超过这个会话的保持时间。需要注意的是,这个会话保持时间是最大无响应超时时间,也就是说,用户在操作动态页面时,如果在50s内没有执行任何操作,那么接下来的操作会被分发到另外的节点,但是如果用户一直在操作动态页面,则不受50s的时间限制


protocol  TCP  #指定转发协议类型,有TCP和UDP两种

real_server 192.168.12.132 80 { #配置服务器节点1,需要指定Real Server的真实

                               #IP和端口,ip和端口之间用空格隔开

weight 3  #配置服务器节点的权限,权值大小用数字表示,数字热大,权值热高

 TCP_CHECK {  #realserver的状态监测设置部分,单位是s

     connect_timeout 3  #表示3s无响应超时

     nb_get_retry 3  #表示重试的次数

     delay_before_retry 3  #表示重试间隔

     }

}

real_server 192.168.12.132 80 { #配置服务器节点2,需要指定Real Server的真实

                               #IP和端口,ip和端口之间用空格隔开

weight 3  #配置服务器节点的权限,权值大小用数字表示,数字热大,权值热高

 TCP_CHECK {  #realserver的状态监测设置部分,单位是s

     connect_timeout 3  #表示3s无响应超时

     nb_get_retry 3  #表示重试的次数

     delay_before_retry 3  #表示重试间隔

     }

}

}


    配置keepalived时,需要特别注意配置文件的语法格式,因为keepalived的启动时并不监测配置文件的正确性,即使没有配置文件,keepalived也照样启动。

    在默认情况下,keepalived在启动时会查找/etc/Keepalived/Keepalived.conf配置文件。如果配置文件放置在其他路径下,可以通过keepalived -f参数指定配置文件路径。

    keepalived.conf配置完毕后,将此文件复制到备用Director Server对应的路径洗,然后进行以下两个简单的修改即可:

 将“state MASTER”更改为“state BACKUP”。

 将“priority 100”更改一个较小的值,这里改为“priority 80”。  



2.配置Real Server节点

  与heartbeat+LVS类似,Keepalived+LVS也需要为Real server节点配置相关的脚本,以达到与Director Server相互通信的目的。



3.启动Keepalived+LVS集群系统

  在主、备Director Server上分别启动Keepalived服务,可以执行如下操作:

  /etc/init.d/keepalived start

  接着在两个Real Server上执行如下脚本:

  /etc/init.d/lvsrs start












本文转自lq201151CTO博客,原文链接:http://blog.51cto.com/liuqun/1983272 ,如需转载请自行联系原作者



版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章