lvs是一种负载均衡技术.注意区分负载均衡和高可用的区别.

keepalive是lvs的管理工具

ipvsadm也是lvs的管理工具

keepalive借助ipvsadm管理lvs.所以通常说lvs+keepalive

lvs支持多种负载方式.

理论及配置说明:

http://www.cnblogs.com/edisonchou/p/4281978.html

lvs:DR模式wrr负载:

拓扑

    KA1    LAMP-1

pc------|

    KA2  LAMP-2

VIP:192.168.14.100

KA1:192.168.14.134

KA1:192.168.14.135

LAMP-1:192.168.141

LAMP-2:192.168.142

安装软件:

lvs:

yum install ipvsadm -y
rpm -qa ipvsadm

KA:

yum install keepalived -y

lamp:配置

RS绑定VIP:
ip addr add 192.168.14.100/ dev lo label lo:
route add -host 192.168.14.100 dev lo
抑制ARP:
echo "" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/all/arp_announce

前期准备:

KA的配置文件:主KA

/etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
router_id LVS_19
vrrp_mcast_group4 224.0.1.18
} vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id
priority
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.14.100/ dev eth0 label eth0:
}
} #ipvsadm -A -t 192.168.14.100: -s rr -p
virtual_server 192.168.14.100 {
delay_loop
lb_algo wrr
lb_kind DR
nat_mask 255.255.255.0
persistence_timeout
protocol TCP #ipvsadm -a -t 192.168.14.100: -r 10.0.1.6: -g
real_server 192.168.14.141 {
weight
TCP_CHECK {
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
} real_server 192.168.14.142 {
weight
TCP_CHECK {
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
}
}

备:KA:

! Configuration File for keepalived

global_defs {
router_id LVS_19
vrrp_mcast_group4 224.0.1.18
} vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id
priority
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.14.100/ dev eth0 label eth0:
}
} #ipvsadm -A -t 192.168.14.100: -s rr -p
virtual_server 192.168.14.100 {
delay_loop
lb_algo wrr
lb_kind DR
nat_mask 255.255.255.0
persistence_timeout
protocol TCP #ipvsadm -a -t 192.168.14.100: -r 10.0.1.6: -g
real_server 192.168.14.141 {
weight
TCP_CHECK {
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
} real_server 192.168.14.142 {
weight
TCP_CHECK {
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
}
}

检查:如果一台down了,另一台通过ifconfig就会出现绑定的VIP了

ip add |egrep  "134|135"

理论笔记:

集群--一组服务器
lvs harproxy nginx,keepalive heartbeat
负载均衡 高可用

负载模型:
nginx 7层负载
lvs 4层负载
lvs---nginx---webserver

负载:
1,7*24h服务
2,一台机器扛不住

lvs底层原理底层原理:
ipvs
ipvsadm自带
keepalive

名词介绍:
CIP(Client ip address)
DIP(Director IP address)
VIP(virtual ip address)
RIP(Real Server Ip address)=RS

负载的3种模式:
NAT
DR(direct route)
TUN(ip tunnel)
fullnat

DR
RIP
1,绑定VIP
2,抑制arp回应
主要:
LB通过修改目的mac,因此无法改写端口
2000W pv
请求10000一下都可以用haproxy/nginx

NAT模式:
LB要打开转发:
net.ipv4_forward=1

[svc][op]LVS+keepalived的更多相关文章

  1. 【大型网站技术实践】初级篇:借助LVS+Keepalived实现负载均衡

    一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务 ...

  2. 配置LVS + Keepalived高可用负载均衡集群之图文教程

    负载均衡系统可以选用LVS方案,而为避免Director Server单点故障引起系统崩溃,我们可以选用LVS+Keepalived组合保证高可用性.  重点:每个节点时间都同步哈! C++代码 [r ...

  3. lvs+keepalived

    一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalive ...

  4. LVS+Keepalived搭建MyCAT高可用负载均衡集群

    LVS+Keepalived 介绍 LVS LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国 ...

  5. LVS+Keepalived+Squid+Nginx+MySQL主从高性能集群架构部署方案

    方案一,在tomcat的workers.properties里面配置相关条件 worker.tomcat.lbfactor= worker.tomcat.cachesize= worker.tomca ...

  6. lvs+keepalived+nginx实现高性能负载均衡集群

    一.为什么要使用负载均衡技术? 1.系统高可用性 2.  系统可扩展性 3.  负载均衡能力 LVS+keepalived能很好的实现以上的要求,LVS提供负载均衡,keepalived提供健康检查, ...

  7. lvs + keepalived 介绍及安装

    LVS介绍 lvs 核心ipvs      Ipvs(IP Virtual Server)是整个负载均衡的基础,如果没有这个基础,故障隔离与失败切换就毫无意义了.Ipvs 具体实现是由ipvsadm ...

  8. LVS + Keepalived + Nginx安装及配置

    1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...

  9. 测试LVS+Keepalived高可用负载均衡集群

    测试LVS+Keepalived高可用负载均衡集群 1. 启动LVS高可用集群服务 此时查看Keepalived服务的系统日志信息如下: [root@localhost ~]# tail -f /va ...

随机推荐

  1. 绕过Web授权和认证之篡改HTTP请求

    一.什么是HTTP请求 超文本传输协议(HTTP)提供了多种请求方法来与web服务器沟通.当然,大多数方法的初衷是帮助开发者在开发或调试过程中部署和测试HTTP应用.如果服务器配置不当,这些请求方法可 ...

  2. Linux下时间格式转换及获取方法

    Linux下使用clock_gettime给程序计时 #include <stdio.h> #include <unistd.h> #include <stdlib.h& ...

  3. 执行Socket socket = new Socket(ip, port);时抛出个异常:android.os.NetworkOnMainThreadException解决办法

    首先,确认你的android版本是4.0之后再用此方法解决,因为在4.0之后在主线程里面执行Http请求才会报这个错,也许是怕Http请求时间太长造成程序假死的情况吧.Android在4.0之前的版本 ...

  4. Nhibernate Criteria 多个or条件查询

    sql: select * from table t where (t.name like '%张三%' or t.schoolName like '%张三%' or t.cityname like ...

  5. Swift2.1keyword @noescape介绍

    @noescape优化编译器编译,swift 2.1引入. 函数假设有一个一个參数是closure的话,能够在前面加一个关键字@noescape表示在函数return前closure生命周期结束,能够 ...

  6. xcode 打包

    iOS的要安装Xcode,否则执行下面命令的时候报错 ionic platform add ios ionic build ios ionic emulate ios 方法二: 1.打开终端 -- b ...

  7. 位图算法 C语言

    #include <stdio.h> void set_bit(void *base, unsigned long n) { unsigned long *m = (unsigned lo ...

  8. servlet常用操作

      servlet常用操作 CreateTime--2017年9月7日09:36:43 Author:Marydon 1.获取当前应用程序对象 需要导入: import javax.servlet.S ...

  9. JSTL fmt:formatNumber 数字、货币格式化

    <fmt:formatNumber value="12.34" pattern="#0.00" /> 12.34 保留小数点后两位数 <fmt ...

  10. CentOS 6.4 配置DNS

    vi /etc/resolv.conf 写入以下内容并保存: nameserver x.x.x.x 重启服务以生效: service network restart