[svc][op]LVS+keepalived
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的更多相关文章
- 【大型网站技术实践】初级篇:借助LVS+Keepalived实现负载均衡
一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务 ...
- 配置LVS + Keepalived高可用负载均衡集群之图文教程
负载均衡系统可以选用LVS方案,而为避免Director Server单点故障引起系统崩溃,我们可以选用LVS+Keepalived组合保证高可用性. 重点:每个节点时间都同步哈! C++代码 [r ...
- lvs+keepalived
一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalive ...
- LVS+Keepalived搭建MyCAT高可用负载均衡集群
LVS+Keepalived 介绍 LVS LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国 ...
- LVS+Keepalived+Squid+Nginx+MySQL主从高性能集群架构部署方案
方案一,在tomcat的workers.properties里面配置相关条件 worker.tomcat.lbfactor= worker.tomcat.cachesize= worker.tomca ...
- lvs+keepalived+nginx实现高性能负载均衡集群
一.为什么要使用负载均衡技术? 1.系统高可用性 2. 系统可扩展性 3. 负载均衡能力 LVS+keepalived能很好的实现以上的要求,LVS提供负载均衡,keepalived提供健康检查, ...
- lvs + keepalived 介绍及安装
LVS介绍 lvs 核心ipvs Ipvs(IP Virtual Server)是整个负载均衡的基础,如果没有这个基础,故障隔离与失败切换就毫无意义了.Ipvs 具体实现是由ipvsadm ...
- LVS + Keepalived + Nginx安装及配置
1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...
- 测试LVS+Keepalived高可用负载均衡集群
测试LVS+Keepalived高可用负载均衡集群 1. 启动LVS高可用集群服务 此时查看Keepalived服务的系统日志信息如下: [root@localhost ~]# tail -f /va ...
随机推荐
- The platform of the target `Pods` (iOS 4.3) is not compatible 错误
一:使用 cocoaPod错误 The platform of the target `Pods` (iOS 4.3) is not compatible with `AFNetworking (1. ...
- uni-app 为何package.json配置以后不会生成文件?
和微信小程序不同的是uni-app 配置步骤如下 小程序是新建json生成文件夹\文件 uni-app是新建文件生成json
- wepy - 与原生有什么不同(slot插槽)
wepy官方文档是这样介绍的 简单描述就是: index.wpy:子组件 panel.wpy:父组件 1.slot是内容分发的占位符 2.slot父组件在子组件使用时,名称必须一致 3.slot子组件 ...
- JavaBean(web基础学习笔记十二)
一.JavaBean简介 JavaBean是使用Java语言开发的一个可重用的组件,在JSP的开发中可以使用JavaBean减少重复代码,使整个JSP代码的开发更简洁.JSP搭配JavaBean来使用 ...
- ADOX
1.ADOX 概述 Microsoft ActiveX Data Objects Extensions for Data Definition Language and Security (ADOX) ...
- JVM中类的卸载机制
类的生命周期 当Sample类被载入.连接和初始化后,它的生命周期就開始了. 当代表Sample类的Class对象不再被引用,即不可触及时,Class对象就会结束生命周期.Sample类在方法区内的数 ...
- Eclipse——工作台
Workspace 磁盘区域.存放工作资料
- cannot use 'throw' with exceptions disabled(转)
在为 DragonBonesCPP/refactoring 的 cocos2d-x-3.2 demo 增加 Android 编译时,NDK 报了一个编译错误: error: cannot use ‘t ...
- 微信小程序--搜索关键词高亮
代码地址如下:http://www.demodashi.com/demo/14249.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.co ...
- 【LeetCode】164. Maximum Gap (2 solutions)
Maximum Gap Given an unsorted array, find the maximum difference between the successive elements in ...