RHEL6:lvs+keepalived

来源:互联网 发布:数据对比表格模板 编辑:程序博客网 时间:2024/06/03 17:35

Keepalived双机热备

Keepalived是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换和健检查功能,如判断LVS负载调度器、节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机恢复后将其重新加入群集。在非LVS群集环境中使用时Keepalived也可以作为热备软件使用。

Keepalived采用VRRP(virtual  router  redundancy protocol,虚拟路由冗余协议)热备份协议,以软件的方式实现linux服务器的多机热备功能。VRRP是针对路由器的一种备份解决方案-----由多台路由器组成一个热备组。通过共用的虚拟IP地址对外提供服务;每个热备组内同一时刻只有一台主服务器提供服务,其他服务器处于冗余状态,若当前在线的服务器失败,其他服务器会自动接替(优先级决定接替顺序)虚拟IP地址,以继续提供服务。

热备组内的每台服务器都可以成为主服务器,虚拟IP地址(VIP)可以在热备组内的服务器之间进行转移,所以也称为漂移IP地址,使用Keepalived时,漂移地址的实现不需要手动建立虚拟接口配置文件(如eth0:0),而是由Keepalived根据配置文件自动管理。

案例:负载均衡+高可用群集(LVS-DR+HA):拓扑图如下所示

上图设计目的是用Keepalived构建高可用性的LVS负载均衡群集。使用Keepalived构建LVS群集更加简便易用,主要优势体现在:对LVS负载调度器实现热备切换,提高可用性,对WEB服务器池中的节点进行分健康检查,自动移除失败节点,恢复后再重新加入。

在基于LVS-Keepalived实现的LVS群集结构中,至少包括两台热备的负载调度器,两台以上的节点服务器,本例将以DR模式的LVS群集为基础,增加一台从负载调度器,使用Keepalived来实现主、从调度器的热备,从而构建建有负载均衡、高可用两种能力的LVS网站群集平台。

实验环境:参照上图可知每台主机网卡的IP地址,如下所示:共7台主机

VIP(虚拟IP地址):172.16.16.172/24

主调度器:eth0  172.16.16.173/24   eth1: 192.168.7.173/24

从调度器:eth0  172.16.16.174/24   eth1: 192.168.7.174/24

WEB节点1:  172.16.16.177/24    eth1:  192.168.7.177/24

WEB节点2:  172.16.16.178/24    eth1: 192.168.7.178/24

NFS共享存储:eth0   192.168.7.250/24

具体操作步骤如下:

1、LVS+keepalived高可用群集---调度器组中的主、从调度器配置(主/从),即构建高可用的LVS负载均衡群集

Keepalived的设计目标是构建高可用的LVS负载均衡群集,可以调用ipvsadm工具来创建虚拟服务器、管理服务器池,而不仅仅用来做双机热备。使用Keepalived构建LVS群集更加简便易用,主要优势体现在:对LVS负载调度器实现热备切换,提高可用性;对服务器池中的节点进行健康检查,自动移除失效点节,恢复后再重新加入。

基于LVS+keepalived 实现的LVS群集中,至少包括两台热备的负载调度器,两台以上的节点服务器。本案例以DR模式的LVS模式群集为基础。

使用 Keepalived构建LVS群集时,也需要用到ipvsadm管理工具,但大部分工作会由Keepalived自动完成,不需要手动执行ipvsadm(除了查看和监控群集以外)

查看主调度器网卡接口IP地址:

查看从调度器网卡接口IP地址:

1)主服务器的配置:

安装keepalived软件包与服务控制

在编译安装Keepalived之前,必须先安装内核开发包kernel-devel以及openssl-devel、popt-devel等支持库,除此之外,在LVS群集环境中应用时,也需要用到ipvsadm管理工具。

安装ipvsadm软件包:

编译安装Keepalived

使用指定的linux内核位置对keepalived进行配置,并将安装路径指定为根目录,这样就无需额外创建链接文件了,配置完成后,依次执行make、make install进行安装。

使用keepalived服务

执行make install操作之后,会自动生成/etc/init.d/keepalived脚本文件,但还需要手动添加为系统服务,这样就可以使用service、chkconfig工具来对keepalived服务程序进行管理了。

主服务器的配置

