简介

来源:https://www.cnblogs.com/MacoLee/p/5858995.html

lvs一般是和keepalived一起组合使用的,虽然也可以单独使用lvs,但配置比较繁琐,且可用性也没有前者高。

lvs和keepalived组合使用后,配置lvs的VIP和负载均衡就都在keepalived中进行配置,只是在keepalived中调用lvs

架构图

配置

LVS+Keepalived MASTER

配置:【keepalived.conf】

global_defs {
notification_email {
edisonchou@hotmail.com
}
notification_email_from sns-lvs@gmail.com
smtp_server 192.168.80.1
smtp_connection_timeout
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER #指定Keepalived的角色,MASTER为主,BACKUP为备
interface eth1 #指定Keepalived的角色,MASTER为主,BACKUP为备
virtual_router_id #虚拟路由编号,主备要一致
priority #定义优先级,数字越大,优先级越高,主DR必须大于备用DR
advert_int #检查间隔,默认为1s
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.80.200 #定义虚拟IP(VIP)为192.168.2.,可多设,每行一个
}
}
# 定义对外提供服务的LVS的VIP以及port
virtual_server 192.168.80.200 {
delay_loop # 设置健康检查时间,单位是秒
lb_algo wrr # 设置负载调度的算法为wlc
lb_kind DR # 设置LVS实现负载的机制,有NAT、TUN、DR三个模式
nat_mask 255.255.255.0 #NAT模式会用到
persistence_timeout #会话保持时间,单位是秒(可以适当延长时间以保持session)
protocol TCP #转发协议类型,有tcp和udp两种
  sorry_server 127.0.0.1 #如果所有realserver都出现问题,vip指向本机80端口 real_server 192.168.80.102 { # 指定real server1的IP地址
weight # 配置节点权值,数字越大权重越高
TCP_CHECK { #通过tcpcheck判断RealServer的健康状态,检测健康状态的方法还有HTTP_GET:通过检测url状态进行健康判断
  connect_timeout #超时时间,单位是秒
  nb_get_retry #重连次数
  delay_before_retry #重连间隔时间
  connect_port #检测端口
}
}
real_server 192.168.80.103 { # 指定real server2的IP地址
weight # 配置节点权值,数字越大权重越高
TCP_CHECK {
  connect_timeout
  nb_get_retry
  delay_before_retry
  connect_port
}
}
}

LVS+Keepalived BACKUP

配置:【keepalived.conf】

global_defs {
notification_email {
edisonchou@hotmail.com
}
notification_email_from sns-lvs@gmail.com
smtp_server 192.168.80.1
smtp_connection_timeout
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state BACKUP #指定Keepalived的角色,MASTER为主,BACKUP为备
interface eth1 #指定Keepalived的角色,MASTER为主,BACKUP为备
virtual_router_id #虚拟路由编号,主备要一致
priority #定义优先级,数字越大,优先级越高,主DR必须大于备用DR
advert_int #检查间隔,默认为1s
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.80.200 #定义虚拟IP(VIP)为192.168.2.,可多设,每行一个
}
}
# 定义对外提供服务的LVS的VIP以及port
virtual_server 192.168.80.200 {
delay_loop # 设置健康检查时间,单位是秒
lb_algo wrr # 设置负载调度的算法为wlc
lb_kind DR # 设置LVS实现负载的机制,有NAT、TUN、DR三个模式
nat_mask 255.255.255.0 #NAT模式会用到
persistence_timeout #会话保持时间,单位是秒(可以适当延长时间以保持session)
protocol TCP #转发协议类型,有tcp和udp两种
  sorry_server 127.0.0.1 #如果所有realserver都出现问题,vip指向本机80端口 real_server 192.168.80.102 { # 指定real server1的IP地址
weight # 配置节点权值,数字越大权重越高
TCP_CHECK { #通过tcpcheck判断RealServer的健康状态,检测健康状态的方法还有HTTP_GET:通过检测url状态进行健康判断
  connect_timeout #超时时间,单位是秒
  nb_get_retry #重连次数
  delay_before_retry #重连间隔时间
  connect_port #检测端口
}
}
real_server 192.168.80.103 { # 指定real server2的IP地址
weight # 配置节点权值,数字越大权重越高
TCP_CHECK {
  connect_timeout
  nb_get_retry
  delay_before_retry
  connect_port
}
}
}

Real Server

配置脚本:realserver.sh

SNS_VIP=192.168.80.200
/etc/rc.d/init.d/functions
case "$1" in
start)
ifconfig lo: $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
/sbin/route add -host $SNS_VIP dev lo:
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
sysctl -p >/dev/null >&
echo "RealServer Start OK"
;;
stop)
ifconfig lo: down
route del $SNS_VIP >/dev/null >&
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
echo "RealServer Stoped"
;;
*)
echo "Usage: $0 {start|stop}"
exit
esac
exit

