文档章节

keepalived+lvs

泡海椒
 泡海椒
发布于 2016/06/07 20:27
字数 1137
阅读 59
收藏 5

keepalived高可用集群介绍
keepalive起初为LVS设计专门用来监控集群系统中各个服务节点状态,后来假如了VRRP的问题
虚拟路由冗余协议的缩写,vrrp出现的目的就是为了解决静态路由出现的单点故障问题,它能够保证网络的
不间断,稳定的运行,所以keepalive一方面具有LVS CLUSTER nodes healthchecks功能,另一方面也具有directors
failover功能
keepalive服务两大用途 healthcheck&failover功能
LVS directors failover功能
ha failover功能:实现LB master 主机和backup主机之间故障转移和自动切换
这时针对两个负载均衡器同时工作而采取的故障转移措施,当主负载均衡器失效或出现故障的时候,备份负载均衡backup将
自动接管主负载均衡器的所有工作,一旦主负载均衡器master故障修复,master 又会接管回他原来处理的工作,而备份负载均衡器backup
而备份负载均衡器backup会释放master失效时他接管的工作,此时两者将恢复到最初各自的角色状态
在一个VRRP虚拟路由器中,有多台物理的VRRP路由器,但是这多台物理机器并不是同时工作
而是由一台称为master的负rrp责路由工作,其他的都是backup,master并非一成不变,vrrp协议让每个VRRP路由器参加竞选
最终获胜的就是master,master有一些特权,比如拥有虚拟路由器ip地址,我们的主机就是利用这个ip地址作为静态路由的,拥有特权的master
要负责转发发送给网关地址的包和响应arp请求
vrrp通过竞选协议来实现虚拟路由的功能,所有的协议报文都是ip通过多播包形式发送的
虚拟路由器由VRID和一组ip地址组成,对外表现为一个周知的mac地址00-00-5E-00-01{vrid}所以在一个虚拟路由器中,不管谁是master
对外都是相同的mac和IP。客户端主机并不需要因为master改变而修改自己的路由配置,对他们来说主从切换时透明的
下载keepalived
# wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz  
wget http://www.keepalived.org/software/keepalived-1.1.17.tar.gz  
安装前请确认路劲 --with-kernel-dir=/usr/src/kernels/2.6.32-71.el6.i686/
ln -s /usr/src/kernels/2.6.32-71.el6.i686/ /usr/src/linux
如果没有,这是因为缺少kernel-devel-2.6.18需要提前通过yum install kernel-devel -y命令来安装
 解压编译keepalived
[root@RServer2 soft]# tar -zxvf keepalived-1.1.17.tar.gz
[root@RServer2 soft]# cd keepalived-1.1.17
[root@RServer2 soft]# ./configure
[root@RServer2 keepalived-1.1.17]# make;make install
有三个yes
use ipvs frame yes
ipvs sync dameon support yes
use vrrp framework  yes
配置规范启动
cp  /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
cp  /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived/
cp  /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
cp  /usr/local/keepalived/sbin/keepalived /usr/sbin/
/etc/init.d/keepalived start 或者/etc/init.d/keepalived stop

keepalive配置文件配置
配置vip
[root@localhost ~]#  ifconfig eth1:1 192.168.88.100 netmask 255.255.255.255 up
[root@localhost ~]# route add -host 192.168.88.100 dev eth1

抑制arp
service keepalived start
查看vip
在real server 配置lo
[root@localhost ~]# ifconfig lo:0 192.168.88.100 netmask 255.255.255.255 up
[root@localhost ~]# route add -host 192.168.88.100 dev lo:0
       echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
       echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
       echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
       echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
抑制arp

排错
IPtables
linux内核转发
rs端是否抑制arp是否绑定VIP
确保rs可以访问
ipvsadm -L -n --stats检查真实服务器状况及vip配置
检查keepalived 配置文件
查看系统日志
/var/log/messages
master  keepalived.conf
1.配置在主负载均衡服务器上配置keepalived.conf
#vi /etc/keepalived/keepalived.conf (主调度器)
! Configuration File for keepalived

global_defs {
   router_id LVS_MASTER            #BACKUP上修改为LVS_BACKUP
}

vrrp_instance VI_1 {
    state MASTER                   #BACKUP上修改为BACKUP
    interface eth1
    virtual_router_id 51
    priority 100                   #BACKUP上修改为80
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.88.100
    }
}