Keepalived服务的配置目录位于/etc/keepalived。其中keepalived.conf是主配置文件,另外包括一个子目录samples/,提供了许多配置样列作为参考。在keepalived的配置文件中,使用”global_defs {……}”区段指定全局参数。使用”vrrp_instance  实例名称 {……}”区段指定VRRP热备参数,注释文字以”!”符号开头。

相关配置及主要配置项解释如下:

! Configuration File for keepalived        #!表示注释

global_defs {

  notification_email {

       root@example.com  #接收警报的 email 地址,可以添加多个

  }

  notification_email_from root@localhost

  smtp_server 127.0.0.1  #使用本机转发 email

  smtp_connect_timeout 30

  router_id  LVS_DEVEL  #load balancer 的标识 ID,即本服务器的名称标识

}

vrrp_instance  VI_1 {    #定义VRRP热备实例

   state MASTER   #热备状态,MASTER表示主服务器;SLAVE表示备用服务器;当有多台备用的服务器,热备状态改为 BACKUP,此状态是由 priority 的值来决定的,当前priority 的值小于备机的值,那么将会失去 MASTER 状态

   interface eth0   #HA 监测网络接口即承载VIP地址的物理接口

   virtual_router_id 50   #虚拟路由器的ID号。主、备机的 virtual_router_id必须相同

   priority 150    #主机的优先级,数值越大优先能越高。备份机改为 50

   advert_int 1  #主备之间的通告间隔秒数(心跳频率)

   authentication {   #认证信息,每个热备组保持一致

       auth_type PASS   #认证类型,主备切换时的验证

       auth_pass 1111   #密码字串

   }

   virtual_ipaddress {    #指定漂移地址(VIP),可以有多个

        172.16.16.172    #HA 虚拟 ip,可加多个

   }

}

virtual_server 172.16.16.172 80 {  #虚拟服务器地址(VIP)、端口

   delay_loop 6    #健康检查的间隔时间(秒),每隔 6 秒查询 realserver状态

   lb_algo rr    #lvs 调度算法,这里使用轮询

   lb_kind DR   #lvs 负载均衡机制,这里使用直连路由

!   persistence_timeout  50  #同一 IP 的连接 60 秒内被分配到同一台 realserver

   protocol TCP  #用 TCP 协议检查 realserver 状态

   real_server 172.16.16.177  80 {  #第一个WEB节点的地址、端口

       weight 1    #节点的权重

       TCP_CHECK {    #健康检查方式

            connect_port 80  #检查的目标端口

            connect_timeout 3  #故障重试秒数(即连接超时)

            nb_get_retry 3  #重试延迟(即重试次数)

            delay_before_retry 3  #重试间隔(秒)

       }

   }

   real_server 172.16.16.178  80 {  #第二个WEB节点的地址、端口

       weight 1

       TCP_CHECK {

            connect_port 80

            connect_timeout 3

            nb_get_retry 3

            delay_before_retry 3

       }

   }

}

配置主调度器:修改keepalived.conf文件中的全局参数、热备参数、WEB服务器池配置,相关配置参数如下图:

重新启动keepalived服务

2)配置从调度器:

从调度器的配置与主调度器基本相同,也包括全局参数、热备参数、服务器池配置,只需要调整router_id、state、prority参数即可,其余内容完全相同,配置完成以后重启keepalived服务。

安装keepalived软件包与服务控制

在编译安装Keepalived之前,必须先安装内核开发包kernel-devel以及openssl-devel、popt-devel等支持库,除此之外,在LVS群集环境中应用时,也需要用到ipvsadm管理工具。

安装ipvsadm软件包:

编译安装Keepalived

使用指定的linux内核位置对keepalived进行配置,并将安装路径指定为根目录,这样就无需额外创建链接文件了,配置完成后,依次执行make、make install进行安装。

使用keepalived服务

执行make install操作之后,会自动生成/etc/init.d/keepalived脚本文件,但还需要手动添加为系统服务,这样就可以使用service、chkconfig工具来对keepalived服务程序进行管理了。

配置从调度器:修改keepalived.conf文件,只修改红线标注的参数,其他参数和主调度器的配置文件完全一样。修改的地方如下图所示:

重新启动keepalived服务

在同一个keepalived热备组内,所有服务器的keepalived配置文件基本相同。不同之处主要在于服务器的名称标识、热备状态、优先级。

