#全局定义部分global_defs {notification_email { #设置报警邮件地址,可以设置多个acassen@firewall.loc #每行一个。注意,如果要开启邮件报警failover@firewall.loc #需要开启本机的 Sendmail 服务sysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.loc #设置邮件的发送地址smtp_server 127.0.0.1 #设置smtp server地址smtp_connect_timeout 30 #设置连接 smtp server 的超时时间router_id node_05 #表示运行 Keepalived服务器的一个标识。发邮件时显示在邮件主题中的信息}#vrrp 实例定义部分vrrp_instance VI_1 {state MASTER #指定 Keepalived 的角色,MASTER表示此主机是主服务器,BACKUP表示此主机是备用服务器.interface eth0 #指定监测网络的接口virtual_router_id 51 #虚拟路由标识,这个标识是一个数字,同一个 vrrp 实例使用唯一的标识,即同一个vrrp_instance下,MASTER和BACKUP 必须是一致的priority 100 #定义优先级,数字越大,优先级越高。在一个vrrp_instance下,MASTER的优先级必须大于BACKUP的优先级advert_int 1 #设定MASTER与BACKUP 负载均衡器之间同步检查的时间间隔,单位是秒authentication { #设定验证类型和密码auth_type PASS #设置验证类型,主要有PASS和AH两种auth_pass 1111 #设置验证密码,在一个vrrp_instance下,MASTER与BACKUP 必须使用相同的密码才能正常通信}virtual_ipaddress {10.0.5.155 #设置虚拟IP地址,可以设置多个虚拟IP地址,每行一个}}vrrp_instance VI_2 {state BACKUPinterface eth0virtual_router_id 52priority 60advert_int 1authentication {auth_type PASSauth_pass 2222}virtual_ipaddress {10.0.5.156}}#虚拟服务器定义部分virtual_server 10.0.5.155 80 { #设置虚拟服务器,需要指定虚拟IP地址和服务端口IP与端口之间用空格隔开delay_loop 6 #设置健康检查的时间间隔,单位是秒lb_algo rr #设置负载调度算法,这里设置为rr,即轮询算法lb_kind DR #设置LVS实现负载均衡的机制,有 NAT、TUN和DR三个模式可选nat_mask 255.255.255.0persistence_timeout 0#会话保持时间,单位是秒。这个选项对动态网页是非常有用的,为集群系统中的 session共享提供了一个很好的解决方案。有了这个会话保持功能,用户的请求会被一直分发到某个服务节点,直到超过这个会话的保持时间。需要注意的是,这个会话保持时间是最大无响应超时时间,也就是说,用户在操作动态页面时,如果在 50秒内没有执行任何操作,那么接下来的操作会被分发到另外节点,但是如果用户一直在操作动态页面,则不受50秒的时间限制。protocol TCP #指定转发协议类型,有TCP和UDP两种#sorry_server 127.0.0.1 80real_server 10.0.5.153 80 { #配置服务节点 1,需要指定 real server的真实IP地址和端口,IP与端口之间用空格隔开weight 1#配置服务节点的权值,权值大小用数字表示,数字越大,权值越高,设置权值的大小可以为不同性能的服务器分配不同的负载,可以为性能高的服务器设置较高的权值,而为性能较低的服务器设置相对较低的权值,这样才能合理地利用和分配了系统资源TCP_CHECK { #realserve的状态检测设置部分,单位是秒connect_timeout 3 #表示3秒无响应超时nb_get_retry 3 #表示重试次数delay_before_retry 3 #表示重试间隔connect_port 80 #检查80端口}}real_server 10.0.5.154 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 80}}}virtual_server 10.0.5.156 80 {delay_loop 6lb_algo rrlb_kind DRnat_mask 255.255.255.0persistence_timeout 0protocol TCP#sorry_server 127.0.0.1 80real_server 10.0.5.153 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 80}}real_server 10.0.5.154 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 80}}}
global_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 127.0.0.1smtp_connect_timeout 30router_id node_05}vrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 51priority 60advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {10.0.5.155}}vrrp_instance VI_2 {state MASTERinterface eth0virtual_router_id 52priority 100advert_int 1authentication {auth_type PASSauth_pass 2222}virtual_ipaddress {10.0.5.156}}virtual_server 10.0.5.155 80 {delay_loop 6lb_algo rrlb_kind DRnat_mask 255.255.255.0persistence_timeout 0protocol TCP#sorry_server 127.0.0.1 80real_server 10.0.5.153 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 80}}real_server 10.0.5.154 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 80}}}virtual_server 10.0.5.156 80 {delay_loop 6lb_algo rrlb_kind DRnat_mask 255.255.255.0persistence_timeout 0protocol TCP#sorry_server 127.0.0.1 80real_server 10.0.5.153 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 80}}real_server 10.0.5.154 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 80}}}
#!/bin/bashsh /etc/rc.d/init.d/functionsVIP1=10.0.5.155VIP2=10.0.5.156case “$1” instart)ifconfig lo:1 $VIP1 netmask 255.255.255.255 broadcast $VIP1/sbin/route add -host $VIP1 dev lo:1ifconfig lo:2 $VIP2 netmask 255.255.255.255 broadcast $VIP2/sbin/route add -host $VIP2 dev lo:2echo “1” >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho “2” >/proc/sys/net/ipv4/conf/lo/arp_announceecho “1” >/proc/sys/net/ipv4/conf/all/arp_ignoreecho “2” >/proc/sys/net/ipv4/conf/all/arp_announcesysctl -p >/dev/null 2>&1echo “Real Server Start OK”;;stop)ifconfig lo:1 downroute del $VIP1 >/dev/null 2>&1ifconfig lo:2 downroute del $VIP2 >/dev/null 2>&1echo “0” >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho “0” >/proc/sys/net/ipv4/conf/lo/arp_announceecho “0” >/proc/sys/net/ipv4/conf/all/arp_ignoreecho “0” >/proc/sys/net/ipv4/conf/all/arp_announceecho “Real Server Stoped”;;status)status1=`/sbin/ifconfig lo:1 | grep $VIP1`status2=`netstat -rn | grep “lo:1” | grep $VIP1`if [ ! “$status1” -o ! “status2” ];thenecho “Lvs-DR real server Stopped.”elseecho “LVS-DR Running.”fistatus1=`/sbin/ifconfig lo:2 | grep $VIP2`status2=`netstat -rn | grep “lo:2” | grep $VIP2`if [ ! “$status1” -o ! “status2” ];thenecho “LVS-DR real server Stopped.”elseecho “LVS-DR Running.”fi;;*)# Invalid entry.echo “$0: Usage: $0 {start|status|stop}”exit 1;;esacexit 0
lvs+keepalived+ipvsadm 完整搭建笔记的更多相关文章
-
LVS+Keepalived(DR模式)学习笔记
1.简述 在互联网的中型项目中,单服务器往往已经无法满足业务本身的性能要求,这时候就会平行扩展,把负载分摊到数台服务器上(集群).一般实现集群有DNS轮询,LVS,nginx负载均衡. 集群主要目的包 ...
-
LVS小型系统架构搭建笔记
搭建环境说明 本次实现用到了6台节点,实现一个小型的Lvs负载调度 节点1客户端配置代表互联网用户 [root@centos7 network-scripts]# vi ifcfg-ens37 TYP ...
-
虚拟集群LVS及DR模式搭建笔记
LVS(虚拟集群Linux Virtual Server) LVS-NAT:地址转换,数据包来回都要经过NAT转换,所以Director Server(即LVS服务器)将成为系统瓶颈.使用NAT模式将 ...
-
LVS+keepalived实现负载均衡
背景: 随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司如何有效节约成本,节省不必要 的浪费?同时实现商业硬件一样的 ...
-
LVS+keepalived负载均衡
背景: 随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司如何有效节约成本,节省不必要的浪费?同时实现商业硬件一样的高 ...
-
Ubuntu构建LVS+Keepalived高可用负载均衡集群【生产环境部署】
1.环境说明: 系统版本:Ubuntu 14.04 LVS1物理IP:14.17.64.2 初始接管VIP:14.17.64.13 LVS2物理IP:14.17.64.3 初始接管VIP:14 ...
-
CentOS7 编译安装LVS 互为主备 (实测 笔记 Centos 7.0 + ipvsadm 1.27 + keepalived 1.2.15 )
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) LVS服务器(两台): 系统:Centos7.0 64位(LVS+keepalived) LvsMaster:1 ...
-
通过LVS+Keepalived搭建高可用的负载均衡集群系统
1. 安装LVS软件 (1)安装前准备操作系统:统一采用Centos6.5版本,地址规划如下: 服务器名 IP地址 网关 虚拟设备名 虚拟ip Director Server 192.168 ...
-
Docker环境下搭建DNS LVS(keepAlived) OpenResty服务器简易集群
现在上网已经成为每个人必备的技能,打开浏览器,输入网址,回车,简单的几步就能浏览到漂亮的网页,那从请求发出到返回漂亮的页面是怎么做到的呢,我将从公司中一般的分层架构角度考虑搭建一个简易集群来实现.目标 ...
随机推荐
-
JSON 转javabean 利器
别再对着json来手写javabean啦.这个工作完全不要脑子,而且耗时. 这里给大家提供三种方式: android studio版: 万能的插件:GsonFormat 如何安装? Preferenc ...
-
docker - 设置HTTP/HTTPS 代理
背景 将docker的服务器环境切换到新的网络之后,由于服务器的internet是受限制的(需要连接配置远程代理,不能直接上网).因此,在使用docker连接docker hub 的时候,就会出错: ...
-
RabbitMQ之安装
RabbitMQ是一个消息代理.它的核心原理非常简单:接收和发送消息.你可以把它想像成一个邮局:你把信件放入邮箱,邮递员就会把信件投递到你的收件人处.在这个比喻中,RabbitMQ就扮演着邮箱.邮局以 ...
-
Vue的使用
mvc model view controller mvvm m=>model v=>view 双向数据绑定 数据在视图呈现:在表单里用v-model,在表单外用{{}},也可以用v-te ...
-
Windows下Codeblocks调试Cocos2d-x项目体验(一次失败的体验)
很久之前的一篇文章有介绍过在Ubuntu下安装Cocos2d-x3.11并使用Codeblock调试Cocos2d-x程序:http://www.cnblogs.com/moonlightpoet/p ...
-
DWARF 中的 Debug Info 格式
本周花了几天的时间来研究怎么在 breakpad [1, 2] 中加入打印函数参数的功能,以期其产生的 callstack 更具可读性,方便定位崩溃原因. 现代 ELF 中的调试信息基本是以 DWAR ...
-
opencv各种绘图 直线 矩形 圆 椭圆
画图函数 (1)直线cvLine函数 其结构 void cvLine(//画直线 CvArr* array,//画布图像 CvPoint pt1,//起始点 CvPoint pt2,//终点 CvSc ...
-
Dao层向sql语句传递多个参数
手动封装: serviceImpl层 Map<String, Object> params = new HashMap<String, Object>(2);params.pu ...
-
使用jquery的$.ajax向服务端传递中文,避免乱码的解决办法!
在js里,对中文使用下面的方法 encodeURIComponent(var) 函数 就ok了!
-
2-7-搭建DNS服务器实现域名解析
学习服务的方法: 了解服务的作用:名称,功能,特点 安装服务 配置文件的位置,端口 服务开启和关闭的脚本 修改配置文件(实战举例) 排错(从上到下,从内到外) -------------------- ...