[转]LVS+Keepalived负载均衡配置的更多相关文章

  1. LVS+Keepalived负载均衡配置

    简介 lvs一般是和keepalived一起组合使用的,虽然也可以单独使用lvs,但配置比较繁琐,且可用性也没有前者高. lvs和keepalived组合使用后,配置lvs的VIP和负载均衡就都在ke ...

  2. 搭建LVS+Keepalived负载均衡集群

    这两天学习了LVS+Keepalived负载均衡的搭建.网上的教程非常多,可是动起手来遇到不少问题. 如今把自己的搭建过程以及遇到的一些问题给分享下. 硬件环境: Macbook 8G内存.250G ...

  3. (转)CentOS7 搭建LVS+keepalived负载均衡(一)

    原文:http://blog.csdn.net/u012852986/article/details/52386306 CentOS7 搭建LVS+keepalived负载均衡(一) CentOS7 ...

  4. linux 负载均衡配置 keepalive lvs 使用nginx转发 CentOS7 搭建LVS+keepalived负载均衡

    最近希望能够配置一下负载均衡,在虚拟机上面,但是网上找了很多资料很零散,对于不了解的人,很多不够详细,最近终于做好了,把具体的步骤写下来,方便各位网友查阅学习 这个实验需要安装nginx如果没有安装过 ...

  5. LVS+keepalived负载均衡

    背景:         随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司如何有效节约成本,节省不必要的浪费?同时实现商业硬件一样的高 ...

  6. LVS+keepalived负载均衡实战

    1 首先安装虚拟机 安装系统 这里 配置两台虚拟机 1:192.168.137.102   2:192.168.137.103 分别安装tomcat 默认80端口,同时都是开启状态 配置192.168 ...

  7. lvs+keepalived 负载均衡

    LVS是一个开源的软件,可以实现LINUX平台下的简单负载均衡.LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器.目前有三种IP负 载均衡技术(VS/NAT.VS/T ...

  8. Linux CentOs集群LVS+Keepalived负载均衡的实现

    准备工作 环境:Win10下Centos6.4虚拟机. 负载均衡:两台(一主一备)  LVS + Keepalived. HTTP服务器:3台. 给每台服务器配置IP 1.VIP(virtual ip ...

  9. MySQL 高可用:mysql+Lvs+Keepalived 负载均衡及故障转移

    系统信息: mysql主库 mysql从库 VIP 192.168.1.150 mysql 主主同步都设置 auto-increment-offset,auto-increment-increment ...

随机推荐

  1. Python 连接、操作数据库

    使用python3+pymysql 一.安装python3 a)         从网上下载安装吧 二.安装pymysql https://pypi.python.org/pypi/PyMySQL h ...

  2. 2017.10.1 JDBC数据库访问技术

    4.1 JDBC技术简介 4.1.1 定义 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的 java API,由一组类与接口组成,通过 ...

  3. npm run build根据不同参数打包不同环境url

    config文件夹下 dev.env.js中修改代码 'use strict' const merge = require('webpack-merge') const prodEnv = requi ...

  4. poj_1320_Street Numbers

    A computer programmer lives in a street with houses numbered consecutively (from 1) down one side of ...

  5. Linux问题分析或解决_ssh无法连接

    1. ldd - 检查依赖库是否存在问题 问题:ssh连接不上,之前一直没有问题,最近别人安装了其他桌面(系统Ubuntu) 解决: 查看进程,发现没有启动 ps -ef | grep ssh 重新安 ...

  6. python中enumerate函数使用

    enumerate()说明 enumerate()是python的内置函数 enumerate在字典上是枚举.列举的意思 对于一个可迭代的(iterable)/可遍历的对象(如列表.字符串),enum ...

  7. JAVA / MySql 编程—— 第一章 数据库的设计

     1.        数据库设计:将数据库中的数据实体及这些数据实体之间的关系进行规划和结构化的过程: 良好的数据库设计: 节省数据的存储空间 能够保证数据的完整性 方便进行数据库应用系统的开发 糟糕 ...

  8. ethereum(以太坊)(十)--函数修饰符

    pragma solidity ^0.4.0; contract modifierTest{ uint public v1; uint constant v2 =10; //uint constant ...

  9. HAN模型理解1

    HAN 模型 最开始看这个模型是看的这个解释: RNN+Attention(HAN) 文本分类 阅读笔记 - 今天做作业没的文章 - 知乎 https://zhuanlan.zhihu.com/p/4 ...

  10. Python学习笔记:Matplotlib(数据可视化)

    Matplotlib是一个可以将数据绘制为图形表示的Python三方库,包括线性图(折线图,函数图).柱形图.饼图等基础而直观的图形,在平常的开发当中需要绘图时就非常有用了. 安装:pip insta ...