服务器的名称标识(router_id):建议为每个参与热备的服务器指定不同的名称

热备状态(state):至少应有一台主服务器,状态设为MASTER;可以有多台备用的服务器,将状态设为BACKUP.

优先级(priority):数值越大则取得VIP控制权的优先级越高,回此主服务器的优先级应设为最高;其他备用服务器的优先级可依次递减,但不要相同,以免在争夺VIP控制权时发生冲突。

3)测试主、从调度器:

若防火墙不关闭的话可以在input链上建规则.

iptables -I INPUT -p ip -d 224.0.0.18 -jACCEPT

注:VRRP协议的通告报文使用固定的组播地址224.0.0.18,用IP 报文作为传输协议进行协议报文的传送。

当启动keepalived服务后,实际状态为MASTER的主服务器取得VIP控制权,并将eth0接口自动添加VIP地址,通过ip命令可以查看(注意:ifconfig命令看不到)

查看主服器的eth0接口信息:

从调度器服务器上启动keepalived服务,此时主服务器仍然在线,VIP地址实际上仍然由主服务器控制,其他服务器处于备用状态,因此在备用服务器中将不会为eth0接口添加VIP地址。

此时查看从服务器的eth0接口信息:

Keepalived的日志消息保存在/var/log/messages文件中,在测试主、从故障自动切换功能时,可以跟踪此日志文件来观察热备状态的变化。以连通性测为例

在internet的测试机上执行ping  172.16.16.172  –t,(172.16.16.172为VIP地址),能够正常ping通,说明主服务器以接管VIP地址,并及时响应客户机的请求。

禁用主服务器的eth0网卡,发现ping测试会中断3~4个包即恢复正常,说明已有其他服务器接替VIP地址,并及时响应客户机的请求。

重新启用主服务器的eth0网卡,发现ping测试再次中断3~4个包即恢复正常,说明主服务器已恢复正常,并夺回VIP地址的控制权。

在这述过程中可以查看日志记录来了解MASTER、SLAVE状态的迁移记录。

2、LVS+HA ----配置负载调度器(ipvsadm)

要在主、从负载调度器主机上分别配置负载调度器,这里使用的是LVS-DR模式,需要调整/proc系统的ARP响应参数,详细配置参考我在前面介绍的LVS-DR的有关设置。

3、LVS+HA ---配置服务器池中的WEB节点服务器(172.16.16.177和172.16.16.178)

根据所选择的群集工作模式不同(DR或NAT),节点服务器的配置也有些差异。以DR模式为例。除了需要调整/proc系统的ARP响应参数以外,还需要为虚拟接口lo:0配置VIP地址。具体参考前面有关LVS-DR的配置。所以WEB节点的配置和LVS-DR配置是一样的。

相关配置略(请参考前面的LVS-DR配置)这里不再详述了。

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 嗓子眼边条线下边长块肉怎么办 线长在肉里怎么办 北京买车没有号怎么办 租的车处理违章怎么办 以租代购车不要怎么办 订车的合同掉了怎么办 买车合同丢了怎么办 车的证件都丢了怎么办 桃树直立的徒长枝怎么办 月季花长了独枝怎么办? 6岁半B超没子宫怎么办 学生学籍号和身份证号不一致怎么办 学生学籍号和身份证号不一样怎么办 领导交代的任务完不成怎么办 洗衣机里的衣服有味道怎么办 新买的洗衣机有味道怎么办 模拟工业装置没有数据验证怎么办 民办学校的指标生学费怎么办 孩子上初中后成绩不好怎么办 孩子考最后一名怎么办 数学大题不会做怎么办 小学六年级数学考30分怎么办 六年级数学考了30分怎么办 数学考了30分怎么办 没有给直接领导报到怎么办 小学二年级成绩不好怎么办 初中孩子上课注意力不集中怎么办 学生打架家长争吵老师怎么办 我和我老婆感情危机怎么办 数学作业做得慢怎么办 待转弯区变红灯怎么办 大班健康发生火灾怎么办教案 数字化审图图纸提交不了怎么办 监狱建筑师没电了怎么办 ios短信提示不弹出怎么办 ie游览器图标删了怎么办 电脑上ie卸载了怎么办 打开cad浏览器闪退怎么办 dnf进游戏闪退怎么办 苹果8出现闪退怎么办 手机浏览器老是自动打开软件怎么办