virtual_server 192.168.88.100 80 {
    delay_loop 6
    lb_algo rr
  #  lb_kind NAT
     lb_kind     DR
     natmask 255.255.255.0
#   persistence_timeout 5
    protocol TCP

    real_server 192.168.88.147 80 {
        weight 3
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
    
    real_server 192.168.88.148 80 {
        weight 3
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
}

在slave:
#vi /etc/keepalived/keepalived.conf (备用调度器)

! Configuration File for keepalived

global_defs {
   router_id LVS_BACKUP            #BACKUP上修改为LVS_BACKUP
}

vrrp_instance VI_1 {
    state BACKUP              #BACKUP上修改为BACKUP
    interface eth1
    virtual_router_id 51
    priority 80                   #BACKUP上修改为80
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.88.100
    }
}


virtual_server 192.168.88.100 80 {
    delay_loop 6
    lb_algo rr
    lb_kind NAT
#   persistence_timeout 5
    protocol TCP

    real_server 192.168.88.147 80 {
        weight 3
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
    
    real_server 192.168.88.148 80 {
        weight 3
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            connect_port 80
        }
    }
}

 

© 著作权归作者所有

上一篇: squid安装
下一篇: LVS环境搭建
泡海椒
粉丝 11
博文 282
码字总数 288344
作品 0
成都
程序员
私信 提问
加载中

评论(2)

泡海椒
泡海椒 博主
root@localhost ~]# ipvsadm -L -n --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
TCP 192.168.88.100:80 10 51 0 6502 0
-> 192.168.88.23:80 5 25 0 3225 0
-> 192.168.88.22:80 5 26 0 3277 0
泡海椒
泡海椒 博主
[root@localhost ~]# ipvsadm -L -n --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
TCP 192.168.88.100:80 14 70 0 8704 0
-> 192.168.88.23:80 14 70 0 8704 0
-> 192.168.88.22:80 0 0 0 0 0
使用KeepAlive实现将lvs进行高可用

配置keepalived: 1、使用DR模式: 环境说明: 192.168.2.205 node1.sky.com keepalived+lvs 服务器 DIP 192.168.2.206 node2.sky.com keepalived+lvs 服务器 DIP 192.168.2.220 lvs VIP 19......

wushank
2018/06/26
0
0
讨论下keepalived和heartbeat

最近要做一个信息查询系统,要用到MYSQL+PHP,由于数据量大所以想做个集群。。。 但是不知道是做keepalived+lvs还是heartbeat+lvs 谁能说下keepalived和heartbeat各自的优缺点 谢谢~...

SpaceQ
2010/09/22
6.7K
2
DR模式LVS搭建、keepalived+LVS

DR模式LVS搭建 准备 三台机器,需要三台机器的公网IP,并且需要一个VIP。 调度器IP:192.168.42.128 服务器rs1 IP:192.168.42.129 服务器rs2 IP:192.168.42.130 VIP:192.168.42.200 在调度...

黄昏残影
2018/09/09
22
0
keepalived+lvs的疑问

小弟最近在VMware上面配置keepalived+lvs遇到一个疑问,就是LVS通过DR实现虚拟服务器,Real Server都配置VIP,那我们访问网页的时候怎么知道是通过负载均衡器然后再转发到Real Server,而不是...

一块云
2012/12/17
670
1
keepalived+lvs实现高可用负载均衡集群

LVS实战篇 第1章 环境准备 1.1 系统环境 1.1.1 系统版本 [root@lb01 ~]# cat /etc/redhat-releaseCentOS release 6.9 (Final)[root@lb01 ~]# uname -r2.6.32-696.el6.x86_64[root@lb01 ~]# u......

北座城市
2018/05/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

最简单的获取相机拍照的图片

  import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import andr......

MrLins
今天
4
0
说好不哭!数据可视化深度干货,前端开发下一个涨薪点在这里~

随着互联网在各行各业的影响不断深入,数据规模越来越大,各企业也越来越重视数据的价值。作为一家专业的数据智能公司,个推从消息推送服务起家,经过多年的持续耕耘,积累沉淀了海量数据,在...

个推
今天
8
0
第三方支付-返回与回调注意事项

不管是支付宝,微信,还是其它第三方支付,第四方支付,支付机构服务商只要涉及到钱的交易都要进行如下校验,全部成功了才视为成功订单 1.http请求是否成功 2.校验商户号 3.校验订单号及状态...

Shingfi
今天
4
0
简述Java内存分配和回收策略以及Minor GC 和 Major GC(Full GC)

内存分配: 1. 栈区:栈可分为Java虚拟机和本地方法栈 2. 堆区:堆被所有线程共享,在虚拟机启动时创建,是唯一的目的是存放对象实例,是gc的主要区域。通常可分为两个区块年轻代和年老代。更...

DustinChan
今天
6
0
Excel插入批注:可在批注插入文字、形状、图片

1.批注一直显示:审阅选项卡-------->勾选显示批注选项: 2.插入批注快捷键:Shift+F2 组合键 3.在批注中插入图片:鼠标右键点击批注框的小圆点【重点不可以在批注文本框内点击】----->调出批...

东方墨天
今天
6
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部